L4Re Operating System Framework
Interface and Usage Documentation
|
Software VMCS field offset table. More...
#include <__vm-vmx.h>
Software VMCS field offset table.
The memory layout is as follows:
0x00 - 0x02: 3 offsets for 16-bit fields. 0x03: Reserved. 0x04 - 0x06: 3 offsets for 64-bit fields. 0x07: Reserved. 0x08 - 0x0a: 3 offsets for 32-bit fields. 0x0b: Reserved. 0x0c - 0x0e: 3 offsets for natural-width fields. 0x0f: Reserved. 0x10 - 0x12: 3 limits for 16-bit fields. 0x13: Reserved. 0x14 - 0x16: 3 limits for 64-bit fields. 0x17: Reserved. 0x18 - 0x1a: 3 limits for 32-bit fields. 0x1b: Reserved. 0x1c - 0x1e: 3 limits for natural-width fields. 0x1f: Reserved. 0x20 - 0x23: 4 index shifts. 0x24: Offset of the first software VMCS field. 0x25: Size of the software VMCS fields. 0x26 - 0x27: Reserved.
The offsets/limits in each size category are in the following order:
The index shifts are in the following order:
All offsets/limits/sizes are represented in a 64-byte granule.
The offsets (after being multiplied by 64) are indexes in the values array in l4_ext_vcpu_state_vmx_t and bit indexes in the dirty_bitmap array in l4_ext_vcpu_state_vmx_t.
The limits (after being multiplied by 64) represent the range of the available indexes.
Definition at line 186 of file __vm-vmx.h.