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>