Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2008 05:45:23 +1100
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Jeff Isaac <cineveggie.lists@gmail.com>
Cc:        freebsd-amd64@freebsd.org
Subject:   Re: "freebsd-amd64"
Message-ID:  <20080227184522.GE83599@server.vk2pj.dyndns.org>
In-Reply-To: <443D814E-04F3-411C-9DF9-E799A39FAEB3@gmail.com>
References:  <E1JULcb-0001Er-9m@dilbert.ticketswitch.com> <443D814E-04F3-411C-9DF9-E799A39FAEB3@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--k1BdFSKqAqVdu8k/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Feb 27, 2008 at 07:34:48AM -0600, Jeff Isaac wrote:
>doodle with, not BIOS), BUT, from a general knowledge perspective, what=20
>advantages does virtual 86 mode have over real mode? Essentially, why did=
=20
>the FreeBSD project choose the virtual implementation? More portable?=20
>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.

--=20
Peter Jeremy
Please excuse any delays as the result of my ISP's inability to implement
an MTA that is either RFC2821-compliant or matches their claimed behaviour.

--k1BdFSKqAqVdu8k/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQFHxa/C/opHv/APuIcRAgUeAKCTVGSNOk0mTV6OpXPdRpkg8BOVqgCfcR3q
SmeCq7J+0bGmjJ8EuWiITWg=
=dowN
-----END PGP SIGNATURE-----

--k1BdFSKqAqVdu8k/--



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