Intel Architecture

Instruction Set Extensions
Programming Reference
rev013

was published including RDSEED and ADCX/ADOX instructions

add CPUID bits and VMX controls mentioned in the document
This commit is contained in:
Stanislav Shwartsman 2012-07-11 18:58:00 +00:00
parent ec06475dbf
commit bafde35c9c
2 changed files with 16 additions and 2 deletions

View File

@ -311,7 +311,10 @@ typedef bx_cpuid_t* (*bx_create_cpuid_method)(BX_CPU_C *cpu);
// [9:9] Support for Enhanced REP MOVSB/STOSB
// [10:10] Support for INVPCID instruction
// [11:11] RTM: Restricted Transactional Memory
// [31:10] reserved
// [17:12] reserved
// [18:18] RDSEED instruction support
// [19:19] ADCX/ADOX instructions support
// [31:20] reserved
#define BX_CPUID_EXT3_FSGSBASE (1 << 0)
#define BX_CPUID_EXT3_RESERVED1 (1 << 1)
@ -325,6 +328,14 @@ typedef bx_cpuid_t* (*bx_create_cpuid_method)(BX_CPU_C *cpu);
#define BX_CPUID_EXT3_ENCHANCED_REP_STRINGS (1 << 9)
#define BX_CPUID_EXT3_INVPCID (1 << 10)
#define BX_CPUID_EXT3_RTM (1 << 11)
#define BX_CPUID_EXT3_RESERVED12 (1 << 12)
#define BX_CPUID_EXT3_RESERVED13 (1 << 13)
#define BX_CPUID_EXT3_RESERVED14 (1 << 14)
#define BX_CPUID_EXT3_RESERVED15 (1 << 15)
#define BX_CPUID_EXT3_RESERVED16 (1 << 16)
#define BX_CPUID_EXT3_RESERVED17 (1 << 17)
#define BX_CPUID_EXT3_RDSEED (1 << 18)
#define BX_CPUID_EXT3_ADX (1 << 19)
// ...

View File

@ -130,7 +130,9 @@ enum VMX_vmexit_reason {
VMX_VMEXIT_RESERVED56 = 56,
VMX_VMEXIT_RDRAND = 57,
VMX_VMEXIT_INVPCID = 58,
VMX_VMEXIT_VMFUNC = 59
VMX_VMEXIT_VMFUNC = 59,
VMX_VMEXIT_RESERVED60 = 60,
VMX_VMEXIT_RDSEED = 61
};
// VMexit on CR register access
@ -586,6 +588,7 @@ typedef struct bx_VMCS
#define VMX_VM_EXEC_CTRL3_RDRAND_VMEXIT (1 << 11)
#define VMX_VM_EXEC_CTRL3_INVPCID (1 << 12)
#define VMX_VM_EXEC_CTRL3_VMFUNC_ENABLE (1 << 13) /* VM Functions */
#define VMX_VM_EXEC_CTRL3_RDSEED_VMEXIT (1 << 16)
#define VMX_VM_EXEC_CTRL3_SUPPORTED_BITS \
(BX_CPU_THIS_PTR vmx_cap.vmx_vmexec_ctrl2_supported_bits)