Re: [PATCH 1/2] powerpc: Reject probes on instructions that can't be single stepped
From: Naveen N. Rao <hidden>
Date: 2022-03-30 12:04:46
Christophe Leroy wrote:
Le 28/03/2022 à 19:20, Naveen N. Rao a écrit :quoted
Michael Ellerman wrote:quoted
Murilo Opsfelder Araújo [off-list ref] writes:quoted
On 3/23/22 08:51, Naveen N. Rao wrote:quoted
+static inline bool can_single_step(u32 inst) +{ + switch (inst >> 26) {Can't ppc_inst_primary_opcode() be used instead?I didn't want to add a dependency on inst.h. But I guess I can very well move this out of the header into some .c file. I will see if I can make that work.Maybe use get_op() from asm/disassemble.h ?quoted
quoted
quoted
quoted
+ case 31: + switch ((inst >> 1) & 0x3ff) {For that one you have get_xop() in asm/disassemble.h
Nice! I will use those.
quoted
quoted
quoted
quoted
+ case 4: /* tw */OP_31_XOP_TRAPquoted
quoted
quoted
quoted
+ return false; + case 68: /* td */OP_31_XOP_TRAP_64quoted
quoted
quoted
quoted
+ return false; + case 146: /* mtmsr */ + return false; + case 178: /* mtmsrd */ + return false; + } + break; + } + return true; +} +Can't OP_* definitions from ppc-opcode.h be used for all of these switch-case statements?Yes please. And add any that are missing.We only have OP_31 from the above list now. I'll add the rest.Isn't there also OP_TRAP and OP_TRAP_64 ?
Ah, the list clearly isn't sorted, and there are some duplicates there :) Thanks, Naveen