VirtualBox

source: vbox/trunk/src/VBox/VMM/VMMR3/cpus/ARM_Qualcomm_Snapdragon_X.h

Last change on this file was 109063, checked in by vboxsync, 10 days ago

VMM/cpus,VBoxCpuReport: scm fix. jiraref:VBP-1598

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 8.2 KB
Line 
1/* $Id: ARM_Qualcomm_Snapdragon_X.h 109063 2025-04-23 13:17:46Z vboxsync $ */
2/** @file
3 * CPU database entry "Qualcomm Snapdragon X".
4 * Generated at 2025-04-21T11:23:38Z by VBoxCpuReport v7.1.97r168566 on win.arm64.
5 */
6
7/*
8 * Copyright (C) 2013-2025 Oracle and/or its affiliates.
9 *
10 * This file is part of VirtualBox base platform packages, as
11 * available from https://www.virtualbox.org.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation, in version 3 of the
16 * License.
17 *
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, see <https://www.gnu.org/licenses>.
25 *
26 * SPDX-License-Identifier: GPL-3.0-only
27 */
28
29#ifndef VBOX_CPUDB_ARM_Qualcomm_Snapdragon_X_h
30#define VBOX_CPUDB_ARM_Qualcomm_Snapdragon_X_h
31#ifndef RT_WITHOUT_PRAGMA_ONCE
32# pragma once
33#endif
34
35
36/**
37 * Common system register values for Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) CPU.
38 */
39static SUPARMSYSREGVAL const g_aCmnSysRegVals_ARM_Qualcomm_Snapdragon_X[] =
40{
41 { UINT64_C(0x0000000080000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 0, 5), 0x1 }, /* MPIDR_EL1 */
42 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 0, 6), 0x0 }, /* REVIDR_EL1 */
43 { UINT64_C(0x1101201021111111), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 0), 0x0 }, /* ID_AA64PFR0_EL1 */
44 { UINT64_C(0x0000000000000020), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 1), 0x0 }, /* ID_AA64PFR1_EL1 */
45 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 2), 0x0 },
46 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 3), 0x0 },
47 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 4), 0x0 }, /* ID_AA64ZFR0_EL1 */
48 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 5), 0x0 }, /* ID_AA64SMFR0_EL1 */
49 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 6), 0x0 },
50 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 4, 7), 0x0 },
51 { UINT64_C(0x000000f010305709), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 0), 0x0 }, /* ID_AA64DFR0_EL1 */
52 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 1), 0x0 }, /* ID_AA64DFR1_EL1 */
53 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 2), 0x0 },
54 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 3), 0x0 },
55 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 4), 0x0 }, /* ID_AA64AFR0_EL1 */
56 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 5), 0x0 }, /* ID_AA64AFR1_EL1 */
57 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 6), 0x0 },
58 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 5, 7), 0x0 },
59 { UINT64_C(0x1221111110212120), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 0), 0x0 }, /* ID_AA64ISAR0_EL1 */
60 { UINT64_C(0x0010111101211052), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 1), 0x0 }, /* ID_AA64ISAR1_EL1 */
61 { UINT64_C(0x0000000010000010), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 2), 0x0 }, /* ID_AA64ISAR2_EL1 */
62 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 3), 0x0 }, /* ID_AA64ISAR3_EL1 */
63 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 4), 0x0 },
64 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 5), 0x0 },
65 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 6), 0x0 },
66 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 6, 7), 0x0 },
67 { UINT64_C(0x0000111100001024), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 0), 0x0 }, /* ID_AA64MMFR0_EL1 */
68 { UINT64_C(0x0000101001201000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 1), 0x0 }, /* ID_AA64MMFR1_EL1 */
69 { UINT64_C(0x1000001100101011), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 2), 0x0 }, /* ID_AA64MMFR2_EL1 */
70 { UINT64_C(0x1000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 3), 0x0 }, /* ID_AA64MMFR3_EL1 */
71 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 4), 0x0 }, /* ID_AA64MMFR4_EL1 */
72 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 5), 0x0 },
73 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 6), 0x0 },
74 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 7, 7), 0x0 },
75 { UINT64_C(0x0000000000000003), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 5, 3, 0), 0x0 }, /* ERRIDR_EL1 */
76 { UINT64_C(0x00003fff0000005a), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 1, 0, 0, 0), 0x0 }, /* CCSIDR_EL1 */
77 { UINT64_C(0x0000000002000023), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 1, 0, 0, 1), 0x0 }, /* CLIDR_EL1 */
78 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 1, 0, 0, 2), 0x0 }, /* CCSIDR2_EL1 */
79 { UINT64_C(0x0000000000000000), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 1, 0, 0, 7), 0x0 }, /* AIDR_EL1 */
80 { UINT64_C(0x0000000000000004), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 3, 0, 0, 7), 0x0 }, /* DCZID_EL0 */
81 { UINT64_C(0x000000000124f800), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 3,14, 0, 0), 0x0 }, /* CNTFRQ_EL0 */
82};
83
84
85/**
86 * System register values for Qualcomm Snapdragon X (Oryon var 2), variation #0.
87 * 4 CPUs shares this variant: 0, 1, 2, 3
88 */
89static SUPARMSYSREGVAL const g_aVar0SysRegVals_ARM_Qualcomm_Snapdragon_X[] =
90{
91 { UINT64_C(0x00000000512f0011), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 0, 0), 0x0 }, /* MIDR_EL1 */
92};
93
94
95/**
96 * System register values for Qualcomm Snapdragon X (Oryon var 1), variation #1.
97 * 8 CPUs shares this variant: 4, 5, 6, 7, 8, 9, 10, 11
98 */
99static SUPARMSYSREGVAL const g_aVar1SysRegVals_ARM_Qualcomm_Snapdragon_X[] =
100{
101 { UINT64_C(0x00000000511f0011), ARMV8_AARCH64_SYSREG_ID_CREATE(3, 0, 0, 0, 0), 0x0 }, /* MIDR_EL1 */
102};
103
104
105/**
106 * Database entry for Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) CPU.
107 */
108static CPUMDBENTRYARM const g_Entry_ARM_Qualcomm_Snapdragon_X =
109{
110 {
111 /*.pszName = */ "Qualcomm Snapdragon X",
112 /*.pszFullName = */ "Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) CPU",
113 /*.enmVendor = */ CPUMCPUVENDOR_QUALCOMM,
114 /*.enmMicroarch = */ kCpumMicroarch_Qualcomm_Oryon,
115 /*.fFlags = */ 0,
116 },
117 /*.paSysRegCmnVals = */ NULL_ALONE(g_aCmnSysRegVals_ARM_Qualcomm_Snapdragon_X),
118 /*.cSysRegCmnVals = */ ZERO_ALONE(RT_ELEMENTS(g_aCmnSysRegVals_ARM_Qualcomm_Snapdragon_X)),
119 /*.cVariants = */ 2,
120 /*.aVariants = */
121 {
122 /*.Variants[0] = */
123 {
124 /*.pszName = */ "Qualcomm Snapdragon X (Oryon var 2)",
125 /*.Midr = */
126 {
127 /*Midr.s = */
128 {
129 /*.u4Revision = */ 0x1,
130 /*.u12PartNum = */ 0x001,
131 /*.u4Arch = */ 0xf,
132 /*.u4Variant = */ 0x2,
133 /*.u4Implementer = */ 0x51,
134 }
135 },
136 /*.enmCoreType = */ kCpumCoreType_Unknown,
137 /*.cSysRegVals = */ ZERO_ALONE(RT_ELEMENTS(g_aVar0SysRegVals_ARM_Qualcomm_Snapdragon_X)),
138 /*.paSysRegVals = */ NULL_ALONE(g_aVar0SysRegVals_ARM_Qualcomm_Snapdragon_X)
139 },
140 /*.Variants[1] = */
141 {
142 /*.pszName = */ "Qualcomm Snapdragon X (Oryon var 1)",
143 /*.Midr = */
144 {
145 /*Midr.s = */
146 {
147 /*.u4Revision = */ 0x1,
148 /*.u12PartNum = */ 0x001,
149 /*.u4Arch = */ 0xf,
150 /*.u4Variant = */ 0x1,
151 /*.u4Implementer = */ 0x51,
152 }
153 },
154 /*.enmCoreType = */ kCpumCoreType_Unknown,
155 /*.cSysRegVals = */ ZERO_ALONE(RT_ELEMENTS(g_aVar1SysRegVals_ARM_Qualcomm_Snapdragon_X)),
156 /*.paSysRegVals = */ NULL_ALONE(g_aVar1SysRegVals_ARM_Qualcomm_Snapdragon_X)
157 },
158 }
159};
160
161#endif /* !VBOX_CPUDB_ARM_Qualcomm_Snapdragon_X_h */
162
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette