diff options
-rw-r--r-- | arch/arm/kvm/emulate.c | 4 | ||||
-rw-r--r-- | arch/arm64/kvm/Makefile | 3 | ||||
-rw-r--r-- | virt/kvm/arm/aarch32.c (renamed from arch/arm64/kvm/emulate.c) | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/arch/arm/kvm/emulate.c b/arch/arm/kvm/emulate.c index af93e3ffc9f3..eda9ddd03e7c 100644 --- a/arch/arm/kvm/emulate.c +++ b/arch/arm/kvm/emulate.c | |||
@@ -221,9 +221,7 @@ static void kvm_adjust_itstate(struct kvm_vcpu *vcpu) | |||
221 | unsigned long cpsr = *vcpu_cpsr(vcpu); | 221 | unsigned long cpsr = *vcpu_cpsr(vcpu); |
222 | bool is_arm = !(cpsr & PSR_T_BIT); | 222 | bool is_arm = !(cpsr & PSR_T_BIT); |
223 | 223 | ||
224 | BUG_ON(is_arm && (cpsr & PSR_IT_MASK)); | 224 | if (is_arm || !(cpsr & PSR_IT_MASK)) |
225 | |||
226 | if (!(cpsr & PSR_IT_MASK)) | ||
227 | return; | 225 | return; |
228 | 226 | ||
229 | cond = (cpsr & 0xe000) >> 13; | 227 | cond = (cpsr & 0xe000) >> 13; |
diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile index 695eb3c7ef41..d50a82a16ff6 100644 --- a/arch/arm64/kvm/Makefile +++ b/arch/arm64/kvm/Makefile | |||
@@ -16,9 +16,10 @@ kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/e | |||
16 | kvm-$(CONFIG_KVM_ARM_HOST) += $(ARM)/arm.o $(ARM)/mmu.o $(ARM)/mmio.o | 16 | kvm-$(CONFIG_KVM_ARM_HOST) += $(ARM)/arm.o $(ARM)/mmu.o $(ARM)/mmio.o |
17 | kvm-$(CONFIG_KVM_ARM_HOST) += $(ARM)/psci.o $(ARM)/perf.o | 17 | kvm-$(CONFIG_KVM_ARM_HOST) += $(ARM)/psci.o $(ARM)/perf.o |
18 | 18 | ||
19 | kvm-$(CONFIG_KVM_ARM_HOST) += emulate.o inject_fault.o regmap.o | 19 | kvm-$(CONFIG_KVM_ARM_HOST) += inject_fault.o regmap.o |
20 | kvm-$(CONFIG_KVM_ARM_HOST) += hyp.o hyp-init.o handle_exit.o | 20 | kvm-$(CONFIG_KVM_ARM_HOST) += hyp.o hyp-init.o handle_exit.o |
21 | kvm-$(CONFIG_KVM_ARM_HOST) += guest.o debug.o reset.o sys_regs.o sys_regs_generic_v8.o | 21 | kvm-$(CONFIG_KVM_ARM_HOST) += guest.o debug.o reset.o sys_regs.o sys_regs_generic_v8.o |
22 | kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/aarch32.o | ||
22 | 23 | ||
23 | kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic.o | 24 | kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic.o |
24 | kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-init.o | 25 | kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-init.o |
diff --git a/arch/arm64/kvm/emulate.c b/virt/kvm/arm/aarch32.c index 40098adc6c76..cb02e562acb8 100644 --- a/arch/arm64/kvm/emulate.c +++ b/virt/kvm/arm/aarch32.c | |||
@@ -109,9 +109,7 @@ static void kvm_adjust_itstate(struct kvm_vcpu *vcpu) | |||
109 | unsigned long cpsr = *vcpu_cpsr(vcpu); | 109 | unsigned long cpsr = *vcpu_cpsr(vcpu); |
110 | bool is_arm = !(cpsr & COMPAT_PSR_T_BIT); | 110 | bool is_arm = !(cpsr & COMPAT_PSR_T_BIT); |
111 | 111 | ||
112 | BUG_ON(is_arm && (cpsr & COMPAT_PSR_IT_MASK)); | 112 | if (is_arm || !(cpsr & COMPAT_PSR_IT_MASK)) |
113 | |||
114 | if (!(cpsr & COMPAT_PSR_IT_MASK)) | ||
115 | return; | 113 | return; |
116 | 114 | ||
117 | cond = (cpsr & 0xe000) >> 13; | 115 | cond = (cpsr & 0xe000) >> 13; |