Gregory Haskins wrote:
> Signed-off-by: Gregory Haskins <[EMAIL PROTECTED]>
> ---
>
> drivers/kvm/vmx.c | 71
> +++++++++++++++++++++++++++++++++++++++++++---------- 1 files
changed, 58
> insertions(+), 13 deletions(-)
>
> diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
> index 96837d6..86f1eea 100644
> --- a/drivers/kvm/vmx.c
> +++ b/drivers/kvm/vmx.c
> @@ -191,6 +191,20 @@ static struct kvm_msr_entry
*find_msr_entry(struct
> kvm_vcpu *vcpu, u32 msr) return NULL;
> }
>
> +static void vmcs_load(struct vmcs *vmcs)
> +{
> + u64 phys_addr = __pa(vmcs);
> + u8 error;
> +
> + asm volatile (ASM_VMX_VMPTRLD_RAX "; setna %0"
> + : "=g"(error) : "a"(&phys_addr), "m"(phys_addr)
> + : "cc");
> +
> + if (error)
> + printk(KERN_ERR "kvm: vmptrld %p/%llx fail\n",
> + vmcs, phys_addr);
> +}
I don't believe this instruction fails under normal conditions, but we
should terminate the guest cleanly in such cases, rather than just doing
printk().
Jun
---
Intel Open Source Technology Center
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel