mirror of https://gitee.com/openkylin/linux.git
KVM: PPC: Read out syscall instruction on trap
We have a few traps where we cache the instruction that cause the trap for analysis later on. Since we now need to be able to distinguish between SC 0 and SC 1 system calls and the only way to find out which is which is by looking at the instruction, we also read out the instruction causing the system call. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
04fcc11bb5
commit
77e675ad82
|
@ -213,11 +213,16 @@ END_FTR_SECTION_IFSET(CPU_FTR_HVMODE)
|
||||||
beq ld_last_inst
|
beq ld_last_inst
|
||||||
cmpwi r12, BOOK3S_INTERRUPT_PROGRAM
|
cmpwi r12, BOOK3S_INTERRUPT_PROGRAM
|
||||||
beq ld_last_inst
|
beq ld_last_inst
|
||||||
|
cmpwi r12, BOOK3S_INTERRUPT_SYSCALL
|
||||||
|
beq ld_last_prev_inst
|
||||||
cmpwi r12, BOOK3S_INTERRUPT_ALIGNMENT
|
cmpwi r12, BOOK3S_INTERRUPT_ALIGNMENT
|
||||||
beq- ld_last_inst
|
beq- ld_last_inst
|
||||||
|
|
||||||
b no_ld_last_inst
|
b no_ld_last_inst
|
||||||
|
|
||||||
|
ld_last_prev_inst:
|
||||||
|
addi r3, r3, -4
|
||||||
|
|
||||||
ld_last_inst:
|
ld_last_inst:
|
||||||
/* Save off the guest instruction we're at */
|
/* Save off the guest instruction we're at */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue