vmcs
vmcs_initialize(struct vmcs *vmcs, uintptr_t vmcs_pa)
vmcs->identifier = VMX_BASIC_REVISION(rdmsr(MSR_VMX_BASIC));
CTASSERT(sizeof (struct vmcs) == PAGE_SIZE);
void vmcs_initialize(struct vmcs *vmcs, uintptr_t vmcs_pa);
vmx->vmcs_pa[i] = (uintptr_t)vtophys(&vmx->vmcs[i]);
vmcs_initialize(&vmx->vmcs[i], vmx->vmcs_pa[i]);
struct vmcs vmcs[VM_MAXCPU]; /* one vmcs per virtual cpu */
CTASSERT((offsetof(struct vmx, vmcs) & PAGE_MASK) == 0);