On 1/29/19 9:04 AM, Rodney W. Grimes wrote: >>> On Jan 29, 2019, at 08:39, Kyle Evans <kev...@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 _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"