]> xenbits.xensource.com Git - people/dariof/xen.git/commitdiff
x86/emul: Add structure names to opcode tables
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 1 Feb 2018 19:51:23 +0000 (19:51 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 2 Feb 2018 11:12:33 +0000 (11:12 +0000)
No functional change, but it makes the diff context line more helpful when
reviewing patches which alter the opcode tables.  e.g. Consider:

  --- a/xen/arch/x86/x86_emulate/x86_emulate.c
  +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
  @@ -370,7 +370,7 @@ static const struct {
       [0x0c ... 0x0f] = { .simd_size = simd_packed_fp },
       [0x10] = { .simd_size = simd_packed_int },
       [0x13] = { .simd_size = simd_other, .two_op = 1 },
  -    [0x14 ... 0x15] = { .simd_size = simd_packed_fp },
  +    [0x14 ... 0x16] = { .simd_size = simd_packed_fp },
       [0x17] = { .simd_size = simd_packed_int, .two_op = 1 },
       [0x18 ... 0x19] = { .simd_size = simd_scalar_fp, .two_op = 1 },
       [0x1a] = { .simd_size = simd_128, .two_op = 1 },

which is entirely ambiguous between 0f38 and 0f3a, and the same diff with this
change in place:

  --- a/xen/arch/x86/x86_emulate/x86_emulate.c
  +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
  @@ -370,7 +370,7 @@ static const struct ext0f38_table {
       [0x0c ... 0x0f] = { .simd_size = simd_packed_fp },
       [0x10] = { .simd_size = simd_packed_int },
       [0x13] = { .simd_size = simd_other, .two_op = 1 },
  -    [0x14 ... 0x15] = { .simd_size = simd_packed_fp },
  +    [0x14 ... 0x16] = { .simd_size = simd_packed_fp },
       [0x17] = { .simd_size = simd_packed_int, .two_op = 1 },
       [0x18 ... 0x19] = { .simd_size = simd_scalar_fp, .two_op = 1 },
       [0x1a] = { .simd_size = simd_128, .two_op = 1 },

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/x86_emulate/x86_emulate.c

index c09dd8d471850beb115c270f7616f78b790e9d0b..cc333a0a11cec9685bf4e0e961ef63ca13eb9885 100644 (file)
@@ -237,7 +237,7 @@ enum simd_opsize {
 };
 typedef uint8_t simd_opsize_t;
 
-static const struct {
+static const struct twobyte_table {
     opcode_desc_t desc;
     simd_opsize_t size;
 } twobyte_table[256] = {
@@ -360,7 +360,7 @@ static const struct {
  * (one of which possibly also allowing to be a memory one). The named
  * operand counts do not include any immediate operands.
  */
-static const struct {
+static const struct ext0f38_table {
     uint8_t simd_size:5;
     uint8_t to_mem:1;
     uint8_t two_op:1;
@@ -400,7 +400,7 @@ static const struct {
 /* Shift values between src and dst sizes of pmov{s,z}x{b,w,d}{w,d,q}. */
 static const uint8_t pmov_convert_delta[] = { 1, 2, 3, 1, 2, 1 };
 
-static const struct {
+static const struct ext0f3a_table {
     uint8_t simd_size:5;
     uint8_t to_mem:1;
     uint8_t two_op:1;