OS-6636: EPT misconfiguration under VMWare Fusion

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-02-20T18:07:21.745Z)

Fix Versions

2018-03-15 Nibelheim (Release Date: 2018-03-15)

Related Issues

Related Links

Description

I was failing to get dev-bhyve working at all under VMWare:

        zhyve_args = zhyve -H -B 1,product=SmartDC HVM -s 1,lpc -l bootrom,/usr/share/bhyve/BHYVE_UEFI_CSM.fd -l com1,/dev/zconsole -l com2,socket,/tmp/vm.ttyb -c 2 -m 1024 -s 3:0,virtio-blk,/dev/zvol/rdsk/zones/6dbcd648-c4e7-cdcf-e53c-998a832a4c48-disk0 -s 5:0,virtio-net-viona,net0 -S SYSbhyve-5
vm exit[0]
        reason          VMX
        rip             0x000000000000fff0
        inst_length     0
        status          0
        exit_reason     49
        qualification   0x0000000000000000
        inst_type               0
        inst_error              0
        EPT misconfiguration:
                GPA: 0xfffffff0
                PTE(0): 0 0 0 0

(Currently we don't have code to dump the relevant EPT PT entries, so ignore those zeros.)

But walking through the EPT myself, all was good. A chance Google found:

https://communities.vmware.com/thread/548640

Namely, bit 7 of the level 0 PTE should be ignored, but VMWare Fusion incorrectly consider this a mis-configuration.

Despite the age of that post, this apparently still isn't fixed in my version of Fusion.

We need to make sure to clear EPT_MAP in the level 0 PTE.

Comments

Comment by John Levon
Created at 2018-02-16T09:42:18.354Z
My VMWare Fusion version is 8.5.3 (4696910)

Comment by Jira Bot
Created at 2018-03-08T19:45:02.239Z
illumos-joyent commit 2773630b0f4d38c9bd840ac5c03dbdbb2ba2ad61 (branch master, by John Levon)

OS-6636 EPT misconfiguration under VMWare Fusion
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Approved by: Patrick Mooney <patrick.mooney@joyent.com>