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

UART 16550 under x86_64 interrupts cause triple fault on baremetal under x86_64 #36

Open
Qix- opened this issue Jan 18, 2025 · 0 comments
Labels
baremetal Issues specific to the operation of the kernel on real hardware (bare metal) x86_64 Relates to the x86_64 architecture

Comments

@Qix-
Copy link
Member

Qix- commented Jan 18, 2025

Serial communication works as expected under baremetal as long as the UART's external interrupts are not enabled.

I currently suspect this was found out when connecting a sort of turnkey serial debugger to the machine and it was sending back something on the mobo's RX line, causing a data interrupt to be fired - but early on in the execution of things, a proper IDT is not set up (even a temporary one). One should absolutely be set up (even the "main" kernel's IDT is not very fleshed out) but the workaround for the moment is to simply disable debug logging on baremetal.

@Qix- Qix- added this to the v0 (killswitch) milestone Jan 18, 2025
@Qix- Qix- added x86_64 Relates to the x86_64 architecture baremetal Issues specific to the operation of the kernel on real hardware (bare metal) bug and removed bug labels Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
baremetal Issues specific to the operation of the kernel on real hardware (bare metal) x86_64 Relates to the x86_64 architecture
Development

No branches or pull requests

1 participant