[SeaBIOS] [RFC PATCH v3 0/3] Add segment limit checks to emulator
Kevin O'Connor
kevin at koconnor.net
Sun Jul 25 20:55:31 CEST 2010
On Sun, Jul 25, 2010 at 09:34:38PM +0300, Avi Kivity wrote:
> On 07/25/2010 08:19 PM, Kevin O'Connor wrote:
> >Only the ljmpw is in big real mode with a code address>64K - the
> >"Disable protected mode" code is technically in 16bit protected mode.
> >I'm not sure if that helps explain why it works.
>
> What happens is kvm enters real mode with cs.limit=0xffff, the
> guest #GPs due to segment limit violation, and enters the emulator,
> which emulates the far jump correctly.
>
> So this works, and will continue to work even after we fix limit
> checking. It's still cleaner IMO to use normal code segments.
Makes sense. I committed the patch that avoids this behavior to
SeaBIOS git.
-Kevin
More information about the SeaBIOS
mailing list