Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jan 2019 09:58:46 -0800
From:      John Baldwin <jhb@FreeBSD.org>
To:        rgrimes@freebsd.org, Enji Cooper <yaneurabeya@gmail.com>
Cc:        Kyle Evans <kevans@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r343543 - head/sbin/bectl/tests
Message-ID:  <33683228-91fe-5956-7fd3-ce7b8947bed0@FreeBSD.org>
In-Reply-To: <201901291704.x0TH465F009223@pdx.rh.CN85.dnsmgr.net>
References:  <201901291704.x0TH465F009223@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 1/29/19 9:04 AM, Rodney W. Grimes wrote:
>>> On Jan 29, 2019, at 08:39, Kyle Evans <kevans@freebsd.org> wrote:
>> It?s probably and issue with timing and the bhyve implementation for amd64 vs i386, or something else.
> 
> There is not a i386 mode of bhyve, ie all guests run in the same 64 bit
> virtualization and no part of the hyperviser knows if the guest is
> executing 32 bit or 64 bit code.

While I doubt the i386 vs amd64 bits matter, it's not true that the hypervisor
doesn't know.  The code to handle instruction emulation has to know since it
has to walk the page tables to map guest virtual addresses to guest
physical addresses.  As a result, that part of bhyve knows about no paging
vs 32-bit paging vs PAE paging vs 64-bit paging.  (Thankfully it doesn't
have to reason about real vs protected mode as we get the faulting virtual
address which is after the hardware has handled segmentation.)

-- 
John Baldwin

                                                                            



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33683228-91fe-5956-7fd3-ce7b8947bed0>