aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2016-10-25 16:11:11 +0100
committerMister Oyster <oysterized@gmail.com>2017-04-11 10:57:41 +0200
commitfa33ed6cc7628e2791be3eb90a98db59b2445a81 (patch)
tree4b8a46996100eed72f5b53fd997d585cd116fd34 /lib
parent28b5a4f677be4a891f01e0410d57cf9f4311d98d (diff)
KVM: MIPS: Make ERET handle ERL before EXL
commit ede5f3e7b54a4347be4d8525269eae50902bd7cd upstream. The ERET instruction to return from exception is used for returning from exception level (Status.EXL) and error level (Status.ERL). If both bits are set however we should be returning from ERL first, as ERL can interrupt EXL, for example when an NMI is taken. KVM however checks EXL first. Fix the order of the checks to match the pseudocode in the instruction set manual. Fixes: e685c689f3a8 ("KVM/MIPS32: Privileged instruction/target branch emulation.") Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions