qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [SeaBIOS] [edk2] (PAM stuff) reset doesn't work on OVMF


From: Gleb Natapov
Subject: Re: [Qemu-devel] [SeaBIOS] [edk2] (PAM stuff) reset doesn't work on OVMF + SeaBIOS CSM
Date: Mon, 18 Feb 2013 20:31:01 +0200

On Mon, Feb 18, 2013 at 07:16:25PM +0100, Laszlo Ersek wrote:
> On 02/18/13 18:45, Gleb Natapov wrote:
> > On Mon, Feb 18, 2013 at 06:12:55PM +0100, Laszlo Ersek wrote:
> 
> >> CS =f000 000f0000 0000ffff 0000f300
> >>     ^    ^        ^        ^
> >>     |    base     limit    flags
> >>     selector
> >>
> > This is because real mode is emulated as vm86 mode on intel cpus without
> > "unrestricted guest" flag.
> 
> Awesome, this supports my desperate hunch in
> <http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg02689.html>.
> I hope David can confirm in practice!
>
Laszlo explained to me that the problem is that after reset we end up
in SeaBIOS reset code instead of OVMF one. This is because kvm starts
to execute from ffff0 instead of fffffff0 after reset and this memory
location is modifying during CSM loading. Seabios solves this problem
by detecting reset condition and copying pristine image of itself from
the end of 4G to the end of 1M. OVMF should do the same, but with CSM
it does not get control back after reset since Seabios reset vector is
executed instead. Why not put OVMF reset code at reset vector in CSM
built SeaBIOS to solve the problem?

--
                        Gleb.



reply via email to

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