hv: remove cr3 handling from cr_access_vmexit_handler

Guest CR3 read/write operations are not trapped.
Remove CR3 handling in cr_access_vmexit_handler.
Also remove unused API vmx_read_cr3.

Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
Binbin Wu 2018-05-28 14:05:54 +08:00 committed by lijinxia
parent 2df7b96a23
commit fb1248e5d9
3 changed files with 0 additions and 21 deletions

View File

@ -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) */

View File

@ -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 */

View File

@ -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);