| Index: src/trusted/validator_ragel/unreviewed/parse_instruction.rl
|
| ===================================================================
|
| --- src/trusted/validator_ragel/unreviewed/parse_instruction.rl (revision 10976)
|
| +++ src/trusted/validator_ragel/unreviewed/parse_instruction.rl (working copy)
|
| @@ -708,7 +708,7 @@
|
| SET_IMM_PTR(current_position);
|
| }
|
| action imm8_second_operand {
|
| - SET_IMM2_TYPE(IMM8);
|
| + SET_SECOND_IMM_TYPE(IMM8);
|
| SET_IMM2_PTR(current_position);
|
| }
|
| action imm16_operand {
|
| @@ -716,7 +716,7 @@
|
| SET_IMM_PTR(current_position - 1);
|
| }
|
| action imm16_second_operand {
|
| - SET_IMM2_TYPE(IMM16);
|
| + SET_SECOND_IMM_TYPE(IMM16);
|
| SET_IMM2_PTR(current_position - 1);
|
| }
|
| action imm32_operand {
|
| @@ -724,7 +724,7 @@
|
| SET_IMM_PTR(current_position - 3);
|
| }
|
| action imm32_second_operand {
|
| - SET_IMM2_TYPE(IMM32);
|
| + SET_SECOND_IMM_TYPE(IMM32);
|
| SET_IMM2_PTR(current_position - 3);
|
| }
|
| action imm64_operand {
|
| @@ -732,7 +732,7 @@
|
| SET_IMM_PTR(current_position - 7);
|
| }
|
| action imm64_second_operand {
|
| - SET_IMM2_TYPE(IMM64);
|
| + SET_SECOND_IMM_TYPE(IMM64);
|
| SET_IMM2_PTR(current_position - 7);
|
| }
|
| }%%
|
| @@ -810,6 +810,15 @@
|
| Rel32Operand(current_position + 1, data, jump_dests, size,
|
| &instruction_info_collected);
|
| }
|
| +
|
| + # Action which marks last byte as not immediate. Most 3DNow! instructions,
|
| + # some AVX and XOP instructions have this property.
|
| + #
|
| + # This action is referenced by decode_x86_32 ragel machine in [autogenerated]
|
| + # "validator_x86_32_instruction.rl" file.
|
| + action last_byte_is_not_immediate {
|
| + instruction_info_collected |= LAST_BYTE_IS_NOT_IMMEDIATE;
|
| + }
|
| }%%
|
|
|
| %%{
|
| @@ -895,7 +904,7 @@
|
| instruction_begin = current_position + 1;
|
| SET_DISP_TYPE(DISPNONE);
|
| SET_IMM_TYPE(IMMNONE);
|
| - SET_IMM2_TYPE(IMMNONE);
|
| + SET_SECOND_IMM_TYPE(IMMNONE);
|
| SET_REX_PREFIX(FALSE);
|
| SET_DATA16_PREFIX(FALSE);
|
| SET_LOCK_PREFIX(FALSE);
|
|
|