diff --git a/sys/arm64/arm64/disassem.c b/sys/arm64/arm64/disassem.c --- a/sys/arm64/arm64/disassem.c +++ b/sys/arm64/arm64/disassem.c @@ -116,6 +116,9 @@ * OP , , {, { # } } */ TYPE_04, + + /* OP */ + TYPE_07, }; /* @@ -281,6 +284,44 @@ TYPE_04, 0 }, /* cmp extended register */ { "subs", "SF(1)|1101011001|RM(5)|OPTION(3)|IMM(3)|RN(5)|RD(5)", TYPE_04, 0 }, /* subs extended register */ + { "cfinv", "11010101000000000100000000011111", + TYPE_07, 0 }, + { "dgh", "11010101000000110010000011011111", + TYPE_07, 0 }, + { "drps", "11010110101111110000001111100000", + TYPE_07, 0 }, + { "eret", "11010110100111110000001111100000", + TYPE_07, 0 }, + { "eretaa", "11010110100111110000101111111111", + TYPE_07, 0 }, + { "eretab", "11010110100111110000111111111111", + TYPE_07, 0 }, + { "esb", "11010101000000110010001000011111", + TYPE_07, 0 }, + { "nop", "11010101000000110010000000011111", + TYPE_07, 0 }, + { "psb csync", "11010101000000110010001000111111", + TYPE_07, 0 }, + { "pssbb", "11010101000000110011010010011111", + TYPE_07, 0 }, + { "retaa", "11010110010111110000101111111111", + TYPE_07, 0 }, + { "retab", "11010110010111110000111111111111", + TYPE_07, 0 }, + { "sb", "11010101000000110011000011111111", + TYPE_07, 0 }, + { "sev", "11010101000000110010000010011111", + TYPE_07, 0 }, + { "sevl", "11010101000000110010000010111111", + TYPE_07, 0 }, + { "tsb csync", "11010101000000110010001001011111", + TYPE_07, 0 }, + { "wfe", "11010101000000110010000001011111", + TYPE_07, 0 }, + { "wfi", "11010101000000110010000001111111", + TYPE_07, 0 }, + { "yield", "11010101000000110010000000111111", + TYPE_07, 0 }, { NULL, NULL } }; @@ -757,6 +798,13 @@ di->di_printf(", %s #%d", extend, imm); break; + + case TYPE_07: + /* OP */ + + di->di_printf("%s", i_ptr->name); + + break; default: goto undefined; }