Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make sure hack doesn't stick around #6

Open
mjschultz opened this issue Aug 3, 2013 · 0 comments
Open

Make sure hack doesn't stick around #6

mjschultz opened this issue Aug 3, 2013 · 0 comments
Labels

Comments

@mjschultz
Copy link
Contributor

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:

  • 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?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant