You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is some crazy interaction between the terminal, pc emulator, and the Xinu kernel. This is technically a Xinu bug (probably), but manifests in the js emulator, so I'm putting the issue here.
From the fix in #2, the problem is somewhere in the IRQ handler (programmable interrupt controller code) or how UART/serial-specific interrupts are handled/cleared.
My notes:
uart ends up in fifo mode, despite xinu saying not fifo mode
the change happens during platforminit
set_irq_func(0) (de-assert irq?) then set_irq_func(1) (assert irq?) forces transmission
presumably the js serial code expects a certain condition and Xinu is not meeting it
possibly in irq handling, but since the de-assert/assert trick works it seems more uart related
what does Xinu have to do to meet the right conditions to cause the irq to de-assert/re-assert?
The text was updated successfully, but these errors were encountered:
See #2 for the self-described hack.
There is some crazy interaction between the terminal, pc emulator, and the Xinu kernel. This is technically a Xinu bug (probably), but manifests in the js emulator, so I'm putting the issue here.
From the fix in #2, the problem is somewhere in the IRQ handler (programmable interrupt controller code) or how UART/serial-specific interrupts are handled/cleared.
My notes:
set_irq_func(0)
(de-assert irq?) thenset_irq_func(1)
(assert irq?) forces transmissionThe text was updated successfully, but these errors were encountered: