3 ms·
here was me hoping in such a modern langauge, perhaps someone would finally have a good APIC example. alas :D back to the 80s it is. :D it's ok i'll go back to
by vectorEQ 8y ago
here was me hoping in such a modern langauge, perhaps someone would finally have a good APIC example. alas :D back to the 80s it is. :D it's ok i'll go back to my acpi document and try not to cry :D !
(cool series! keep it up!!)
- orbifold 8y agoYou can check out the xv6 64bit port by Brian Swetland. It contains code for handling the APIC https://github.com/swetland/xv6/blob/master/kernel/lapic.c https://github.com/swetland/xv6/blob/master/kernel/lapic.c / https://github.com/swetland/xv6/blob/master/kernel/ioapic.c https://github.com/swetland/xv6/blob/master/kernel/ioapic.c and getting multiprocessing to work in 64bit. Pretty concise and nice code. He's now one of the contributors to Fuchsia.
- ModernMech 8y agoI believe Redox has already implemented it in Rust here: https://gitlab.redox-os.org/redox-os/kernel/blob/master/src/arch/x86_64/device/local_apic.rs https://gitlab.redox-os.org/redox-os/kernel/blob/master/src/...
- bgilroy26 8y ago>What's next? >As already mentioned, the 8259 APIC has been superseded by the APIC, a controller with more >capabilities and multicore support. In the next post we will explore this controller and learn how to >use its integrated timer and how to set interrupt priorities.