diff options
Diffstat (limited to 'arch/powerpc/kernel/traps.c')
-rw-r--r-- | arch/powerpc/kernel/traps.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 4a87fcbe3ba9..bf33c22e38a4 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
@@ -1179,6 +1179,16 @@ bail: | |||
1179 | exception_exit(prev_state); | 1179 | exception_exit(prev_state); |
1180 | } | 1180 | } |
1181 | 1181 | ||
1182 | /* | ||
1183 | * This occurs when running in hypervisor mode on POWER6 or later | ||
1184 | * and an illegal instruction is encountered. | ||
1185 | */ | ||
1186 | void __kprobes emulation_assist_interrupt(struct pt_regs *regs) | ||
1187 | { | ||
1188 | regs->msr |= REASON_ILLEGAL; | ||
1189 | program_check_exception(regs); | ||
1190 | } | ||
1191 | |||
1182 | void alignment_exception(struct pt_regs *regs) | 1192 | void alignment_exception(struct pt_regs *regs) |
1183 | { | 1193 | { |
1184 | enum ctx_state prev_state = exception_enter(); | 1194 | enum ctx_state prev_state = exception_enter(); |