summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/kvm_emulate.h
diff options
context:
space:
mode:
authorJoel Stanley <joel@jms.id.au>2016-02-02 13:23:36 +1100
committerJoel Stanley <joel@jms.id.au>2016-02-02 13:23:42 +1100
commitf3f4aeb9ea8954c0da3cf0d12693f9a57f1f4ac7 (patch)
tree3663ab29736373c565d88e941162d37311cc3c75 /arch/arm64/include/asm/kvm_emulate.h
parent2a3f5f14fdf2e8fb680af168fa642ef8a9218ffb (diff)
parent849a2d3d9be31368559e6852cf64d749e6903818 (diff)
downloadtalos-obmc-linux-openbmc-20160202-1.tar.gz
talos-obmc-linux-openbmc-20160202-1.zip
Merge tag 'v4.3.5' into dev-4.3openbmc-20160202-1
This is the 4.3.5 stable release Signed-off-by: Joel Stanley <joel@jms.id.au>
Diffstat (limited to 'arch/arm64/include/asm/kvm_emulate.h')
-rw-r--r--arch/arm64/include/asm/kvm_emulate.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm64/include/asm/kvm_emulate.h b/arch/arm64/include/asm/kvm_emulate.h
index 17e92f05b1fe..3ca894ecf699 100644
--- a/arch/arm64/include/asm/kvm_emulate.h
+++ b/arch/arm64/include/asm/kvm_emulate.h
@@ -99,11 +99,13 @@ static inline void vcpu_set_thumb(struct kvm_vcpu *vcpu)
*vcpu_cpsr(vcpu) |= COMPAT_PSR_T_BIT;
}
+/*
+ * vcpu_reg should always be passed a register number coming from a
+ * read of ESR_EL2. Otherwise, it may give the wrong result on AArch32
+ * with banked registers.
+ */
static inline unsigned long *vcpu_reg(const struct kvm_vcpu *vcpu, u8 reg_num)
{
- if (vcpu_mode_is_32bit(vcpu))
- return vcpu_reg32(vcpu, reg_num);
-
return (unsigned long *)&vcpu_gp_regs(vcpu)->regs.regs[reg_num];
}
OpenPOWER on IntegriCloud