diff options
author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2009-06-04 18:04:08 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-06-10 04:49:00 -0400 |
commit | 56b237e31abf4d6dbc6e2a0214049b9a23be4883 (patch) | |
tree | 92a50055512d6b95331bae708de740631a04322b | |
parent | 20f65983e30f222e5383f77206e3f571d1d64610 (diff) |
KVM: VMX: Rename rmode.active to rmode.vm86_active
That way the interpretation of rmode.active becomes more clear with
unrestricted guest code.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
-rw-r--r-- | arch/x86/include/asm/kvm_host.h | 2 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 28 |
2 files changed, 15 insertions, 15 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h index 82129437e873..eabdc1cfab5c 100644 --- a/arch/x86/include/asm/kvm_host.h +++ b/arch/x86/include/asm/kvm_host.h | |||
@@ -335,7 +335,7 @@ struct kvm_vcpu_arch { | |||
335 | } interrupt; | 335 | } interrupt; |
336 | 336 | ||
337 | struct { | 337 | struct { |
338 | int active; | 338 | int vm86_active; |
339 | u8 save_iopl; | 339 | u8 save_iopl; |
340 | struct kvm_save_segment { | 340 | struct kvm_save_segment { |
341 | u16 selector; | 341 | u16 selector; |
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index fe2ce2b40504..c379a3472fa9 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c | |||
@@ -495,7 +495,7 @@ static void update_exception_bitmap(struct kvm_vcpu *vcpu) | |||
495 | if (vcpu->guest_debug & KVM_GUESTDBG_USE_SW_BP) | 495 | if (vcpu->guest_debug & KVM_GUESTDBG_USE_SW_BP) |
496 | eb |= 1u << BP_VECTOR; | 496 | eb |= 1u << BP_VECTOR; |
497 | } | 497 | } |
498 | if (vcpu->arch.rmode.active) | 498 | if (vcpu->arch.rmode.vm86_active) |
499 | eb = ~0; | 499 | eb = ~0; |
500 | if (enable_ept) | 500 | if (enable_ept) |
501 | eb &= ~(1u << PF_VECTOR); /* bypass_guest_pf = 0 */ | 501 | eb &= ~(1u << PF_VECTOR); /* bypass_guest_pf = 0 */ |
@@ -731,7 +731,7 @@ static unsigned long vmx_get_rflags(struct kvm_vcpu *vcpu) | |||
731 | 731 | ||
732 | static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags) | 732 | static void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags) |
733 | { | 733 | { |
734 | if (vcpu->arch.rmode.active) | 734 | if (vcpu->arch.rmode.vm86_active) |
735 | rflags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM; | 735 | rflags |= X86_EFLAGS_IOPL | X86_EFLAGS_VM; |
736 | vmcs_writel(GUEST_RFLAGS, rflags); | 736 | vmcs_writel(GUEST_RFLAGS, rflags); |
737 | } | 737 | } |
@@ -788,7 +788,7 @@ static void vmx_queue_exception(struct kvm_vcpu *vcpu, unsigned nr, | |||
788 | intr_info |= INTR_INFO_DELIVER_CODE_MASK; | 788 | intr_info |= INTR_INFO_DELIVER_CODE_MASK; |
789 | } | 789 | } |
790 | 790 | ||
791 | if (vcpu->arch.rmode.active) { | 791 | if (vcpu->arch.rmode.vm86_active) { |
792 | vmx->rmode.irq.pending = true; | 792 | vmx->rmode.irq.pending = true; |
793 | vmx->rmode.irq.vector = nr; | 793 | vmx->rmode.irq.vector = nr; |
794 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); | 794 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); |
@@ -1363,7 +1363,7 @@ static void enter_pmode(struct kvm_vcpu *vcpu) | |||
1363 | struct vcpu_vmx *vmx = to_vmx(vcpu); | 1363 | struct vcpu_vmx *vmx = to_vmx(vcpu); |
1364 | 1364 | ||
1365 | vmx->emulation_required = 1; | 1365 | vmx->emulation_required = 1; |
1366 | vcpu->arch.rmode.active = 0; | 1366 | vcpu->arch.rmode.vm86_active = 0; |
1367 | 1367 | ||
1368 | vmcs_writel(GUEST_TR_BASE, vcpu->arch.rmode.tr.base); | 1368 | vmcs_writel(GUEST_TR_BASE, vcpu->arch.rmode.tr.base); |
1369 | vmcs_write32(GUEST_TR_LIMIT, vcpu->arch.rmode.tr.limit); | 1369 | vmcs_write32(GUEST_TR_LIMIT, vcpu->arch.rmode.tr.limit); |
@@ -1425,7 +1425,7 @@ static void enter_rmode(struct kvm_vcpu *vcpu) | |||
1425 | struct vcpu_vmx *vmx = to_vmx(vcpu); | 1425 | struct vcpu_vmx *vmx = to_vmx(vcpu); |
1426 | 1426 | ||
1427 | vmx->emulation_required = 1; | 1427 | vmx->emulation_required = 1; |
1428 | vcpu->arch.rmode.active = 1; | 1428 | vcpu->arch.rmode.vm86_active = 1; |
1429 | 1429 | ||
1430 | vcpu->arch.rmode.tr.base = vmcs_readl(GUEST_TR_BASE); | 1430 | vcpu->arch.rmode.tr.base = vmcs_readl(GUEST_TR_BASE); |
1431 | vmcs_writel(GUEST_TR_BASE, rmode_tss_base(vcpu->kvm)); | 1431 | vmcs_writel(GUEST_TR_BASE, rmode_tss_base(vcpu->kvm)); |
@@ -1594,10 +1594,10 @@ static void vmx_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) | |||
1594 | 1594 | ||
1595 | vmx_fpu_deactivate(vcpu); | 1595 | vmx_fpu_deactivate(vcpu); |
1596 | 1596 | ||
1597 | if (vcpu->arch.rmode.active && (cr0 & X86_CR0_PE)) | 1597 | if (vcpu->arch.rmode.vm86_active && (cr0 & X86_CR0_PE)) |
1598 | enter_pmode(vcpu); | 1598 | enter_pmode(vcpu); |
1599 | 1599 | ||
1600 | if (!vcpu->arch.rmode.active && !(cr0 & X86_CR0_PE)) | 1600 | if (!vcpu->arch.rmode.vm86_active && !(cr0 & X86_CR0_PE)) |
1601 | enter_rmode(vcpu); | 1601 | enter_rmode(vcpu); |
1602 | 1602 | ||
1603 | #ifdef CONFIG_X86_64 | 1603 | #ifdef CONFIG_X86_64 |
@@ -1655,7 +1655,7 @@ static void vmx_set_cr3(struct kvm_vcpu *vcpu, unsigned long cr3) | |||
1655 | 1655 | ||
1656 | static void vmx_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) | 1656 | static void vmx_set_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) |
1657 | { | 1657 | { |
1658 | unsigned long hw_cr4 = cr4 | (vcpu->arch.rmode.active ? | 1658 | unsigned long hw_cr4 = cr4 | (vcpu->arch.rmode.vm86_active ? |
1659 | KVM_RMODE_VM_CR4_ALWAYS_ON : KVM_PMODE_VM_CR4_ALWAYS_ON); | 1659 | KVM_RMODE_VM_CR4_ALWAYS_ON : KVM_PMODE_VM_CR4_ALWAYS_ON); |
1660 | 1660 | ||
1661 | vcpu->arch.cr4 = cr4; | 1661 | vcpu->arch.cr4 = cr4; |
@@ -1738,7 +1738,7 @@ static void vmx_set_segment(struct kvm_vcpu *vcpu, | |||
1738 | struct kvm_vmx_segment_field *sf = &kvm_vmx_segment_fields[seg]; | 1738 | struct kvm_vmx_segment_field *sf = &kvm_vmx_segment_fields[seg]; |
1739 | u32 ar; | 1739 | u32 ar; |
1740 | 1740 | ||
1741 | if (vcpu->arch.rmode.active && seg == VCPU_SREG_TR) { | 1741 | if (vcpu->arch.rmode.vm86_active && seg == VCPU_SREG_TR) { |
1742 | vcpu->arch.rmode.tr.selector = var->selector; | 1742 | vcpu->arch.rmode.tr.selector = var->selector; |
1743 | vcpu->arch.rmode.tr.base = var->base; | 1743 | vcpu->arch.rmode.tr.base = var->base; |
1744 | vcpu->arch.rmode.tr.limit = var->limit; | 1744 | vcpu->arch.rmode.tr.limit = var->limit; |
@@ -1748,7 +1748,7 @@ static void vmx_set_segment(struct kvm_vcpu *vcpu, | |||
1748 | vmcs_writel(sf->base, var->base); | 1748 | vmcs_writel(sf->base, var->base); |
1749 | vmcs_write32(sf->limit, var->limit); | 1749 | vmcs_write32(sf->limit, var->limit); |
1750 | vmcs_write16(sf->selector, var->selector); | 1750 | vmcs_write16(sf->selector, var->selector); |
1751 | if (vcpu->arch.rmode.active && var->s) { | 1751 | if (vcpu->arch.rmode.vm86_active && var->s) { |
1752 | /* | 1752 | /* |
1753 | * Hack real-mode segments into vm86 compatibility. | 1753 | * Hack real-mode segments into vm86 compatibility. |
1754 | */ | 1754 | */ |
@@ -2317,7 +2317,7 @@ static int vmx_vcpu_reset(struct kvm_vcpu *vcpu) | |||
2317 | goto out; | 2317 | goto out; |
2318 | } | 2318 | } |
2319 | 2319 | ||
2320 | vmx->vcpu.arch.rmode.active = 0; | 2320 | vmx->vcpu.arch.rmode.vm86_active = 0; |
2321 | 2321 | ||
2322 | vmx->soft_vnmi_blocked = 0; | 2322 | vmx->soft_vnmi_blocked = 0; |
2323 | 2323 | ||
@@ -2455,7 +2455,7 @@ static void vmx_inject_irq(struct kvm_vcpu *vcpu) | |||
2455 | KVMTRACE_1D(INJ_VIRQ, vcpu, (u32)irq, handler); | 2455 | KVMTRACE_1D(INJ_VIRQ, vcpu, (u32)irq, handler); |
2456 | 2456 | ||
2457 | ++vcpu->stat.irq_injections; | 2457 | ++vcpu->stat.irq_injections; |
2458 | if (vcpu->arch.rmode.active) { | 2458 | if (vcpu->arch.rmode.vm86_active) { |
2459 | vmx->rmode.irq.pending = true; | 2459 | vmx->rmode.irq.pending = true; |
2460 | vmx->rmode.irq.vector = irq; | 2460 | vmx->rmode.irq.vector = irq; |
2461 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); | 2461 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); |
@@ -2493,7 +2493,7 @@ static void vmx_inject_nmi(struct kvm_vcpu *vcpu) | |||
2493 | } | 2493 | } |
2494 | 2494 | ||
2495 | ++vcpu->stat.nmi_injections; | 2495 | ++vcpu->stat.nmi_injections; |
2496 | if (vcpu->arch.rmode.active) { | 2496 | if (vcpu->arch.rmode.vm86_active) { |
2497 | vmx->rmode.irq.pending = true; | 2497 | vmx->rmode.irq.pending = true; |
2498 | vmx->rmode.irq.vector = NMI_VECTOR; | 2498 | vmx->rmode.irq.vector = NMI_VECTOR; |
2499 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); | 2499 | vmx->rmode.irq.rip = kvm_rip_read(vcpu); |
@@ -2629,7 +2629,7 @@ static int handle_exception(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run) | |||
2629 | return kvm_mmu_page_fault(vcpu, cr2, error_code); | 2629 | return kvm_mmu_page_fault(vcpu, cr2, error_code); |
2630 | } | 2630 | } |
2631 | 2631 | ||
2632 | if (vcpu->arch.rmode.active && | 2632 | if (vcpu->arch.rmode.vm86_active && |
2633 | handle_rmode_exception(vcpu, intr_info & INTR_INFO_VECTOR_MASK, | 2633 | handle_rmode_exception(vcpu, intr_info & INTR_INFO_VECTOR_MASK, |
2634 | error_code)) { | 2634 | error_code)) { |
2635 | if (vcpu->arch.halt_request) { | 2635 | if (vcpu->arch.halt_request) { |