[SeaBIOS] [edk2] (PAM stuff) reset doesn't work on OVMF + SeaBIOS CSM

Gleb Natapov gleb at redhat.com
Mon Feb 18 19:31:01 CET 2013


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.



More information about the SeaBIOS mailing list