Changeset 109029 in vbox for trunk/include
- Timestamp:
- Apr 20, 2025 2:48:56 AM (2 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168558
- Location:
- trunk/include/VBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/sup.h
r109022 r109029 2038 2038 * 2039 2039 * @returns VBox status code. 2040 * @param idCpu The CPU to query the registers on, NIL_RTCPUID 2041 * if any will do. 2040 2042 * @param fFlags Query flags, SUP_ARM_SYS_REG_F_XXX. 2041 2043 * @param cMaxRegs Maximum number of registers @a paSysRegValues … … 2048 2050 * associated info. 2049 2051 */ 2050 SUPR3DECL(int) SUPR3ArmQuerySysRegs( uint32_t fFlags, uint32_t cMaxRegs,2052 SUPR3DECL(int) SUPR3ArmQuerySysRegs(RTCPUID idCpu, uint32_t fFlags, uint32_t cMaxRegs, 2051 2053 uint32_t *pcRegsReturned, uint32_t *pcRegsAvailable, PSUPARMSYSREGVAL paSysRegValues); 2052 2054 #endif /* defined(RT_ARCH_ARM64) || defined(DOXYGEN_RUNNING) */ -
trunk/include/VBox/vmm/cpum.h
r109020 r109029 295 295 kCpumMicroarch_Apple_M1 = kCpumMicroarch_Apple_First, 296 296 kCpumMicroarch_Apple_M2, 297 kCpumMicroarch_Apple_M3, 298 kCpumMicroarch_Apple_M4, 297 299 kCpumMicroarch_Apple_End, 300 301 kCpumMicroarch_Qualcomm_First, 302 kCpumMicroarch_Qualcomm_Kyro = kCpumMicroarch_Qualcomm_First, 303 kCpumMicroarch_Qualcomm_Oryon, 304 kCpumMicroarch_Qualcomm_End, 298 305 299 306 /* … … 1701 1708 1702 1709 1710 /** CPU core type. */ 1711 typedef enum CPUMCORETYPE 1712 { 1713 kCpumCoreType_Invalid = 0, 1714 kCpumCoreType_Unknown, 1715 kCpumCoreType_Performance, 1716 kCpumCoreType_Efficiency, 1717 kCpumCoreType_End, 1718 kCpumCoreType_32BitHack = 0x7fffffff, 1719 } CPUMCORETYPE; 1720 1721 1703 1722 /** 1704 1723 * CPU database entry for x86. … … 1748 1767 { 1749 1768 /** The common parts. */ 1750 CPUMDBENTRY Core; 1751 1752 /** The implementer value from MIDR_EL1. */ 1753 uint8_t bImplementer; 1754 /** The revision number from MIDR_EL1. */ 1755 uint8_t bRevision; 1756 /** The part number value from MIDR_EL1. */ 1757 uint16_t uPartNum; 1758 1759 /** Number of entries in the table paSysRegVals points to. */ 1760 uint32_t cSysRegVals; 1761 /** System register values. */ 1762 struct SUPARMSYSREGVAL const *paSysRegVals; 1769 CPUMDBENTRY Core; 1770 1771 /** System register values common to all the core variations. */ 1772 struct SUPARMSYSREGVAL const *paSysRegCmnVals; 1773 /** Number of entries in the table paSysRegCmnVals points to. */ 1774 uint32_t cSysRegCmnVals; 1775 /** Number of core variants in aVariants below. */ 1776 uint32_t cVariants; 1777 1778 /** CPU core variation details. */ 1779 struct 1780 { 1781 /** The name of this CPU core variation. */ 1782 const char *pszName; 1783 /** MIDR_EL1 for this CPU core variation. */ 1784 union 1785 { 1786 struct 1787 { 1788 /** CPU revision. */ 1789 uint32_t u4Revision : 4; 1790 /** Part number. */ 1791 uint32_t u12PartNum : 12; 1792 /** ARM architecture indicator. */ 1793 uint32_t u4Arch : 4; 1794 /** Implementer specific variant. */ 1795 uint32_t u4Variant : 4; 1796 /** The implementer. */ 1797 uint32_t u8Implementer : 8; 1798 } s; 1799 uint64_t u64; 1800 } Midr; 1801 /** The CPU core type. */ 1802 CPUMCORETYPE enmCoreType; 1803 /** Number of entries in the table paSysRegVals points to. */ 1804 uint32_t cSysRegVals; 1805 /** System register values specific to this CPU core variant. */ 1806 struct SUPARMSYSREGVAL const *paSysRegVals; 1807 } aVariants[2]; 1763 1808 } CPUMDBENTRYARM; 1764 1809 /** Pointer to a const ARM CPU database entry. */
Note:
See TracChangeset
for help on using the changeset viewer.