Christophe Leroy wrote:


Le 28/03/2022 à 19:20, Naveen N. Rao a écrit :
Michael Ellerman wrote:
Murilo Opsfelder Araújo <mopsfel...@gmail.com> writes:
On 3/23/22 08:51, Naveen N. Rao wrote:
+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 ?


+    case 31:
+        switch ((inst >> 1) & 0x3ff) {

For that one you have get_xop() in asm/disassemble.h

Nice! I will use those.


+        case 4:        /* tw */

OP_31_XOP_TRAP

+            return false;
+        case 68:    /* td */

OP_31_XOP_TRAP_64

+            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

Reply via email to