deivce interrupt 的入口在kernel/trap.c
的 devintr
函数。
5.1 Code: Console input
ns16550 uart driver 寄存器相关,每个占 1 个 byte:
LSR:
RHR:
THR:
xv6 main 函数通过kernel/console.c
中的consoleinit
函数来初始化 uart 硬件。
5.4 Timer interrupts
RISC-V 的 timer 中断需要在 machine mode 中设置,而不能在 supervisor mode 中设置。