KVM: SVM: Emulate read/write access to cr8
This patch adds code to emulate the access to the cr8 register to the x86 instruction emulator in kvm. This is needed on svm, where there is no hardware decode for control register access. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Markus Rechberger <markus.rechberger@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
e5314067f6
commit
152ff9be2e
|
@ -2236,6 +2236,8 @@ unsigned long realmode_get_cr(struct kvm_vcpu *vcpu, int cr)
|
|||
return vcpu->cr3;
|
||||
case 4:
|
||||
return vcpu->cr4;
|
||||
case 8:
|
||||
return get_cr8(vcpu);
|
||||
default:
|
||||
vcpu_printf(vcpu, "%s: unexpected cr %u\n", __FUNCTION__, cr);
|
||||
return 0;
|
||||
|
@ -2259,6 +2261,9 @@ void realmode_set_cr(struct kvm_vcpu *vcpu, int cr, unsigned long val,
|
|||
case 4:
|
||||
set_cr4(vcpu, mk_cr_64(vcpu->cr4, val));
|
||||
break;
|
||||
case 8:
|
||||
set_cr8(vcpu, val & 0xfUL);
|
||||
break;
|
||||
default:
|
||||
vcpu_printf(vcpu, "%s: unexpected cr %u\n", __FUNCTION__, cr);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue