Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2008 15:28:12 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-amd64@freebsd.org
Subject:   Re: "freebsd-amd64"
Message-ID:  <200802271528.12444.jhb@freebsd.org>
In-Reply-To: <20080227184522.GE83599@server.vk2pj.dyndns.org>
References:  <E1JULcb-0001Er-9m@dilbert.ticketswitch.com> <443D814E-04F3-411C-9DF9-E799A39FAEB3@gmail.com> <20080227184522.GE83599@server.vk2pj.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 27 February 2008 01:45:23 pm Peter Jeremy wrote:
> On Wed, Feb 27, 2008 at 07:34:48AM -0600, Jeff Isaac wrote:
> >doodle with, not BIOS), BUT, from a general knowledge perspective, what 
> >advantages does virtual 86 mode have over real mode? Essentially, why did 
> >the FreeBSD project choose the virtual implementation? More portable? 
> >Easier to write? None of the above? Thanks! :)
> 
> The kernel run in 32-bit protected mode.  Switching between protected
> mode and real mode requires a reasonable degree of voodoo which does
> not currently exist in the kernel (the loader handles the initial real
> to protected transition and the kernel then never leaves protected mode).
> Plus you need to either ensure that exceptions/interrupts won't occur
> or handle them in real mode.  OTOH, virtual86 mode is part of the
> hardware - you create a task descriptor and set the VM86 bit.  Any
> exceptions etc are delivered to the kernel.

And VM86 mode was designed for running real mode code from protected mode 
safely.  The problem is that since a certain OS from the pacific northwest 
just invokes the BIOS from real mode BIOS vendors have become lazy since 
their QA usually consists of WHQL or something similar.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802271528.12444.jhb>