[SeaBIOS] seabios hangs when injecting an MSI-X interrupt in early booting.

Kevin O'Connor kevin at koconnor.net
Tue Mar 27 17:12:26 CEST 2018


On Tue, Mar 27, 2018 at 10:08:20AM +0800, Zhe Liu wrote:
> Dear Kevin,
>     Thanks for getting back to me. Your replay helps me a lot. And there
> are two things I want to make clear.
>     1. > The real-mode handlers installed at 0x60-0x66 are intended for
> software interrupts.
> During the booting of the vm seabios, which modules will raise the software
> interrupts? (Qemu? KVM? VirtualMachine?)

Software interrupts are for guest software to raise and interally
catch.  Some old DOS-era software does this.

>     2. In src/post.c: init_ivt, the handlers for 0x60-0x66 is set to none
> as below.
>     for (i=0x60; i<=0x66; i++)
>         SET_IVT(i, SEGOFF(0, 0));
>     If I change the handlers of 0x60-0x66 to default handler, which is
> "iret" directly, is there some side effects?

It might break some old DOS-era software.

Notably, though, if something external is raising random interrupts,
it's likely going to cause havoc with both modern and old software.

-Kevin



More information about the SeaBIOS mailing list