Changeset View
Changeset View
Standalone View
Standalone View
head/sys/amd64/include/vmm.h
| Show First 20 Lines • Show All 540 Lines • ▼ Show 20 Lines | |||||
| }; | }; | ||||
| _Static_assert(sizeof(struct vie_op) == 4, "ABI"); | _Static_assert(sizeof(struct vie_op) == 4, "ABI"); | ||||
| _Static_assert(_Alignof(struct vie_op) == 2, "ABI"); | _Static_assert(_Alignof(struct vie_op) == 2, "ABI"); | ||||
| #define VIE_INST_SIZE 15 | #define VIE_INST_SIZE 15 | ||||
| struct vie { | struct vie { | ||||
| uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */ | uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */ | ||||
| uint8_t num_valid; /* size of the instruction */ | uint8_t num_valid; /* size of the instruction */ | ||||
| /* The following fields are all zeroed upon restart. */ | |||||
| #define vie_startzero num_processed | |||||
| uint8_t num_processed; | uint8_t num_processed; | ||||
| uint8_t addrsize:4, opsize:4; /* address and operand sizes */ | uint8_t addrsize:4, opsize:4; /* address and operand sizes */ | ||||
| uint8_t rex_w:1, /* REX prefix */ | uint8_t rex_w:1, /* REX prefix */ | ||||
| rex_r:1, | rex_r:1, | ||||
| rex_x:1, | rex_x:1, | ||||
| rex_b:1, | rex_b:1, | ||||
| rex_present:1, | rex_present:1, | ||||
| ▲ Show 20 Lines • Show All 214 Lines • Show Last 20 Lines | |||||