[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [edk2] (PAM stuff) reset doesn't work on OVMF + SeaBIOS
From: |
H. Peter Anvin |
Subject: |
Re: [Qemu-devel] [edk2] (PAM stuff) reset doesn't work on OVMF + SeaBIOS CSM |
Date: |
Thu, 14 Feb 2013 12:54:20 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 02/14/2013 12:41 PM, Laszlo Ersek wrote:
>
> ). cpu_reset() [target-i386/helper.c] sets CS:IP to f000:fff0, which is
> the exact address of... reset_vector() in SeaBIOS.
>
This would be a bug, but it isn't quite true.
If you look at x86_cpu_reset() you will note that it sets the code
segment base to 0xffff0000, not 0xf0000 as one could expect from the
above. This is also true of a physical x86.
As such, the *real* reset vector is at 0xfffffff0 as opposed to the
SeaBIOS vector at 0xffff0 -- this is a backwards compatibility vector
which typically just issues a real reset.
Now, if Qemu doesn't handle the distinction here correctly, that is a bug.
-hpa
Re: [Qemu-devel] (PAM stuff) reset doesn't work on OVMF + SeaBIOS CSM, David Woodhouse, 2013/02/14