KVM: remove realmode_lmsw function.
Use (get|set)_cr callback to emulate lmsw inside emulator. Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
52a4661737
commit
93a152be5a
|
@ -583,8 +583,6 @@ int emulate_instruction(struct kvm_vcpu *vcpu,
|
|||
void kvm_report_emulation_failure(struct kvm_vcpu *cvpu, const char *context);
|
||||
void realmode_lgdt(struct kvm_vcpu *vcpu, u16 size, unsigned long address);
|
||||
void realmode_lidt(struct kvm_vcpu *vcpu, u16 size, unsigned long address);
|
||||
void realmode_lmsw(struct kvm_vcpu *vcpu, unsigned long msw,
|
||||
unsigned long *rflags);
|
||||
|
||||
void kvm_enable_efer_bits(u64);
|
||||
int kvm_get_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *data);
|
||||
|
|
|
@ -2486,8 +2486,8 @@ twobyte_insn:
|
|||
c->dst.val = ops->get_cr(0, ctxt->vcpu);
|
||||
break;
|
||||
case 6: /* lmsw */
|
||||
realmode_lmsw(ctxt->vcpu, (u16)c->src.val,
|
||||
&ctxt->eflags);
|
||||
ops->set_cr(0, (ops->get_cr(0, ctxt->vcpu) & ~0x0ful) |
|
||||
(c->src.val & 0x0f), ctxt->vcpu);
|
||||
c->dst.type = OP_NONE;
|
||||
break;
|
||||
case 7: /* invlpg*/
|
||||
|
|
|
@ -4098,13 +4098,6 @@ void realmode_lidt(struct kvm_vcpu *vcpu, u16 limit, unsigned long base)
|
|||
kvm_x86_ops->set_idt(vcpu, &dt);
|
||||
}
|
||||
|
||||
void realmode_lmsw(struct kvm_vcpu *vcpu, unsigned long msw,
|
||||
unsigned long *rflags)
|
||||
{
|
||||
kvm_lmsw(vcpu, msw);
|
||||
*rflags = kvm_get_rflags(vcpu);
|
||||
}
|
||||
|
||||
static int move_to_next_stateful_cpuid_entry(struct kvm_vcpu *vcpu, int i)
|
||||
{
|
||||
struct kvm_cpuid_entry2 *e = &vcpu->arch.cpuid_entries[i];
|
||||
|
|
Loading…
Reference in New Issue