debug(boot): sti 后软件触发 int 0x20,二分定位中断不送达
APIC LINT0=EXTINT 已配置但仍无定时中断。加 int 0x20(向量 32)软件触发: - 有 T → IDT gate 32 正常,问题在 PIT/PIC 硬件送达 - 无 T → IDT/lidt 问题 用后移除。
This commit is contained in:
1 parent
9ec3627a5a
commit
3c163a5936
1 file changed
+5
@@ -81,6 +81,11 @@ class ViperKernel:
|
||||
asm.sti()
|
||||
serial.puts("[main] sti done\n")
|
||||
|
||||
# [DBG] 软件触发向量 32:验证 IDT gate 是否生效(用后移除)
|
||||
# 有 "T" → IDT 正常,问题在 PIT/PIC 硬件送达;无 "T" → IDT/lidt 问题
|
||||
c.Asm("int 0x20", op=[t.ASM_DESCR.CLOBBER_MEMORY])
|
||||
serial.puts("[main] int20 test done\n")
|
||||
|
||||
timer.timer_msleep(100)
|
||||
serial.puts("[main] msleep done\n")
|
||||
rtc.rtc_init()
|
||||
|
||||
Reference in new issue
Block a user