projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b723363
)
KVM: VMX: do not overwrite uptodate vcpu->arch.cr3 on KVM_SET_SREGS
author
Marcelo Tosatti
<
[email protected]
>
Mon, 6 Jun 2011 17:27:47 +0000
(14:27 -0300)
committer
Avi Kivity
<
[email protected]
>
Sun, 19 Jun 2011 16:23:13 +0000
(19:23 +0300)
Only decache guest CR3 value if vcpu->arch.cr3 is stale.
Fixes loadvm with live guest.
Signed-off-by: Marcelo Tosatti <
[email protected]
>
Tested-by: Markus Schade <
[email protected]
>
Signed-off-by: Avi Kivity <
[email protected]
>
arch/x86/kvm/vmx.c
patch
|
blob
|
history
diff --git
a/arch/x86/kvm/vmx.c
b/arch/x86/kvm/vmx.c
index 4c3fa0f6746970cef9bb5d26e5808d8bbdabcb1f..d48ec60ea421a8211271195db0193bc42a9a7532 100644
(file)
--- a/
arch/x86/kvm/vmx.c
+++ b/
arch/x86/kvm/vmx.c
@@
-2047,7
+2047,8
@@
static void ept_update_paging_mode_cr0(unsigned long *hw_cr0,
unsigned long cr0,
struct kvm_vcpu *vcpu)
{
- vmx_decache_cr3(vcpu);
+ if (!test_bit(VCPU_EXREG_CR3, (ulong *)&vcpu->arch.regs_avail))
+ vmx_decache_cr3(vcpu);
if (!(cr0 & X86_CR0_PG)) {
/* From paging/starting to nonpaging */
vmcs_write32(CPU_BASED_VM_EXEC_CONTROL,