Changeset 107729 in vbox for trunk/include/VBox/vmm/cpum.h
- Timestamp:
- Jan 13, 2025 10:08:51 PM (6 weeks ago)
- svn:sync-xref-src-repo-rev:
- 166835
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r107703 r107729 556 556 uint32_t fSpeculationControl : 1; 557 557 558 /** MSR_IA32_ARCH_CAPABILITIES: RDCL_NO (bit 0). 559 * @remarks Only safe use after CPUM ring-0 init! */ 558 /** @name MSR_IA32_ARCH_CAPABILITIES 559 * @remarks Only safe use after CPUM ring-0 init! 560 * @{ */ 561 /** MSR_IA32_ARCH_CAPABILITIES[0]: RDCL_NO */ 560 562 uint32_t fArchRdclNo : 1; 561 /** MSR_IA32_ARCH_CAPABILITIES: IBRS_ALL (bit 1). 562 * @remarks Only safe use after CPUM ring-0 init! */ 563 /** MSR_IA32_ARCH_CAPABILITIES[1]: IBRS_ALL */ 563 564 uint32_t fArchIbrsAll : 1; 564 /** MSR_IA32_ARCH_CAPABILITIES: RSB Override (bit 2). 565 * @remarks Only safe use after CPUM ring-0 init! */ 565 /** MSR_IA32_ARCH_CAPABILITIES[2]: RSB Alternate */ 566 566 uint32_t fArchRsbOverride : 1; 567 /** MSR_IA32_ARCH_CAPABILITIES: RSB Override (bit 3). 568 * @remarks Only safe use after CPUM ring-0 init! */ 567 /** MSR_IA32_ARCH_CAPABILITIES[3]: SKIP_L1DFL_VMENTRY */ 569 568 uint32_t fArchVmmNeedNotFlushL1d : 1; 570 /** MSR_IA32_ARCH_CAPABILITIES: MDS_NO (bit 4). 571 * @remarks Only safe use after CPUM ring-0 init! */ 569 /** MSR_IA32_ARCH_CAPABILITIES[4]: SSB_NO - No Speculative Store Bypass */ 570 uint32_t fArchSsbNo : 1; 571 /** MSR_IA32_ARCH_CAPABILITIES[5]: MDS_NO - No Microarchitecural Data Sampling */ 572 572 uint32_t fArchMdsNo : 1; 573 574 /** Alignment padding / reserved for future use (96 bits total, plus 12 bytes 575 * prior to the bit fields -> total of 24 bytes) */ 576 uint32_t fPadding0 : 19; 577 573 /** MSR_IA32_ARCH_CAPABILITIES[6]: IF_PSCHANGE_MC_NO */ 574 uint32_t fArchIfPschangeMscNo : 1; 575 /** MSR_IA32_ARCH_CAPABILITIES[7]: TSX_CTRL (MSR: IA32_TSX_CTRL_MSR[1:0]) */ 576 uint32_t fArchTsxCtrl : 1; 577 /** MSR_IA32_ARCH_CAPABILITIES[8]: TAA_NO - No Transactional Synchronization 578 * Extensions Asynchronous Abort. */ 579 uint32_t fArchTaaNo : 1; 580 /** MSR_IA32_ARCH_CAPABILITIES[10]: MISC_PACKAGE_CTRLS (MSR: IA32_UARCH_MISC_CTL) */ 581 uint32_t fArchMiscPackageCtrls : 1; 582 /** MSR_IA32_ARCH_CAPABILITIES[11]: ENERGY_FILTERING_CTL (MSR: IA32_MISC_PACKAGE_CTLS[0]) */ 583 uint32_t fArchEnergyFilteringCtl : 1; 584 /** MSR_IA32_ARCH_CAPABILITIES[12]: DOITM (MSR: IA32_UARCH_MISC_CTL[0]) */ 585 uint32_t fArchDoitm : 1; 586 /** MSR_IA32_ARCH_CAPABILITIES[13]: SBDR_SSDP_NO - No Shared Buffers Data Read 587 * nor Sideband Stale Data Propagator issues. */ 588 uint32_t fArchSbdrSsdpNo : 1; 589 /** MSR_IA32_ARCH_CAPABILITIES[14]: FBSDP_NO - Fill Buffer Stale Data Propagator */ 590 uint32_t fArchFbsdpNo : 1; 591 /** MSR_IA32_ARCH_CAPABILITIES[15]: PSDP_NO - Primary Stale Data Propagator */ 592 uint32_t fArchPsdpNo : 1; 593 /** MSR_IA32_ARCH_CAPABILITIES[17]: FB_CLEAR (VERW) */ 594 uint32_t fArchFbClear : 1; 595 /** MSR_IA32_ARCH_CAPABILITIES[18]: FB_CLEAR_CTRL (MSR: IA32_MCU_OPT_CTRL[3]) */ 596 uint32_t fArchFbClearCtrl : 1; 597 /** MSR_IA32_ARCH_CAPABILITIES[19]: RRSBA */ 598 uint32_t fArchRrsba : 1; 599 /** MSR_IA32_ARCH_CAPABILITIES[20]: BHI_NO */ 600 uint32_t fArchBhiNo : 1; 601 /** MSR_IA32_ARCH_CAPABILITIES[21]: XAPIC_DISABLE_STATUS (MSR: IA32_XAPIC_DISABLE_STATUS ) */ 602 uint32_t fArchXapicDisableStatus : 1; 603 /** MSR_IA32_ARCH_CAPABILITIES[23]: OVERCLOCKING_STATUS (MSR: IA32_OVERCLOCKING STATUS) */ 604 uint32_t fArchOverclockingStatus : 1; 605 /** MSR_IA32_ARCH_CAPABILITIES[24]: PBRSB_NO - No post-barrier Return Stack Buffer predictions */ 606 uint32_t fArchPbrsbNo : 1; 607 /** MSR_IA32_ARCH_CAPABILITIES[25]: GDS_CTRL (MSR: IA32_MCU_OPT_CTRL[5:4]) */ 608 uint32_t fArchGdsCtrl : 1; 609 /** MSR_IA32_ARCH_CAPABILITIES[26]: GDS_NO - No Gather Data Sampling */ 610 uint32_t fArchGdsNo : 1; 611 /** MSR_IA32_ARCH_CAPABILITIES[27]: RFDS_NO - No Register File Data Sampling */ 612 uint32_t fArchRfdsNo : 1; 613 /** MSR_IA32_ARCH_CAPABILITIES[28]: RFDS_CLEAR (VERW++) */ 614 uint32_t fArchRfdsClear : 1; 615 /** MSR_IA32_ARCH_CAPABILITIES[29]: IGN_UMONITOR_SUPPORT (MSR: IA32_MCU_OPT_CTRL[6]) */ 616 uint32_t fArchIgnUmonitorSupport : 1; 617 /** MSR_IA32_ARCH_CAPABILITIES[30]: MON_UMON_MITG_SUPPORT (MSR: IA32_MCU_OPT_CTRL[7]) */ 618 uint32_t fArchMonUmonMitigSupport : 1; 619 /** @} */ 620 621 /** Alignment padding / reserved for future use. */ 622 uint32_t fPadding0 : 28; 623 uint32_t auPadding[3]; 578 624 579 625 /** @name SVM … … 839 885 /** VMX: Padding / reserved for future, making it a total of 128 bits. */ 840 886 uint32_t fVmxPadding1; 841 uint32_t auPadding[4];842 887 } CPUMFEATURESX86; 843 888 #ifndef VBOX_FOR_DTRACE_LIB
Note:
See TracChangeset
for help on using the changeset viewer.