On 10/17/2010 12:06 PM, Nadav Har'El wrote:
An implementation of VMX needs to define a VMCS structure. This structure is kept in guest memory, but is opaque to the guest (who can only read or write it with VMX instructions). This patch starts to define the VMCS structure which our nested VMX implementation will present to L1. We call it "vmcs12", as it is the VMCS that L1 keeps for its L2 guests. We will add more content to this structure in later patches. This patch also adds the notion (as required by the VMX spec) of L1's "current VMCS", and finally includes utility functions for mapping the guest-allocated VMCSs in host memory. @@ -3467,6 +3521,11 @@ static int handle_vmoff(struct kvm_vcpu to_vmx(vcpu)->nested.vmxon = false; + if(to_vmx(vcpu)->nested.current_vmptr != -1ull){
Missing whitespace after if and before {.
+ kunmap(to_vmx(vcpu)->nested.current_vmcs12_page); + nested_release_page(to_vmx(vcpu)->nested.current_vmcs12_page); + } + skip_emulated_instruction(vcpu); return 1; } @@ -4170,6 +4229,10 @@ static void vmx_free_vcpu(struct kvm_vcp struct vcpu_vmx *vmx = to_vmx(vcpu); free_vpid(vmx); + if (vmx->nested.vmxon&& to_vmx(vcpu)->nested.current_vmptr != -1ull){ + kunmap(to_vmx(vcpu)->nested.current_vmcs12_page); + nested_release_page(to_vmx(vcpu)->nested.current_vmcs12_page); + }
Duplication - helper? -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html