aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorMichal Ludvig <mludvig@suse.cz>2004-07-30 13:35:50 +0000
committerMichal Ludvig <mludvig@suse.cz>2004-07-30 13:35:50 +0000
commit70091a8679831aec9b82323414ebf1d0a8a249e4 (patch)
tree6a4be2b69b206e01357180a04b6f1547274c164b /opcodes
parent14b4833127ce2b785701b5830343adc72e6e9822 (diff)
downloadfsf-binutils-gdb-70091a8679831aec9b82323414ebf1d0a8a249e4.zip
fsf-binutils-gdb-70091a8679831aec9b82323414ebf1d0a8a249e4.tar.gz
fsf-binutils-gdb-70091a8679831aec9b82323414ebf1d0a8a249e4.tar.bz2
Added new instructions for new version of VIA PadLock.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/i386-dis.c22
2 files changed, 24 insertions, 5 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 88c6b3e..6af6527 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,10 @@
+2004-07-30 Michal Ludvig <mludvig@suse.cz>
+
+ * i386-dis.c (GRPPADLCK): Renamed to GRPPADLCK1
+ (GRPPADLCK2): New define.
+ (twobyte_has_modrm): True for 0xA6.
+ (grps): GRPPADLCK2 for opcode 0xA6.
+
2004-05-13 Nick Clifton <nickc@redhat.com>
* po/fr.po: Updated French translation.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index a71eb0c..df89d45 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -393,7 +393,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr)
#define GRP13 NULL, NULL, USE_GROUPS, NULL, 20, NULL, 0
#define GRP14 NULL, NULL, USE_GROUPS, NULL, 21, NULL, 0
#define GRPAMD NULL, NULL, USE_GROUPS, NULL, 22, NULL, 0
-#define GRPPADLCK NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0
+#define GRPPADLCK1 NULL, NULL, USE_GROUPS, NULL, 23, NULL, 0
+#define GRPPADLCK2 NULL, NULL, USE_GROUPS, NULL, 24, NULL, 0
#define PREGRP0 NULL, NULL, USE_PREFIX_USER_TABLE, NULL, 0, NULL, 0
#define PREGRP1 NULL, NULL, USE_PREFIX_USER_TABLE, NULL, 1, NULL, 0
@@ -952,8 +953,8 @@ static const struct dis386 dis386_twobyte[] = {
{ "btS", Ev, Gv, XX },
{ "shldS", Ev, Gv, Ib },
{ "shldS", Ev, Gv, CL },
- { "(bad)", XX, XX, XX },
- { GRPPADLCK },
+ { GRPPADLCK2 },
+ { GRPPADLCK1 },
/* a8 */
{ "pushT", gs, XX, XX },
{ "popT", gs, XX, XX },
@@ -1091,7 +1092,7 @@ static const unsigned char twobyte_has_modrm[256] = {
/* 70 */ 1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1, /* 7f */
/* 80 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 8f */
/* 90 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 9f */
- /* a0 */ 0,0,0,1,1,1,0,1,0,0,0,1,1,1,1,1, /* af */
+ /* a0 */ 0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1, /* af */
/* b0 */ 1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1, /* bf */
/* c0 */ 1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0, /* cf */
/* d0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* df */
@@ -1455,7 +1456,7 @@ static const struct dis386 grps[][8] = {
{ "(bad)", XX, XX, XX },
{ "(bad)", XX, XX, XX },
},
- /* GRPPADLCK */
+ /* GRPPADLCK1 */
{
{ "xstorerng", OP_0f07, 0, XX, XX },
{ "xcryptecb", OP_0f07, 0, XX, XX },
@@ -1465,6 +1466,17 @@ static const struct dis386 grps[][8] = {
{ "xcryptofb", OP_0f07, 0, XX, XX },
{ "(bad)", OP_0f07, 0, XX, XX },
{ "(bad)", OP_0f07, 0, XX, XX },
+ },
+ /* GRPPADLCK2 */
+ {
+ { "montmul", OP_0f07, 0, XX, XX },
+ { "xsha1", OP_0f07, 0, XX, XX },
+ { "xsha256", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
+ { "(bad)", OP_0f07, 0, XX, XX },
}
};