[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