diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/i386-gen.c | 9 | ||||
-rw-r--r-- | opcodes/i386-init.h | 2 | ||||
-rw-r--r-- | opcodes/i386-opc.h | 4 |
3 files changed, 10 insertions, 5 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index ae650d8..d18a7d2 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -628,8 +628,6 @@ static bitfield cpu_flags[] = BITFIELD (CpuPREFETCHWT1), BITFIELD (CpuSE1), BITFIELD (CpuCLWB), - BITFIELD (Cpu64), - BITFIELD (CpuNo64), BITFIELD (CpuMPX), BITFIELD (CpuAVX512IFMA), BITFIELD (CpuAVX512VBMI), @@ -676,6 +674,8 @@ static bitfield cpu_flags[] = BITFIELD (CpuINVLPGB), BITFIELD (CpuTLBSYNC), BITFIELD (CpuSNP), + BITFIELD (Cpu64), + BITFIELD (CpuNo64), #ifdef CpuUnused BITFIELD (CpuUnused), #endif @@ -1068,9 +1068,10 @@ process_i386_cpu_flag (FILE *table, char *flag, int macro, else next = flag + 1; - /* First we turn on everything except for cpu64. */ + /* First we turn on everything except for cpu64, cpuno64, and - if + present - the padding field. */ for (i = 0; i < ARRAY_SIZE (flags); i++) - if (flags[i].position != Cpu64) + if (flags[i].position < Cpu64) flags[i].value = 1; /* Turn off selective bits. */ diff --git a/opcodes/i386-init.h b/opcodes/i386-init.h index 393fdca..df2f7bc 100644 --- a/opcodes/i386-init.h +++ b/opcodes/i386-init.h @@ -25,7 +25,7 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \ - 1, 1, 0, 1, 1 } } + 1, 1, 0, 0, 0 } } #define CPU_GENERIC32_FLAGS \ { { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \ diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index a7acaeb..cba7cd2 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -272,6 +272,9 @@ enum CpuTLBSYNC, /* SNP instructions required */ CpuSNP, + + /* NOTE: These last three items need to remain last and in this order. */ + /* 64bit support required */ Cpu64, /* Not supported in the 64bit mode */ @@ -417,6 +420,7 @@ typedef union i386_cpu_flags unsigned int cpuinvlpgb:1; unsigned int cputlbsync:1; unsigned int cpusnp:1; + /* NOTE: These last three fields need to remain last and in this order. */ unsigned int cpu64:1; unsigned int cpuno64:1; #ifdef CpuUnused |