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

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

From: Laszlo Ersek <>

To: "Kevin O'Connor" <>, Gleb Natapov <>, David Woodhouse <>

Date: 2013-02-19 04:39:34

On 02/18/13 20:09, Laszlo Ersek wrote:
> On 02/18/13 20:00, Kevin O'Connor wrote:
>> On Mon, Feb 18, 2013 at 08:31:01PM +0200, Gleb Natapov wrote:
>>> 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?
>> Why not fix KVM so that it runs at fffffff0 after reset?
>> The only thing SeaBIOS could do is setup the segment registers and
>> then jump to fffffff0, which is a bit of work for the same end result.
> Gleb told me to test under a kvm/next host kernel; there have been many
> real-mode related commits. I'll report back.

I built a host kernel from
, currently
at commit cbd29cb6.

The guest reboot works now. :)

Thanks all!

The Go Parallel Website, sponsored by Intel - in partnership with Geeknet, 
is your hub for all things parallel software development, from weekly thought 
leadership blogs to news, videos, case studies, tutorials, tech docs, 
whitepapers, evaluation guides, and opinion stories. Check out the most 
recent posts - join the conversation now.
edk2-devel mailing list