| Index: src/trusted/validator_ragel/gen/decoder_x86_64.c
|
| ===================================================================
|
| --- src/trusted/validator_ragel/gen/decoder_x86_64.c (revision 10975)
|
| +++ src/trusted/validator_ragel/gen/decoder_x86_64.c (working copy)
|
| @@ -12619,8 +12619,8 @@
|
| 96u, 103u, 104u, 111u, 112u, 119u, 120u, 127u,
|
| 128u, 135u, 136u, 143u, 144u, 151u, 152u, 159u,
|
| 160u, 167u, 168u, 175u, 176u, 183u, 184u, 191u,
|
| - 192u, 199u, 208u, 215u, 216u, 223u, 224u, 231u,
|
| - 232u, 239u, 240u, 247u, 248u, 255u, 5u, 13u,
|
| + 192u, 199u, 200u, 207u, 208u, 215u, 216u, 223u,
|
| + 224u, 231u, 232u, 239u, 240u, 247u, 5u, 13u,
|
| 21u, 29u, 37u, 45u, 53u, 61u, 69u, 77u,
|
| 85u, 93u, 101u, 109u, 117u, 125u, 133u, 141u,
|
| 149u, 157u, 165u, 173u, 181u, 189u, 197u, 205u,
|
| @@ -12635,8 +12635,8 @@
|
| 104u, 111u, 112u, 119u, 120u, 127u, 128u, 135u,
|
| 136u, 143u, 144u, 151u, 152u, 159u, 160u, 167u,
|
| 168u, 175u, 176u, 183u, 184u, 191u, 192u, 199u,
|
| - 200u, 207u, 216u, 223u, 224u, 231u, 232u, 239u,
|
| - 240u, 247u, 248u, 255u, 5u, 13u, 21u, 29u,
|
| + 200u, 207u, 208u, 215u, 216u, 223u, 224u, 231u,
|
| + 232u, 239u, 240u, 247u, 5u, 13u, 21u, 29u,
|
| 37u, 45u, 53u, 61u, 69u, 77u, 85u, 93u,
|
| 101u, 109u, 117u, 125u, 133u, 141u, 149u, 157u,
|
| 165u, 173u, 181u, 189u, 197u, 205u, 213u, 221u,
|
| @@ -12650,9 +12650,9 @@
|
| 80u, 87u, 88u, 95u, 96u, 103u, 104u, 111u,
|
| 112u, 119u, 120u, 127u, 128u, 135u, 136u, 143u,
|
| 144u, 151u, 152u, 159u, 160u, 167u, 168u, 175u,
|
| - 176u, 183u, 184u, 191u, 192u, 199u, 200u, 207u,
|
| - 208u, 215u, 216u, 223u, 224u, 231u, 232u, 239u,
|
| - 240u, 247u, 4u, 5u, 12u, 13u, 20u, 21u,
|
| + 176u, 183u, 184u, 191u, 200u, 207u, 208u, 215u,
|
| + 216u, 223u, 224u, 231u, 232u, 239u, 240u, 247u,
|
| + 248u, 255u, 4u, 5u, 12u, 13u, 20u, 21u,
|
| 28u, 29u, 36u, 37u, 44u, 45u, 52u, 53u,
|
| 60u, 61u, 68u, 76u, 84u, 92u, 100u, 108u,
|
| 116u, 124u, 132u, 140u, 148u, 156u, 164u, 172u,
|
| @@ -12780,8 +12780,8 @@
|
| 80u, 87u, 88u, 95u, 96u, 103u, 104u, 111u,
|
| 112u, 119u, 120u, 127u, 128u, 135u, 136u, 143u,
|
| 144u, 151u, 152u, 159u, 160u, 167u, 168u, 175u,
|
| - 176u, 183u, 184u, 191u, 200u, 207u, 208u, 215u,
|
| - 216u, 223u, 224u, 231u, 232u, 239u, 240u, 247u,
|
| + 176u, 183u, 184u, 191u, 192u, 199u, 200u, 207u,
|
| + 208u, 215u, 216u, 223u, 232u, 239u, 240u, 247u,
|
| 248u, 255u, 4u, 5u, 20u, 21u, 28u, 29u,
|
| 36u, 37u, 44u, 45u, 52u, 53u, 60u, 61u,
|
| 68u, 84u, 92u, 100u, 108u, 116u, 124u, 132u,
|
| @@ -13313,9 +13313,9 @@
|
| 71u, 72u, 79u, 80u, 87u, 88u, 95u, 96u,
|
| 103u, 104u, 111u, 112u, 119u, 120u, 127u, 128u,
|
| 135u, 136u, 143u, 144u, 151u, 152u, 159u, 160u,
|
| - 167u, 168u, 175u, 176u, 183u, 184u, 191u, 192u,
|
| - 199u, 200u, 207u, 208u, 215u, 216u, 223u, 224u,
|
| - 231u, 240u, 247u, 248u, 255u, 4u, 5u, 12u,
|
| + 167u, 168u, 175u, 176u, 183u, 184u, 191u, 200u,
|
| + 207u, 208u, 215u, 216u, 223u, 224u, 231u, 232u,
|
| + 239u, 240u, 247u, 248u, 255u, 4u, 5u, 12u,
|
| 13u, 20u, 21u, 28u, 29u, 36u, 37u, 44u,
|
| 45u, 52u, 53u, 60u, 61u, 68u, 76u, 84u,
|
| 92u, 100u, 108u, 116u, 124u, 132u, 140u, 148u,
|
| @@ -13326,8 +13326,8 @@
|
| 111u, 112u, 119u, 120u, 127u, 128u, 135u, 136u,
|
| 143u, 144u, 151u, 152u, 159u, 160u, 167u, 168u,
|
| 175u, 176u, 183u, 184u, 191u, 192u, 199u, 200u,
|
| - 207u, 208u, 215u, 216u, 223u, 224u, 231u, 232u,
|
| - 239u, 240u, 247u, 4u, 5u, 12u, 13u, 20u,
|
| + 207u, 208u, 215u, 224u, 231u, 232u, 239u, 240u,
|
| + 247u, 248u, 255u, 4u, 5u, 12u, 13u, 20u,
|
| 21u, 28u, 29u, 36u, 37u, 44u, 45u, 52u,
|
| 53u, 60u, 61u, 68u, 76u, 84u, 92u, 100u,
|
| 108u, 116u, 124u, 132u, 140u, 148u, 156u, 164u,
|
| @@ -14677,7 +14677,7 @@
|
| 127u, 128u, 135u, 136u, 143u, 144u, 151u, 152u,
|
| 159u, 160u, 167u, 168u, 175u, 176u, 183u, 184u,
|
| 191u, 192u, 199u, 200u, 207u, 208u, 215u, 216u,
|
| - 223u, 224u, 231u, 232u, 239u, 240u, 247u, 4u,
|
| + 223u, 224u, 231u, 232u, 239u, 248u, 255u, 4u,
|
| 5u, 12u, 13u, 20u, 21u, 28u, 29u, 36u,
|
| 37u, 44u, 45u, 52u, 53u, 60u, 61u, 68u,
|
| 76u, 84u, 92u, 100u, 108u, 116u, 124u, 132u,
|
| @@ -29117,8 +29117,8 @@
|
| 2818, 2820, 2765, 2768, 2771, 2774, 2777, 2780,
|
| 2783, 2786, 2789, 2791, 2793, 2795, 2797, 2799,
|
| 2801, 2803, 2805, 2807, 2809, 2811, 2813, 2815,
|
| - 2817, 2819, 2821, 2823, 2824, 2825, 2826, 2827,
|
| - 2828, 2822, 2830, 2830, 2830, 2830, 2830, 2830,
|
| + 2817, 2819, 2821, 2822, 2823, 2824, 2825, 2826,
|
| + 2827, 2828, 2830, 2830, 2830, 2830, 2830, 2830,
|
| 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2830,
|
| 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2830,
|
| 2830, 2830, 2830, 2830, 2830, 2830, 2830, 2830,
|
| @@ -29132,7 +29132,7 @@
|
| 2854, 2857, 2860, 2863, 2866, 2869, 2872, 2875,
|
| 2877, 2879, 2881, 2883, 2885, 2887, 2889, 2891,
|
| 2893, 2895, 2897, 2899, 2901, 2903, 2905, 2907,
|
| - 2908, 2910, 2911, 2912, 2913, 2914, 2909, 2916,
|
| + 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2916,
|
| 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916,
|
| 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916,
|
| 2916, 2916, 2916, 2916, 2916, 2916, 2916, 2916,
|
| @@ -29146,8 +29146,8 @@
|
| 2986, 2988, 2990, 2992, 2937, 2940, 2943, 2946,
|
| 2949, 2952, 2955, 2958, 2961, 2963, 2965, 2967,
|
| 2969, 2971, 2973, 2975, 2977, 2979, 2981, 2983,
|
| - 2985, 2987, 2989, 2991, 2993, 2994, 2995, 2996,
|
| - 2997, 2998, 2999, 3000, 3002, 3003, 3002, 3003,
|
| + 2985, 2987, 2989, 2991, 2994, 2995, 2996, 2997,
|
| + 2998, 2999, 3000, 2993, 3002, 3003, 3002, 3003,
|
| 3002, 3003, 3002, 3003, 3002, 3003, 3002, 3003,
|
| 3002, 3003, 3002, 3003, 3005, 3005, 3005, 3005,
|
| 3005, 3005, 3005, 3005, 3007, 3007, 3007, 3007,
|
| @@ -29250,7 +29250,7 @@
|
| 3461, 3464, 3467, 3470, 3473, 3476, 3479, 3482,
|
| 3485, 3487, 3489, 3491, 3493, 3495, 3497, 3499,
|
| 3501, 3503, 3505, 3507, 3509, 3511, 3513, 3515,
|
| - 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3517,
|
| + 3517, 3518, 3519, 3520, 3522, 3523, 3524, 3521,
|
| 3526, 3527, 3529, 3530, 3532, 3533, 3535, 3536,
|
| 3538, 3539, 3541, 3542, 3544, 3545, 3547, 3549,
|
| 3551, 3553, 3555, 3557, 3559, 3561, 3563, 3565,
|
| @@ -29718,8 +29718,8 @@
|
| 4873, 4875, 4877, 4879, 4881, 4883, 4828, 4831,
|
| 4834, 4837, 4840, 4843, 4846, 4849, 4852, 4854,
|
| 4856, 4858, 4860, 4862, 4864, 4866, 4868, 4870,
|
| - 4872, 4874, 4876, 4878, 4880, 4882, 4884, 4885,
|
| - 4886, 4887, 4888, 4890, 4891, 4889, 4893, 4894,
|
| + 4872, 4874, 4876, 4878, 4880, 4882, 4885, 4886,
|
| + 4887, 4888, 4889, 4890, 4891, 4884, 4893, 4894,
|
| 4896, 4897, 4899, 4900, 4902, 4903, 4905, 4906,
|
| 4908, 4909, 4911, 4912, 4914, 4915, 4917, 4919,
|
| 4921, 4923, 4925, 4927, 4929, 4931, 4933, 4935,
|
| @@ -29727,7 +29727,7 @@
|
| 4898, 4901, 4904, 4907, 4910, 4913, 4916, 4918,
|
| 4920, 4922, 4924, 4926, 4928, 4930, 4932, 4934,
|
| 4936, 4938, 4940, 4942, 4944, 4946, 4948, 4949,
|
| - 4950, 4951, 4952, 4953, 4954, 4955, 4957, 4958,
|
| + 4950, 4952, 4953, 4954, 4955, 4951, 4957, 4958,
|
| 4957, 4958, 4957, 4958, 4957, 4958, 4957, 4958,
|
| 4957, 4958, 4957, 4958, 4957, 4958, 4960, 4960,
|
| 4960, 4960, 4960, 4960, 4960, 4960, 4962, 4962,
|
| @@ -31004,7 +31004,7 @@
|
| 7734, 7737, 7740, 7742, 7744, 7746, 7748, 7750,
|
| 7752, 7754, 7756, 7758, 7760, 7762, 7764, 7766,
|
| 7768, 7770, 7772, 7773, 7774, 7775, 7776, 7777,
|
| - 7778, 7779, 7781, 7782, 7781, 7782, 7781, 7782,
|
| + 7779, 7778, 7781, 7782, 7781, 7782, 7781, 7782,
|
| 7781, 7782, 7781, 7782, 7781, 7782, 7781, 7782,
|
| 7781, 7782, 7784, 7784, 7784, 7784, 7784, 7784,
|
| 7784, 7784, 7786, 7786, 7786, 7786, 7786, 7786,
|
| @@ -47529,7 +47529,7 @@
|
| static const int x86_64_decoder_first_final = 4260;
|
| static const int x86_64_decoder_error = 0;
|
|
|
| -static const int x86_64_decoder_en_main = 4260;
|
| +static const int x86_64_decoder_en_decoder = 4260;
|
|
|
|
|
|
|
| @@ -47540,7 +47540,8 @@
|
| const uint8_t *current_position = data;
|
| const uint8_t *end_of_data = data + size;
|
| const uint8_t *instruction_begin = current_position;
|
| - uint8_t vex_prefix2 = 0xe0;
|
| + /* Top three bis of VEX2 are inverted: see AMD/Intel manual. */
|
| + uint8_t vex_prefix2 = VEX_R | VEX_X | VEX_B;
|
| uint8_t vex_prefix3 = 0x00;
|
| enum ImmediateMode imm_operand = IMMNONE;
|
| enum ImmediateMode imm2_operand = IMMNONE;
|
| @@ -47549,21 +47550,7 @@
|
|
|
| int current_state;
|
|
|
| - SET_DISP_TYPE(DISPNONE);
|
| - SET_IMM_TYPE(IMMNONE);
|
| - SET_IMM2_TYPE(IMMNONE);
|
| - SET_REX_PREFIX(FALSE);
|
| - SET_DATA16_PREFIX(FALSE);
|
| - SET_LOCK_PREFIX(FALSE);
|
| - SET_REPNZ_PREFIX(FALSE);
|
| - SET_REPZ_PREFIX(FALSE);
|
| - SET_BRANCH_NOT_TAKEN(FALSE);
|
| - SET_BRANCH_TAKEN(FALSE);
|
| - SET_ATT_INSTRUCTION_SUFFIX(NULL);
|
| - instruction.prefix.rex_b_spurious = FALSE;
|
| - instruction.prefix.rex_x_spurious = FALSE;
|
| - instruction.prefix.rex_r_spurious = FALSE;
|
| - instruction.prefix.rex_w_spurious = FALSE;
|
| + memset(&instruction, 0, sizeof instruction);
|
|
|
|
|
| {
|
|
|