On Mon, 2013-02-18 at 14:00 -0500, 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.
Well, what SeaBIOS already *does* is bash on the keyboard controller to cause a reset. Which *ought* to work too; I have a patch to at least fix *that*, by resetting the PAM setup in the i440. But yes, KVM definitely ought to be running at 0xfffffff0. This is the *vm86* code that's broken, not the native KVM version. -- dwmw2
smime.p7s
Description: S/MIME cryptographic signature