diff options
author | 开恒 <kaihuan.pkh@alibaba-inc.com> | 2019-07-12 17:26:52 +0800 |
---|---|---|
committer | Paolo Bonzini <bonzini@gnu.org> | 2019-07-12 15:57:36 +0200 |
commit | ab6d7ee29d95ecee28190644f8d001b08d480b34 (patch) | |
tree | b14b2fab499b5312669081a8c65048d1919de408 /include | |
parent | 295dd902155035151caae3e4db3f41c8deebba34 (diff) | |
download | qboot-ab6d7ee29d95ecee28190644f8d001b08d480b34.zip qboot-ab6d7ee29d95ecee28190644f8d001b08d480b34.tar.gz qboot-ab6d7ee29d95ecee28190644f8d001b08d480b34.tar.bz2 |
bug fix for setup_idt
the setup_idt() has not configured default ISR for all interrupt.
CPU lookup IVT and set 0x0:0x0 (cs:ip) as interrupt handler entry
when received an unexpected interrupt which not setup ISR via
set_realmode_int in setup_idt().
howerver, the 0x0:0x0 point to IVT-self and executing it caused
invalid opcode exception, which the interrupt vector is 6, and the
handler bios_intfake not fixing this problem, this makes CPU run
into a infinite loop.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions