Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save nonakap/9318708 to your computer and use it in GitHub Desktop.

Select an option

Save nonakap/9318708 to your computer and use it in GitHub Desktop.
NetBSD/i386: ddb(4): fix Grp15 opcode. more need fix usr.sbin/cpuctl/arch/i386.c and arch/x86/x86/procfs_machdep.c...
Index: sys/arch/i386/i386/db_disasm.c
===================================================================
RCS file: /cvsroot/src/sys/arch/i386/i386/db_disasm.c,v
retrieving revision 1.40
diff -u -r1.40 db_disasm.c
--- sys/arch/i386/i386/db_disasm.c 14 Mar 2009 21:04:10 -0000 1.40
+++ sys/arch/i386/i386/db_disasm.c 3 Mar 2014 05:01:28 -0000
@@ -159,6 +159,17 @@
"",
};
+const char * const db_Grp15[] = {
+ "fxsave",
+ "fxrstor",
+ "ldmxcsr",
+ "stmxcsr",
+ "xsave",
+ "xrstor",
+ "xsaveopt",
+ "clflush",
+};
+
const struct inst db_inst_0f0x[] = {
/*00*/ { "", true, NONE, op1(Ew), (const char *)db_Grp6 },
/*01*/ { "", true, NONE, op1(Ew), (const char *)db_Grp7 },
@@ -294,7 +305,7 @@
/*ab*/ { "bts", true, LONG, op2(R,E), 0 },
/*ac*/ { "shrd", true, LONG, op3(Ib,E,R), 0 },
/*ad*/ { "shrd", true, LONG, op3(CL,E,R), 0 },
-/*ae*/ { "fxsave",true, LONG, 0, 0 },
+/*ae*/ { "", true, NONE, op1(E), (const char *)db_Grp15 },
/*af*/ { "imul", true, LONG, op2(E,R), 0 },
};
@@ -1211,7 +1222,8 @@
ip->i_extra == (const char *)db_Grp2 ||
ip->i_extra == (const char *)db_Grp6 ||
ip->i_extra == (const char *)db_Grp7 ||
- ip->i_extra == (const char *)db_Grp8) {
+ ip->i_extra == (const char *)db_Grp8 ||
+ ip->i_extra == (const char *)db_Grp15) {
i_name = ((const char *const*)ip->i_extra)[f_reg(regmodrm)];
} else if (ip->i_extra == (const char *)db_Grp3) {
ip = (const struct inst *)ip->i_extra;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment