Changeset 107703 in vbox for trunk/include/iprt/x86.h
- Timestamp:
- Jan 11, 2025 10:55:53 PM (5 weeks ago)
- svn:sync-xref-src-repo-rev:
- 166799
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/x86.h
r107659 r107703 1446 1446 * Logical processor scope. Reset value 0, unaffected by SIPI & INIT. */ 1447 1447 #define MSR_IA32_SPEC_CTRL 0x48 1448 /** @name MSR_IA32_SPEC_CTRL bits 1449 * @{ */ 1448 1450 /** IBRS - Indirect branch restricted speculation. */ 1449 #define MSR_IA32_SPEC_CTRL_F_IBRS RT_BIT_32(0)1451 #define MSR_IA32_SPEC_CTRL_F_IBRS RT_BIT_64(0) 1450 1452 /** STIBP - Single thread indirect branch predictors. */ 1451 #define MSR_IA32_SPEC_CTRL_F_STIBP RT_BIT_32(1)1453 #define MSR_IA32_SPEC_CTRL_F_STIBP RT_BIT_64(1) 1452 1454 /** SSBD - Speculative Store Bypass Disable. */ 1453 #define MSR_IA32_SPEC_CTRL_F_SSBD RT_BIT_32(2) 1455 #define MSR_IA32_SPEC_CTRL_F_SSBD RT_BIT_64(2) 1456 #define MSR_IA32_SPEC_CTRL_F_IPRED_DIS_U RT_BIT_64(3) 1457 #define MSR_IA32_SPEC_CTRL_F_IPRED_DIS_S RT_BIT_64(4) 1458 #define MSR_IA32_SPEC_CTRL_F_RRSBA_DIS_U RT_BIT_64(5) 1459 #define MSR_IA32_SPEC_CTRL_F_RRSBA_DIS_S RT_BIT_64(6) 1460 #define MSR_IA32_SPEC_CTRL_F_PSFD RT_BIT_64(7) 1461 #define MSR_IA32_SPEC_CTRL_F_DDPD_U RT_BIT_64(8) 1462 /* 9 is reserved (for DDPD_S?) */ 1463 #define MSR_IA32_SPEC_CTRL_F_BHI_DIS_S RT_BIT_64(9) 1464 /** @} */ 1454 1465 1455 1466 /** Prediction command register. … … 1457 1468 #define MSR_IA32_PRED_CMD 0x49 1458 1469 /** IBPB - Indirect branch prediction barrie when written as 1. */ 1459 #define MSR_IA32_PRED_CMD_F_IBPB RT_BIT_32(0)1470 #define MSR_IA32_PRED_CMD_F_IBPB RT_BIT_64(0) 1460 1471 1461 1472 /** BIOS update trigger (microcode update). */ … … 1574 1585 /** Architecture capabilities (bugfixes). */ 1575 1586 #define MSR_IA32_ARCH_CAPABILITIES UINT32_C(0x10a) 1587 /** @name MSR_IA32_ARCH_CAPABILITIES bits 1588 * @{ */ 1576 1589 /** CPU is no subject to meltdown problems. */ 1577 #define MSR_IA32_ARCH_CAP_F_RDCL_NO RT_BIT_ 32(0)1590 #define MSR_IA32_ARCH_CAP_F_RDCL_NO RT_BIT_64(0) 1578 1591 /** CPU has better IBRS and you can leave it on all the time. */ 1579 #define MSR_IA32_ARCH_CAP_F_IBRS_ALL RT_BIT_ 32(1)1592 #define MSR_IA32_ARCH_CAP_F_IBRS_ALL RT_BIT_64(1) 1580 1593 /** CPU has return stack buffer (RSB) override. */ 1581 #define MSR_IA32_ARCH_CAP_F_RSBO RT_BIT_ 32(2)1594 #define MSR_IA32_ARCH_CAP_F_RSBO RT_BIT_64(2) 1582 1595 /** Virtual machine monitors need not flush the level 1 data cache on VM entry. 1583 1596 * This is also the case when MSR_IA32_ARCH_CAP_F_RDCL_NO is set. */ 1584 #define MSR_IA32_ARCH_CAP_F_VMM_NEED_NOT_FLUSH_L1D RT_BIT_ 32(3)1597 #define MSR_IA32_ARCH_CAP_F_VMM_NEED_NOT_FLUSH_L1D RT_BIT_64(3) 1585 1598 /** CPU does not suffer from speculative store bypass (SSB) issues. */ 1586 #define MSR_IA32_ARCH_CAP_F_SSB_NO RT_BIT_ 32(4)1599 #define MSR_IA32_ARCH_CAP_F_SSB_NO RT_BIT_64(4) 1587 1600 /** CPU does not suffer from microarchitectural data sampling (MDS) issues. */ 1588 #define MSR_IA32_ARCH_CAP_F_MDS_NO RT_BIT_ 32(5)1601 #define MSR_IA32_ARCH_CAP_F_MDS_NO RT_BIT_64(5) 1589 1602 /** CPU does not suffer MCE after change code page size w/o invlpg issues. */ 1590 #define MSR_IA32_ARCH_CAP_F_IF_PSCHANGE_MC_NO RT_BIT_ 32(6)1603 #define MSR_IA32_ARCH_CAP_F_IF_PSCHANGE_MC_NO RT_BIT_64(6) 1591 1604 /** CPU has RTM_DISABLE and TXS_CPUID_CLEAR support. */ 1592 #define MSR_IA32_ARCH_CAP_F_TSX_CTRL RT_BIT_ 32(7)1605 #define MSR_IA32_ARCH_CAP_F_TSX_CTRL RT_BIT_64(7) 1593 1606 /** CPU does not suffer from transaction synchronization extensions (TSX) 1594 1607 * asyncrhonous abort (TAA) issues. */ 1595 #define MSR_IA32_ARCH_CAP_F_TAA_NO RT_BIT_ 32(8)1608 #define MSR_IA32_ARCH_CAP_F_TAA_NO RT_BIT_64(8) 1596 1609 /* 9 is 'reserved' */ 1597 #define MSR_IA32_ARCH_CAP_F_MISC_PACKAGE_CTRLS RT_BIT_ 32(10)1598 #define MSR_IA32_ARCH_CAP_F_ENERGY_FILTERING_CTL RT_BIT_ 32(11)1599 #define MSR_IA32_ARCH_CAP_F_DOITM RT_BIT_ 32(12)1600 #define MSR_IA32_ARCH_CAP_F_SBDR_SSDP_NO RT_BIT_ 32(13)1601 #define MSR_IA32_ARCH_CAP_F_FBSDP_NO RT_BIT_ 32(14)1602 #define MSR_IA32_ARCH_CAP_F_PSDP_NO RT_BIT_ 32(15)1610 #define MSR_IA32_ARCH_CAP_F_MISC_PACKAGE_CTRLS RT_BIT_64(10) 1611 #define MSR_IA32_ARCH_CAP_F_ENERGY_FILTERING_CTL RT_BIT_64(11) 1612 #define MSR_IA32_ARCH_CAP_F_DOITM RT_BIT_64(12) 1613 #define MSR_IA32_ARCH_CAP_F_SBDR_SSDP_NO RT_BIT_64(13) 1614 #define MSR_IA32_ARCH_CAP_F_FBSDP_NO RT_BIT_64(14) 1615 #define MSR_IA32_ARCH_CAP_F_PSDP_NO RT_BIT_64(15) 1603 1616 /* 16 is 'reserved' */ 1604 #define MSR_IA32_ARCH_CAP_F_FB_CLEAR RT_BIT_ 32(17)1605 #define MSR_IA32_ARCH_CAP_F_FB_CLEAR_CTRL RT_BIT_ 32(18)1606 #define MSR_IA32_ARCH_CAP_F_RRSBA RT_BIT_ 32(19)1607 #define MSR_IA32_ARCH_CAP_F_BHI_NO RT_BIT_ 32(20)1608 #define MSR_IA32_ARCH_CAP_F_XAPIC_DISABLE_STATUS RT_BIT_ 32(21)1617 #define MSR_IA32_ARCH_CAP_F_FB_CLEAR RT_BIT_64(17) 1618 #define MSR_IA32_ARCH_CAP_F_FB_CLEAR_CTRL RT_BIT_64(18) 1619 #define MSR_IA32_ARCH_CAP_F_RRSBA RT_BIT_64(19) 1620 #define MSR_IA32_ARCH_CAP_F_BHI_NO RT_BIT_64(20) 1621 #define MSR_IA32_ARCH_CAP_F_XAPIC_DISABLE_STATUS RT_BIT_64(21) 1609 1622 /* 22 is 'reserved' */ 1610 #define MSR_IA32_ARCH_CAP_F_OVERCLOCKING_STATUS RT_BIT_32(22) 1611 #define MSR_IA32_ARCH_CAP_F_PBRSB_NO RT_BIT_32(23) 1612 #define MSR_IA32_ARCH_CAP_F_GDS_CTRL RT_BIT_32(24) 1613 #define MSR_IA32_ARCH_CAP_F_GDS_NO RT_BIT_32(25) 1614 #define MSR_IA32_ARCH_CAP_F_RFDS_NO RT_BIT_32(26) 1615 #define MSR_IA32_ARCH_CAP_F_RFDS_CLEAR RT_BIT_32(27) 1623 #define MSR_IA32_ARCH_CAP_F_OVERCLOCKING_STATUS RT_BIT_64(23) 1624 #define MSR_IA32_ARCH_CAP_F_PBRSB_NO RT_BIT_64(24) 1625 #define MSR_IA32_ARCH_CAP_F_GDS_CTRL RT_BIT_64(25) 1626 #define MSR_IA32_ARCH_CAP_F_GDS_NO RT_BIT_64(26) 1627 #define MSR_IA32_ARCH_CAP_F_RFDS_NO RT_BIT_64(27) 1628 #define MSR_IA32_ARCH_CAP_F_RFDS_CLEAR RT_BIT_64(28) 1629 #define MSR_IA32_ARCH_CAP_F_IGN_UMONITOR_SUPPORT RT_BIT_64(29) 1630 #define MSR_IA32_ARCH_CAP_F_MON_UMON_MITIG_SUPPORT RT_BIT_64(30) 1631 /** @} */ 1616 1632 1617 1633 /** Flush command register. */ 1618 1634 #define MSR_IA32_FLUSH_CMD UINT32_C(0x10b) 1619 1635 /** Flush the level 1 data cache when this bit is written. */ 1620 #define MSR_IA32_FLUSH_CMD_F_L1D RT_BIT_32(0)1636 #define MSR_IA32_FLUSH_CMD_F_L1D RT_BIT_64(0) 1621 1637 1622 1638 /** Cache control/info. */
Note:
See TracChangeset
for help on using the changeset viewer.