[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] E5-2620v2 - emulation stop error

From: Radim Krčmář
Subject: Re: [Qemu-devel] E5-2620v2 - emulation stop error
Date: Thu, 26 Mar 2015 18:34:39 +0100

2015-03-26 12:36-0400, Kevin O'Connor:
> On Thu, Mar 26, 2015 at 04:58:07PM +0100, Radim Krčmář wrote:
> > Notice the 0xef.  My best hypothesis so far is that we fail at resetting
> > devices, and 0xef is LOCAL_TIMER_VECTOR from Linux before we rebooted.
> > (The bug happens at the first place that enables interrupts.)
> FYI, the "int $0x19" isn't the first place SeaBIOS will enable
> interrupts.  Each screen print (every character in the seabios banner
> and uuid string) will call the vga bios (int $0x10) with irqs enabled
> (see output.c:screenc).

Most useful, thank you.
So interrupt can't be "forgotten" there on reboot ... it's possible that
a pending timer injects it later.
(I'd like to grasp the reason behind 0xef first.)

> Also, SeaBIOS loads a default vector (f000:ff53) at 0xef which does a
> simple "iretw".

The #GP error code could help a bit here.

> Things that are unusual about the "int $0x19" call:
>   - it is likely the first place that the cpu is transitioned into
>     16bit real mode as opposed to "big real" mode.  (That is, the
>     first place interrupts are enabled with the segment limits set to
>     0xffff.)
>   - it's right after the fw/shadow.c:make_bios_readonly() call, which
>     attempts to configures the memory at 0xf0000-0x100000 as
>     read-only.  That code also issues a wbinvd() call.

(I'll wait for the trace before doing more wild guesses ...)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]