Skip to content

Commit 2bf2760

Browse files
paulusmackagraf
authored andcommitted
KVM: PPC: Book3S HV: Fix instruction emulation
Commit 4a157d6 ("KVM: PPC: Book3S HV: Fix endianness of instruction obtained from HEIR register") had the side effect that we no longer reset vcpu->arch.last_inst to -1 on guest exit in the cases where the instruction is not fetched from the guest. This means that if instruction emulation turns out to be required in those cases, the host will emulate the wrong instruction, since vcpu->arch.last_inst will contain the last instruction that was emulated. This fixes it by making sure that vcpu->arch.last_inst is reset to -1 in those cases. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Alexander Graf <agraf@suse.de>
1 parent ecb6d61 commit 2bf2760

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

arch/powerpc/kvm/book3s_hv_rmhandlers.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,6 +1005,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR)
10051005
/* Save HEIR (HV emulation assist reg) in emul_inst
10061006
if this is an HEI (HV emulation interrupt, e40) */
10071007
li r3,KVM_INST_FETCH_FAILED
1008+
stw r3,VCPU_LAST_INST(r9)
10081009
cmpwi r12,BOOK3S_INTERRUPT_H_EMUL_ASSIST
10091010
bne 11f
10101011
mfspr r3,SPRN_HEIR

0 commit comments

Comments
 (0)