summaryrefslogtreecommitdiff
path: root/virt/kvm/arm/hyp/aarch32.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2020-05-25 15:10:37 +0200
committerIngo Molnar <mingo@kernel.org>2020-05-25 15:10:37 +0200
commita5d8e55b2c7d3d18d7837af0ef8d1477eeeb919c (patch)
treefe07d3af2f6f13d005da832fe3d18d5d257fb9bd /virt/kvm/arm/hyp/aarch32.c
parent4da0b2b7e67524cc206067865666899bc02e1cb0 (diff)
parent9cb1fd0efd195590b828b9b865421ad345a4a145 (diff)
Merge tag 'v5.7-rc7' into efi/core, to refresh the branch and pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'virt/kvm/arm/hyp/aarch32.c')
-rw-r--r--virt/kvm/arm/hyp/aarch32.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/virt/kvm/arm/hyp/aarch32.c b/virt/kvm/arm/hyp/aarch32.c
index d31f267961e7..25c0e47d57cb 100644
--- a/virt/kvm/arm/hyp/aarch32.c
+++ b/virt/kvm/arm/hyp/aarch32.c
@@ -125,12 +125,16 @@ static void __hyp_text kvm_adjust_itstate(struct kvm_vcpu *vcpu)
*/
void __hyp_text kvm_skip_instr32(struct kvm_vcpu *vcpu, bool is_wide_instr)
{
+ u32 pc = *vcpu_pc(vcpu);
bool is_thumb;
is_thumb = !!(*vcpu_cpsr(vcpu) & PSR_AA32_T_BIT);
if (is_thumb && !is_wide_instr)
- *vcpu_pc(vcpu) += 2;
+ pc += 2;
else
- *vcpu_pc(vcpu) += 4;
+ pc += 4;
+
+ *vcpu_pc(vcpu) = pc;
+
kvm_adjust_itstate(vcpu);
}