diff --git a/hypervisor/arch/x86/vmexit.c b/hypervisor/arch/x86/vmexit.c index 670dafcf1..732f3c67b 100644 --- a/hypervisor/arch/x86/vmexit.c +++ b/hypervisor/arch/x86/vmexit.c @@ -292,21 +292,10 @@ int cr_access_vmexit_handler(struct vcpu *vcpu) /* mov to cr0 */ vmx_write_cr0(vcpu, *regptr); break; - - case 0x03: - /* mov to cr3 */ - vmx_write_cr3(vcpu, *regptr); - break; - case 0x04: /* mov to cr4 */ vmx_write_cr4(vcpu, *regptr); break; - - case 0x13: - /* mov from cr3 */ - vmx_read_cr3(vcpu, regptr); - break; #if 0 case 0x14: /* mov from cr4 (this should not happen) */ diff --git a/hypervisor/arch/x86/vmx.c b/hypervisor/arch/x86/vmx.c index 976e3eb68..7c675d552 100644 --- a/hypervisor/arch/x86/vmx.c +++ b/hypervisor/arch/x86/vmx.c @@ -287,15 +287,6 @@ int vmx_write_cr0(struct vcpu *vcpu, uint64_t value) return 0; } -int vmx_read_cr3(struct vcpu *vcpu, uint64_t *value) -{ - *value = vcpu->arch_vcpu.contexts[vcpu->arch_vcpu.cur_context].cr3; - - pr_dbg("VMM: reading 0x%08x from CR3", *value); - - return 0; -} - int vmx_write_cr3(struct vcpu *vcpu, uint64_t value) { /* Write to guest's CR3 */ diff --git a/hypervisor/include/arch/x86/vmx.h b/hypervisor/include/arch/x86/vmx.h index 06c374ecb..05ab84f45 100644 --- a/hypervisor/include/arch/x86/vmx.h +++ b/hypervisor/include/arch/x86/vmx.h @@ -465,7 +465,6 @@ int exec_vmclear(void *addr); int exec_vmptrld(void *addr); int vmx_write_cr0(struct vcpu *vcpu, uint64_t cr0); -int vmx_read_cr3(struct vcpu *vcpu, uint64_t *cr3); int vmx_write_cr3(struct vcpu *vcpu, uint64_t cr3); int vmx_write_cr4(struct vcpu *vcpu, uint64_t cr4);