Textbooks
Lecture Readings
Required
Unix
x86
PC hardware programming
- PC bootstrap
- IDE hard drive controller -
kernel/drivers/ide.c
- VGA display -
kernel/drivers/cga.c
- Keyboard and Mouse -
kernel/drivers/keyboard.c
- 16550 UART Serial Port -
kernel/drivers/uart.c
- Advanced Configuration and Power Interface (ACPI) -
arch/x86_64/kernel/mm/pmem.c
- Advanced Programmable Interrupt Controller (APIC) -
arch/x86_64/kernel/lapic.c
, arch/x86_64/kernel/ioapic.c
- 8259/8259A Programmable Interrupt Controller (PIC) -
arch/x86_64/kernel/pic.c
- Advanced Host Controller Interface (AHCI)
- Timing