Changeset 101428 in vbox
- Timestamp:
- Oct 13, 2023 5:39:12 AM (15 months ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum-x86-amd64.h
r101309 r101428 985 985 /** SVM: Supports GMET (Guest Mode Execute Trap Extension). */ 986 986 uint32_t fSvmGmet : 1; 987 /** SVM: Supports AVIC in x2APIC mode. */ 988 uint32_t fSvmX2Avic : 1; 987 989 /** SVM: Supports SSSCheck (SVM Supervisor Shadow Stack). */ 988 990 uint32_t fSvmSSSCheck : 1; 989 991 /** SVM: Supports SPEC_CTRL virtualization. */ 990 992 uint32_t fSvmSpecCtrl : 1; 993 /** SVM: Supports Read-Only Guest Page Table feature. */ 994 uint32_t fSvmRoGpt : 1; 991 995 /** SVM: Supports HOST_MCE_OVERRIDE. */ 992 996 uint32_t fSvmHostMceOverride : 1; 993 997 /** SVM: Supports TlbiCtl (INVLPGB/TLBSYNC in VMCB and TLBSYNC intercept). */ 994 998 uint32_t fSvmTlbiCtl : 1; 999 /** SVM: Supports NMI virtualization. */ 1000 uint32_t fSvmVNmi : 1; 1001 /** SVM: Supports IBS virtualizaiton. */ 1002 uint32_t fSvmIbsVirt : 1; 1003 /** SVM: Supports Extended LVT AVIC access changes. */ 1004 uint32_t fSvmExtLvtAvicAccessChg : 1; 1005 /** SVM: Supports Guest VMCB address check. */ 1006 uint32_t fSvmNstVirtVmcbAddrChk : 1; 1007 /** SVM: Supports Bus Lock Threshold. */ 1008 uint32_t fSvmBusLockThreshold : 1; 995 1009 /** SVM: Padding / reserved for future features (64 bits total w/ max ASID). */ 996 uint32_t fSvmPadding0 : 14;1010 uint32_t fSvmPadding0 : 7; 997 1011 /** SVM: Maximum supported ASID. */ 998 1012 uint32_t uSvmMaxAsid; -
trunk/include/iprt/x86.h
r101141 r101428 884 884 /** Bit 17 - GMET - Supports Guest Mode Execute Trap Extensions. */ 885 885 #define X86_CPUID_SVM_FEATURE_EDX_GMET RT_BIT(17) 886 /** Bit 18 - X2AVIC - Supports Advanced Virtual Interrupt Controller in x2APIC 887 * mode. */ 888 #define X86_CPUID_SVM_FEATURE_EDX_X2AVIC RT_BIT(18) 886 889 /** Bit 19 - SSSCheck - SVM supervisor shadow stack restrictions. */ 887 890 #define X86_CPUID_SVM_FEATURE_EDX_SSSCHECK RT_BIT(19) 888 891 /** Bit 20 - SpecCtrl - Supports SPEC_CTRL Virtualization. */ 889 892 #define X86_CPUID_SVM_FEATURE_EDX_SPEC_CTRL RT_BIT(20) 893 /** Bit 21 - ROGPT - Read-Only Guest Page Table. */ 894 #define X86_CPUID_SVM_FEATURE_EDX_ROGPT RT_BIT(21) 890 895 /** Bit 23 - HOST_MCE_OVERRIDE - Supports host \#MC exception override. */ 891 896 #define X86_CPUID_SVM_FEATURE_EDX_HOST_MCE_OVERRIDE RT_BIT(23) 892 897 /** Bit 24 - TlbiCtl - Supports INVLPGB/TLBSYNC in VMCB and TLBSYNC intercept. */ 893 898 #define X86_CPUID_SVM_FEATURE_EDX_TLBICTL RT_BIT(24) 899 /** Bit 25 - TlbiCtl - Supports virtual NMIs. */ 900 #define X86_CPUID_SVM_FEATURE_EDX_VNMI RT_BIT(25) 901 /** Bit 26 - TlbiCtl - Supports IBS virtualization. */ 902 #define X86_CPUID_SVM_FEATURE_EDX_IBS_VIRT RT_BIT(26) 903 /** Bit 27 - TlbiCtl - Supports extended LVT AVIC access changes. */ 904 #define X86_CPUID_SVM_FEATURE_EDX_EXT_LVT_AVIC_ACCESS_CHG RT_BIT(27) 905 /** Bit 28 - TlbiCtl - Supports guest VMCB address check. */ 906 #define X86_CPUID_SVM_FEATURE_EDX_NST_VIRT_VMCB_ADDR_CHK RT_BIT(28) 907 /** Bit 29 - TlbiCtl - Supports INVLPGB/TLBSYNC in VMCB and TLBSYNC intercept. */ 908 #define X86_CPUID_SVM_FEATURE_EDX_BUS_LOCK_THRESHOLD RT_BIT(29) 909 894 910 /** @} */ 895 911 -
trunk/src/VBox/VMM/VMMAll/CPUMAllCpuId.cpp
r101309 r101428 1559 1559 pFeatures->fSvmVGif = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_VGIF); 1560 1560 pFeatures->fSvmGmet = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_GMET); 1561 pFeatures->fSvmX2Avic = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_X2AVIC); 1561 1562 pFeatures->fSvmSSSCheck = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_SSSCHECK); 1562 1563 pFeatures->fSvmSpecCtrl = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_SPEC_CTRL); 1564 pFeatures->fSvmRoGpt = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_ROGPT); 1563 1565 pFeatures->fSvmHostMceOverride = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_HOST_MCE_OVERRIDE); 1564 1566 pFeatures->fSvmTlbiCtl = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_TLBICTL); 1567 pFeatures->fSvmVNmi = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_VNMI); 1568 pFeatures->fSvmIbsVirt = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_IBS_VIRT); 1569 pFeatures->fSvmExtLvtAvicAccessChg = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_EXT_LVT_AVIC_ACCESS_CHG); 1570 pFeatures->fSvmNstVirtVmcbAddrChk = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_NST_VIRT_VMCB_ADDR_CHK); 1571 pFeatures->fSvmBusLockThreshold = RT_BOOL(pSvmLeaf->uEdx & X86_CPUID_SVM_FEATURE_EDX_BUS_LOCK_THRESHOLD); 1565 1572 pFeatures->uSvmMaxAsid = pSvmLeaf->uEbx; 1566 1573 } -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r101312 r101428 1901 1901 { 1902 1902 #define HMSVM_REPORT_FEATURE(a_StrDesc, a_Define) { a_Define, a_StrDesc } 1903 HMSVM_REPORT_FEATURE("NESTED_PAGING", X86_CPUID_SVM_FEATURE_EDX_NESTED_PAGING), 1904 HMSVM_REPORT_FEATURE("LBR_VIRT", X86_CPUID_SVM_FEATURE_EDX_LBR_VIRT), 1905 HMSVM_REPORT_FEATURE("SVM_LOCK", X86_CPUID_SVM_FEATURE_EDX_SVM_LOCK), 1906 HMSVM_REPORT_FEATURE("NRIP_SAVE", X86_CPUID_SVM_FEATURE_EDX_NRIP_SAVE), 1907 HMSVM_REPORT_FEATURE("TSC_RATE_MSR", X86_CPUID_SVM_FEATURE_EDX_TSC_RATE_MSR), 1908 HMSVM_REPORT_FEATURE("VMCB_CLEAN", X86_CPUID_SVM_FEATURE_EDX_VMCB_CLEAN), 1909 HMSVM_REPORT_FEATURE("FLUSH_BY_ASID", X86_CPUID_SVM_FEATURE_EDX_FLUSH_BY_ASID), 1910 HMSVM_REPORT_FEATURE("DECODE_ASSISTS", X86_CPUID_SVM_FEATURE_EDX_DECODE_ASSISTS), 1911 HMSVM_REPORT_FEATURE("PAUSE_FILTER", X86_CPUID_SVM_FEATURE_EDX_PAUSE_FILTER), 1912 HMSVM_REPORT_FEATURE("PAUSE_FILTER_THRESHOLD", X86_CPUID_SVM_FEATURE_EDX_PAUSE_FILTER_THRESHOLD), 1913 HMSVM_REPORT_FEATURE("AVIC", X86_CPUID_SVM_FEATURE_EDX_AVIC), 1914 HMSVM_REPORT_FEATURE("VIRT_VMSAVE_VMLOAD", X86_CPUID_SVM_FEATURE_EDX_VIRT_VMSAVE_VMLOAD), 1915 HMSVM_REPORT_FEATURE("VGIF", X86_CPUID_SVM_FEATURE_EDX_VGIF), 1916 HMSVM_REPORT_FEATURE("GMET", X86_CPUID_SVM_FEATURE_EDX_GMET), 1917 HMSVM_REPORT_FEATURE("SSSCHECK", X86_CPUID_SVM_FEATURE_EDX_SSSCHECK), 1918 HMSVM_REPORT_FEATURE("SPEC_CTRL", X86_CPUID_SVM_FEATURE_EDX_SPEC_CTRL), 1919 HMSVM_REPORT_FEATURE("HOST_MCE_OVERRIDE", X86_CPUID_SVM_FEATURE_EDX_HOST_MCE_OVERRIDE), 1920 HMSVM_REPORT_FEATURE("TLBICTL", X86_CPUID_SVM_FEATURE_EDX_TLBICTL), 1903 HMSVM_REPORT_FEATURE("NESTED_PAGING", X86_CPUID_SVM_FEATURE_EDX_NESTED_PAGING), 1904 HMSVM_REPORT_FEATURE("LBR_VIRT", X86_CPUID_SVM_FEATURE_EDX_LBR_VIRT), 1905 HMSVM_REPORT_FEATURE("SVM_LOCK", X86_CPUID_SVM_FEATURE_EDX_SVM_LOCK), 1906 HMSVM_REPORT_FEATURE("NRIP_SAVE", X86_CPUID_SVM_FEATURE_EDX_NRIP_SAVE), 1907 HMSVM_REPORT_FEATURE("TSC_RATE_MSR", X86_CPUID_SVM_FEATURE_EDX_TSC_RATE_MSR), 1908 HMSVM_REPORT_FEATURE("VMCB_CLEAN", X86_CPUID_SVM_FEATURE_EDX_VMCB_CLEAN), 1909 HMSVM_REPORT_FEATURE("FLUSH_BY_ASID", X86_CPUID_SVM_FEATURE_EDX_FLUSH_BY_ASID), 1910 HMSVM_REPORT_FEATURE("DECODE_ASSISTS", X86_CPUID_SVM_FEATURE_EDX_DECODE_ASSISTS), 1911 HMSVM_REPORT_FEATURE("PAUSE_FILTER", X86_CPUID_SVM_FEATURE_EDX_PAUSE_FILTER), 1912 HMSVM_REPORT_FEATURE("PAUSE_FILTER_THRESHOLD", X86_CPUID_SVM_FEATURE_EDX_PAUSE_FILTER_THRESHOLD), 1913 HMSVM_REPORT_FEATURE("AVIC", X86_CPUID_SVM_FEATURE_EDX_AVIC), 1914 HMSVM_REPORT_FEATURE("VIRT_VMSAVE_VMLOAD", X86_CPUID_SVM_FEATURE_EDX_VIRT_VMSAVE_VMLOAD), 1915 HMSVM_REPORT_FEATURE("VGIF", X86_CPUID_SVM_FEATURE_EDX_VGIF), 1916 HMSVM_REPORT_FEATURE("GMET", X86_CPUID_SVM_FEATURE_EDX_GMET), 1917 HMSVM_REPORT_FEATURE("X2AVIC", X86_CPUID_SVM_FEATURE_EDX_X2AVIC), 1918 HMSVM_REPORT_FEATURE("SSSCHECK", X86_CPUID_SVM_FEATURE_EDX_SSSCHECK), 1919 HMSVM_REPORT_FEATURE("SPEC_CTRL", X86_CPUID_SVM_FEATURE_EDX_SPEC_CTRL), 1920 HMSVM_REPORT_FEATURE("ROGPT", X86_CPUID_SVM_FEATURE_EDX_ROGPT), 1921 HMSVM_REPORT_FEATURE("HOST_MCE_OVERRIDE", X86_CPUID_SVM_FEATURE_EDX_HOST_MCE_OVERRIDE), 1922 HMSVM_REPORT_FEATURE("TLBICTL", X86_CPUID_SVM_FEATURE_EDX_TLBICTL), 1923 HMSVM_REPORT_FEATURE("VNMI", X86_CPUID_SVM_FEATURE_EDX_VNMI), 1924 HMSVM_REPORT_FEATURE("IBS_VIRT", X86_CPUID_SVM_FEATURE_EDX_IBS_VIRT), 1925 HMSVM_REPORT_FEATURE("EXT_LVT_AVIC_ACCESS_CHG", X86_CPUID_SVM_FEATURE_EDX_EXT_LVT_AVIC_ACCESS_CHG), 1926 HMSVM_REPORT_FEATURE("NST_VIRT_VMCB_ADDR_CHK", X86_CPUID_SVM_FEATURE_EDX_NST_VIRT_VMCB_ADDR_CHK), 1927 HMSVM_REPORT_FEATURE("BUS_LOCK_THRESHOLD", X86_CPUID_SVM_FEATURE_EDX_BUS_LOCK_THRESHOLD), 1921 1928 #undef HMSVM_REPORT_FEATURE 1922 1929 };
Note:
See TracChangeset
for help on using the changeset viewer.