mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-07 00:56:40 +07:00
KVM: Remove pointer to rflags from realmode_set_cr parameters.
Mov reg, cr instruction doesn't change flags in any meaningful way, so no need to update rflags after instruction execution. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
af5b4f7ff7
commit
49c6799a2c
@ -587,8 +587,7 @@ void realmode_lmsw(struct kvm_vcpu *vcpu, unsigned long msw,
|
||||
unsigned long *rflags);
|
||||
|
||||
unsigned long realmode_get_cr(struct kvm_vcpu *vcpu, int cr);
|
||||
void realmode_set_cr(struct kvm_vcpu *vcpu, int cr, unsigned long value,
|
||||
unsigned long *rflags);
|
||||
void realmode_set_cr(struct kvm_vcpu *vcpu, int cr, unsigned long value);
|
||||
void kvm_enable_efer_bits(u64);
|
||||
int kvm_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *data);
|
||||
int kvm_set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data);
|
||||
|
@ -2534,8 +2534,7 @@ x86_emulate_insn(struct x86_emulate_ctxt *ctxt, struct x86_emulate_ops *ops)
|
||||
case 0x22: /* mov reg, cr */
|
||||
if (c->modrm_mod != 3)
|
||||
goto cannot_emulate;
|
||||
realmode_set_cr(ctxt->vcpu,
|
||||
c->modrm_reg, c->modrm_val, &ctxt->eflags);
|
||||
realmode_set_cr(ctxt->vcpu, c->modrm_reg, c->modrm_val);
|
||||
c->dst.type = OP_NONE;
|
||||
break;
|
||||
case 0x23: /* mov from reg to dr */
|
||||
|
@ -4080,13 +4080,11 @@ unsigned long realmode_get_cr(struct kvm_vcpu *vcpu, int cr)
|
||||
return value;
|
||||
}
|
||||
|
||||
void realmode_set_cr(struct kvm_vcpu *vcpu, int cr, unsigned long val,
|
||||
unsigned long *rflags)
|
||||
void realmode_set_cr(struct kvm_vcpu *vcpu, int cr, unsigned long val)
|
||||
{
|
||||
switch (cr) {
|
||||
case 0:
|
||||
kvm_set_cr0(vcpu, mk_cr_64(kvm_read_cr0(vcpu), val));
|
||||
*rflags = kvm_get_rflags(vcpu);
|
||||
break;
|
||||
case 2:
|
||||
vcpu->arch.cr2 = val;
|
||||
|
Loading…
Reference in New Issue
Block a user