xref: /qemu/target/ppc/cpu-models.h (revision 6b829602e2f10f301ff8508f3a6850a0e913142c)
1953af181SAndreas Färber /*
2953af181SAndreas Färber  *  PowerPC CPU initialization for qemu.
3953af181SAndreas Färber  *
4953af181SAndreas Färber  *  Copyright (c) 2003-2007 Jocelyn Mayer
5953af181SAndreas Färber  *  Copyright 2011 Freescale Semiconductor, Inc.
6953af181SAndreas Färber  *  Copyright 2013 SUSE LINUX Products GmbH
7953af181SAndreas Färber  *
8953af181SAndreas Färber  * This library is free software; you can redistribute it and/or
9953af181SAndreas Färber  * modify it under the terms of the GNU Lesser General Public
10953af181SAndreas Färber  * License as published by the Free Software Foundation; either
116bd039cdSChetan Pant  * version 2.1 of the License, or (at your option) any later version.
12953af181SAndreas Färber  *
13953af181SAndreas Färber  * This library is distributed in the hope that it will be useful,
14953af181SAndreas Färber  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15953af181SAndreas Färber  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16953af181SAndreas Färber  * Lesser General Public License for more details.
17953af181SAndreas Färber  *
18953af181SAndreas Färber  * You should have received a copy of the GNU Lesser General Public
19953af181SAndreas Färber  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
20953af181SAndreas Färber  */
21953af181SAndreas Färber #ifndef TARGET_PPC_CPU_MODELS_H
22953af181SAndreas Färber #define TARGET_PPC_CPU_MODELS_H
23953af181SAndreas Färber 
24e9a96075SAndreas Färber /**
25e9a96075SAndreas Färber  * PowerPCCPUAlias:
26e9a96075SAndreas Färber  * @alias: The alias name.
276ea707e9SIgor Mammedov  * @model: The CPU model @alias refers to, that directly resolves into CPU type
28e9a96075SAndreas Färber  *
29e9a96075SAndreas Färber  * A mapping entry from CPU @alias to CPU @model.
30e9a96075SAndreas Färber  */
31e9a96075SAndreas Färber typedef struct PowerPCCPUAlias {
32e9a96075SAndreas Färber     const char *alias;
33e9a96075SAndreas Färber     const char *model;
34e9a96075SAndreas Färber } PowerPCCPUAlias;
35e9a96075SAndreas Färber 
369761ad75SAlexander Graf extern PowerPCCPUAlias ppc_cpu_aliases[];
37e9a96075SAndreas Färber 
38953af181SAndreas Färber /*****************************************************************************/
39953af181SAndreas Färber /* PVR definitions for most known PowerPC                                    */
40953af181SAndreas Färber enum {
41953af181SAndreas Färber     /* IBM Processor for Network Resources */
42953af181SAndreas Färber     CPU_POWERPC_COBRA              = 0x10100000, /* XXX: 405 ? */
43953af181SAndreas Färber     /* PowerPC 405 family */
44953af181SAndreas Färber     /* PowerPC 405 cores */
45953af181SAndreas Färber     CPU_POWERPC_405D2              = 0x20010000,
46953af181SAndreas Färber     CPU_POWERPC_405D4              = 0x41810000,
47e6a19a64SMichael Tokarev     /* PowerPC 405 microcontrollers */
48953af181SAndreas Färber     /* XXX: missing 0x200108a0 */
49953af181SAndreas Färber     CPU_POWERPC_405CRa             = 0x40110041,
50953af181SAndreas Färber     CPU_POWERPC_405CRb             = 0x401100C5,
51953af181SAndreas Färber     CPU_POWERPC_405CRc             = 0x40110145,
52953af181SAndreas Färber     CPU_POWERPC_405EP              = 0x51210950,
53953af181SAndreas Färber     CPU_POWERPC_405EZ              = 0x41511460, /* 0x51210950 ? */
54953af181SAndreas Färber     CPU_POWERPC_405GPa             = 0x40110000,
55953af181SAndreas Färber     CPU_POWERPC_405GPb             = 0x40110040,
56953af181SAndreas Färber     CPU_POWERPC_405GPc             = 0x40110082,
57953af181SAndreas Färber     CPU_POWERPC_405GPd             = 0x401100C4,
58953af181SAndreas Färber     CPU_POWERPC_405GPR             = 0x50910951,
59953af181SAndreas Färber     CPU_POWERPC_405LP              = 0x41F10000,
60953af181SAndreas Färber     /* IBM network processors */
61953af181SAndreas Färber     CPU_POWERPC_NPE405H            = 0x414100C0,
62953af181SAndreas Färber     CPU_POWERPC_NPE405H2           = 0x41410140,
63953af181SAndreas Färber     CPU_POWERPC_NPE405L            = 0x416100C0,
64953af181SAndreas Färber     CPU_POWERPC_NPE4GS3            = 0x40B10000,
65953af181SAndreas Färber     /* IBM STBxxx (PowerPC 401/403/405 core based microcontrollers) */
66953af181SAndreas Färber     CPU_POWERPC_STB03              = 0x40310000, /* 0x40130000 ? */
67953af181SAndreas Färber     CPU_POWERPC_STB04              = 0x41810000,
68953af181SAndreas Färber     CPU_POWERPC_STB25              = 0x51510950,
69953af181SAndreas Färber     /* Xilinx cores */
70953af181SAndreas Färber     CPU_POWERPC_X2VP4              = 0x20010820,
71953af181SAndreas Färber     CPU_POWERPC_X2VP20             = 0x20010860,
72953af181SAndreas Färber     /* PowerPC 440 family */
73953af181SAndreas Färber     /* Generic PowerPC 440 */
74953af181SAndreas Färber #define CPU_POWERPC_440              CPU_POWERPC_440GXf
75953af181SAndreas Färber     /* PowerPC 440 cores */
76953af181SAndreas Färber     CPU_POWERPC_440_XILINX         = 0x7ff21910,
77e6a19a64SMichael Tokarev     /* PowerPC 440 microcontrollers */
78953af181SAndreas Färber     CPU_POWERPC_440EPa             = 0x42221850,
79953af181SAndreas Färber     CPU_POWERPC_440EPb             = 0x422218D3,
80953af181SAndreas Färber     CPU_POWERPC_440GPb             = 0x40120440,
81953af181SAndreas Färber     CPU_POWERPC_440GPc             = 0x40120481,
82953af181SAndreas Färber #define CPU_POWERPC_440GRa           CPU_POWERPC_440EPb
83953af181SAndreas Färber     CPU_POWERPC_440GRX             = 0x200008D0,
84953af181SAndreas Färber #define CPU_POWERPC_440EPX           CPU_POWERPC_440GRX
85953af181SAndreas Färber     CPU_POWERPC_440GXa             = 0x51B21850,
86953af181SAndreas Färber     CPU_POWERPC_440GXb             = 0x51B21851,
87953af181SAndreas Färber     CPU_POWERPC_440GXc             = 0x51B21892,
88953af181SAndreas Färber     CPU_POWERPC_440GXf             = 0x51B21894,
89953af181SAndreas Färber     CPU_POWERPC_440SP              = 0x53221850,
90953af181SAndreas Färber     CPU_POWERPC_440SP2             = 0x53221891,
91953af181SAndreas Färber     CPU_POWERPC_440SPE             = 0x53421890,
9281bb29acSBALATON Zoltan     CPU_POWERPC_460EXb             = 0x130218A4, /* called 460 but 440 core */
93953af181SAndreas Färber     /* Freescale embedded PowerPC cores */
94953af181SAndreas Färber     /* PowerPC MPC 5xx cores (aka RCPU) */
95953af181SAndreas Färber     CPU_POWERPC_MPC5xx             = 0x00020020,
96953af181SAndreas Färber     /* PowerPC MPC 8xx cores (aka PowerQUICC) */
97953af181SAndreas Färber     CPU_POWERPC_MPC8xx             = 0x00500000,
98953af181SAndreas Färber     /* G2 cores (aka PowerQUICC-II) */
99953af181SAndreas Färber     CPU_POWERPC_G2                 = 0x00810011,
100953af181SAndreas Färber     CPU_POWERPC_G2H4               = 0x80811010,
101953af181SAndreas Färber     CPU_POWERPC_G2gp               = 0x80821010,
102953af181SAndreas Färber     CPU_POWERPC_G2ls               = 0x90810010,
103953af181SAndreas Färber     CPU_POWERPC_MPC603             = 0x00810100,
104953af181SAndreas Färber     CPU_POWERPC_G2_HIP3            = 0x00810101,
105953af181SAndreas Färber     CPU_POWERPC_G2_HIP4            = 0x80811014,
106953af181SAndreas Färber     /*   G2_LE core (aka PowerQUICC-II) */
107953af181SAndreas Färber     CPU_POWERPC_G2LE               = 0x80820010,
108953af181SAndreas Färber     CPU_POWERPC_G2LEgp             = 0x80822010,
109953af181SAndreas Färber     CPU_POWERPC_G2LEls             = 0xA0822010,
110953af181SAndreas Färber     CPU_POWERPC_G2LEgp1            = 0x80822011,
111953af181SAndreas Färber     CPU_POWERPC_G2LEgp3            = 0x80822013,
112953af181SAndreas Färber     /* MPC52xx microcontrollers  */
113953af181SAndreas Färber     /* XXX: MPC 5121 ? */
114953af181SAndreas Färber #define CPU_POWERPC_MPC5200_v10      CPU_POWERPC_G2LEgp1
115953af181SAndreas Färber #define CPU_POWERPC_MPC5200_v11      CPU_POWERPC_G2LEgp1
116953af181SAndreas Färber #define CPU_POWERPC_MPC5200_v12      CPU_POWERPC_G2LEgp1
117953af181SAndreas Färber #define CPU_POWERPC_MPC5200B_v20     CPU_POWERPC_G2LEgp1
118953af181SAndreas Färber #define CPU_POWERPC_MPC5200B_v21     CPU_POWERPC_G2LEgp1
119953af181SAndreas Färber     /* e200 family */
120953af181SAndreas Färber     /* e200 cores */
121953af181SAndreas Färber     CPU_POWERPC_e200z5             = 0x81000000,
122953af181SAndreas Färber     CPU_POWERPC_e200z6             = 0x81120000,
123953af181SAndreas Färber     /* e300 family */
124953af181SAndreas Färber     /* e300 cores */
125953af181SAndreas Färber     CPU_POWERPC_e300c1             = 0x00830010,
126953af181SAndreas Färber     CPU_POWERPC_e300c2             = 0x00840010,
127953af181SAndreas Färber     CPU_POWERPC_e300c3             = 0x00850010,
128953af181SAndreas Färber     CPU_POWERPC_e300c4             = 0x00860010,
129953af181SAndreas Färber     /* MPC83xx microcontrollers */
130953af181SAndreas Färber #define CPU_POWERPC_MPC834x          CPU_POWERPC_e300c1
131953af181SAndreas Färber #define CPU_POWERPC_MPC837x          CPU_POWERPC_e300c4
132953af181SAndreas Färber     /* e500 family */
133953af181SAndreas Färber     /* e500 cores  */
134953af181SAndreas Färber #define CPU_POWERPC_e500             CPU_POWERPC_e500v2_v22
135953af181SAndreas Färber     CPU_POWERPC_e500v1_v10         = 0x80200010,
136953af181SAndreas Färber     CPU_POWERPC_e500v1_v20         = 0x80200020,
137953af181SAndreas Färber     CPU_POWERPC_e500v2_v10         = 0x80210010,
138953af181SAndreas Färber     CPU_POWERPC_e500v2_v11         = 0x80210011,
139953af181SAndreas Färber     CPU_POWERPC_e500v2_v20         = 0x80210020,
140953af181SAndreas Färber     CPU_POWERPC_e500v2_v21         = 0x80210021,
141953af181SAndreas Färber     CPU_POWERPC_e500v2_v22         = 0x80210022,
142953af181SAndreas Färber     CPU_POWERPC_e500v2_v30         = 0x80210030,
143953af181SAndreas Färber     CPU_POWERPC_e500mc             = 0x80230020,
144953af181SAndreas Färber     CPU_POWERPC_e5500              = 0x80240020,
14554a50daeSKONRAD Frederic     CPU_POWERPC_e6500              = 0x80400020,
146953af181SAndreas Färber     /* MPC85xx microcontrollers */
147953af181SAndreas Färber #define CPU_POWERPC_MPC8533_v10      CPU_POWERPC_e500v2_v21
148953af181SAndreas Färber #define CPU_POWERPC_MPC8533_v11      CPU_POWERPC_e500v2_v22
149953af181SAndreas Färber #define CPU_POWERPC_MPC8533E_v10     CPU_POWERPC_e500v2_v21
150953af181SAndreas Färber #define CPU_POWERPC_MPC8533E_v11     CPU_POWERPC_e500v2_v22
151953af181SAndreas Färber #define CPU_POWERPC_MPC8540_v10      CPU_POWERPC_e500v1_v10
152953af181SAndreas Färber #define CPU_POWERPC_MPC8540_v20      CPU_POWERPC_e500v1_v20
153953af181SAndreas Färber #define CPU_POWERPC_MPC8540_v21      CPU_POWERPC_e500v1_v20
154953af181SAndreas Färber #define CPU_POWERPC_MPC8541_v10      CPU_POWERPC_e500v1_v20
155953af181SAndreas Färber #define CPU_POWERPC_MPC8541_v11      CPU_POWERPC_e500v1_v20
156953af181SAndreas Färber #define CPU_POWERPC_MPC8541E_v10     CPU_POWERPC_e500v1_v20
157953af181SAndreas Färber #define CPU_POWERPC_MPC8541E_v11     CPU_POWERPC_e500v1_v20
158953af181SAndreas Färber #define CPU_POWERPC_MPC8543_v10      CPU_POWERPC_e500v2_v10
159953af181SAndreas Färber #define CPU_POWERPC_MPC8543_v11      CPU_POWERPC_e500v2_v11
160953af181SAndreas Färber #define CPU_POWERPC_MPC8543_v20      CPU_POWERPC_e500v2_v20
161953af181SAndreas Färber #define CPU_POWERPC_MPC8543_v21      CPU_POWERPC_e500v2_v21
162953af181SAndreas Färber #define CPU_POWERPC_MPC8543E_v10     CPU_POWERPC_e500v2_v10
163953af181SAndreas Färber #define CPU_POWERPC_MPC8543E_v11     CPU_POWERPC_e500v2_v11
164953af181SAndreas Färber #define CPU_POWERPC_MPC8543E_v20     CPU_POWERPC_e500v2_v20
165953af181SAndreas Färber #define CPU_POWERPC_MPC8543E_v21     CPU_POWERPC_e500v2_v21
166953af181SAndreas Färber #define CPU_POWERPC_MPC8544_v10      CPU_POWERPC_e500v2_v21
167953af181SAndreas Färber #define CPU_POWERPC_MPC8544_v11      CPU_POWERPC_e500v2_v22
168953af181SAndreas Färber #define CPU_POWERPC_MPC8544E_v11     CPU_POWERPC_e500v2_v22
169953af181SAndreas Färber #define CPU_POWERPC_MPC8544E_v10     CPU_POWERPC_e500v2_v21
170953af181SAndreas Färber #define CPU_POWERPC_MPC8545_v10      CPU_POWERPC_e500v2_v10
171953af181SAndreas Färber #define CPU_POWERPC_MPC8545_v20      CPU_POWERPC_e500v2_v20
172953af181SAndreas Färber #define CPU_POWERPC_MPC8545_v21      CPU_POWERPC_e500v2_v21
173953af181SAndreas Färber #define CPU_POWERPC_MPC8545E_v10     CPU_POWERPC_e500v2_v10
174953af181SAndreas Färber #define CPU_POWERPC_MPC8545E_v20     CPU_POWERPC_e500v2_v20
175953af181SAndreas Färber #define CPU_POWERPC_MPC8545E_v21     CPU_POWERPC_e500v2_v21
176953af181SAndreas Färber #define CPU_POWERPC_MPC8547E_v10     CPU_POWERPC_e500v2_v10
177953af181SAndreas Färber #define CPU_POWERPC_MPC8547E_v20     CPU_POWERPC_e500v2_v20
178953af181SAndreas Färber #define CPU_POWERPC_MPC8547E_v21     CPU_POWERPC_e500v2_v21
179953af181SAndreas Färber #define CPU_POWERPC_MPC8548_v10      CPU_POWERPC_e500v2_v10
180953af181SAndreas Färber #define CPU_POWERPC_MPC8548_v11      CPU_POWERPC_e500v2_v11
181953af181SAndreas Färber #define CPU_POWERPC_MPC8548_v20      CPU_POWERPC_e500v2_v20
182953af181SAndreas Färber #define CPU_POWERPC_MPC8548_v21      CPU_POWERPC_e500v2_v21
183953af181SAndreas Färber #define CPU_POWERPC_MPC8548E_v10     CPU_POWERPC_e500v2_v10
184953af181SAndreas Färber #define CPU_POWERPC_MPC8548E_v11     CPU_POWERPC_e500v2_v11
185953af181SAndreas Färber #define CPU_POWERPC_MPC8548E_v20     CPU_POWERPC_e500v2_v20
186953af181SAndreas Färber #define CPU_POWERPC_MPC8548E_v21     CPU_POWERPC_e500v2_v21
1870b83377fSPali Rohár #define CPU_POWERPC_MPC8555_v10      CPU_POWERPC_e500v1_v20
1880b83377fSPali Rohár #define CPU_POWERPC_MPC8555_v11      CPU_POWERPC_e500v1_v20
1890b83377fSPali Rohár #define CPU_POWERPC_MPC8555E_v10     CPU_POWERPC_e500v1_v20
1900b83377fSPali Rohár #define CPU_POWERPC_MPC8555E_v11     CPU_POWERPC_e500v1_v20
1910b83377fSPali Rohár #define CPU_POWERPC_MPC8560_v10      CPU_POWERPC_e500v1_v10
1920b83377fSPali Rohár #define CPU_POWERPC_MPC8560_v20      CPU_POWERPC_e500v1_v20
1930b83377fSPali Rohár #define CPU_POWERPC_MPC8560_v21      CPU_POWERPC_e500v1_v20
194953af181SAndreas Färber #define CPU_POWERPC_MPC8567          CPU_POWERPC_e500v2_v22
195953af181SAndreas Färber #define CPU_POWERPC_MPC8567E         CPU_POWERPC_e500v2_v22
196953af181SAndreas Färber #define CPU_POWERPC_MPC8568          CPU_POWERPC_e500v2_v22
197953af181SAndreas Färber #define CPU_POWERPC_MPC8568E         CPU_POWERPC_e500v2_v22
198953af181SAndreas Färber #define CPU_POWERPC_MPC8572          CPU_POWERPC_e500v2_v30
199953af181SAndreas Färber #define CPU_POWERPC_MPC8572E         CPU_POWERPC_e500v2_v30
200953af181SAndreas Färber     /* e600 family */
201953af181SAndreas Färber     /* e600 cores */
202953af181SAndreas Färber     CPU_POWERPC_e600               = 0x80040010,
203953af181SAndreas Färber     /* MPC86xx microcontrollers */
204953af181SAndreas Färber #define CPU_POWERPC_MPC8610          CPU_POWERPC_e600
205953af181SAndreas Färber #define CPU_POWERPC_MPC8641          CPU_POWERPC_e600
206953af181SAndreas Färber #define CPU_POWERPC_MPC8641D         CPU_POWERPC_e600
207953af181SAndreas Färber     /* PowerPC 6xx cores */
208953af181SAndreas Färber     CPU_POWERPC_603                = 0x00030100,
209953af181SAndreas Färber     CPU_POWERPC_603E_v11           = 0x00060101,
210953af181SAndreas Färber     CPU_POWERPC_603E_v12           = 0x00060102,
211953af181SAndreas Färber     CPU_POWERPC_603E_v13           = 0x00060103,
212953af181SAndreas Färber     CPU_POWERPC_603E_v14           = 0x00060104,
213953af181SAndreas Färber     CPU_POWERPC_603E_v22           = 0x00060202,
214953af181SAndreas Färber     CPU_POWERPC_603E_v3            = 0x00060300,
215953af181SAndreas Färber     CPU_POWERPC_603E_v4            = 0x00060400,
216953af181SAndreas Färber     CPU_POWERPC_603E_v41           = 0x00060401,
217953af181SAndreas Färber     CPU_POWERPC_603E7t             = 0x00071201,
218953af181SAndreas Färber     CPU_POWERPC_603E7v             = 0x00070100,
219953af181SAndreas Färber     CPU_POWERPC_603E7v1            = 0x00070101,
220953af181SAndreas Färber     CPU_POWERPC_603E7v2            = 0x00070201,
221953af181SAndreas Färber     CPU_POWERPC_603E7              = 0x00070200,
222953af181SAndreas Färber     CPU_POWERPC_603P               = 0x00070000,
223953af181SAndreas Färber     /* XXX: missing 0x00040303 (604) */
224953af181SAndreas Färber     CPU_POWERPC_604                = 0x00040103,
225953af181SAndreas Färber     /* XXX: missing 0x00091203 */
226953af181SAndreas Färber     /* XXX: missing 0x00092110 */
227953af181SAndreas Färber     /* XXX: missing 0x00092120 */
228953af181SAndreas Färber     CPU_POWERPC_604E_v10           = 0x00090100,
229953af181SAndreas Färber     CPU_POWERPC_604E_v22           = 0x00090202,
230953af181SAndreas Färber     CPU_POWERPC_604E_v24           = 0x00090204,
231953af181SAndreas Färber     /* XXX: missing 0x000a0100 */
232953af181SAndreas Färber     /* XXX: missing 0x00093102 */
233953af181SAndreas Färber     CPU_POWERPC_604R               = 0x000a0101,
234953af181SAndreas Färber     /* PowerPC 740/750 cores (aka G3) */
235953af181SAndreas Färber     /* XXX: missing 0x00084202 */
236953af181SAndreas Färber     CPU_POWERPC_7x0_v10            = 0x00080100,
237953af181SAndreas Färber     CPU_POWERPC_7x0_v20            = 0x00080200,
238953af181SAndreas Färber     CPU_POWERPC_7x0_v21            = 0x00080201,
239953af181SAndreas Färber     CPU_POWERPC_7x0_v22            = 0x00080202,
240953af181SAndreas Färber     CPU_POWERPC_7x0_v30            = 0x00080300,
241953af181SAndreas Färber     CPU_POWERPC_7x0_v31            = 0x00080301,
242953af181SAndreas Färber     CPU_POWERPC_740E               = 0x00080100,
243953af181SAndreas Färber     CPU_POWERPC_750E               = 0x00080200,
244953af181SAndreas Färber     CPU_POWERPC_7x0P               = 0x10080000,
245953af181SAndreas Färber     /* XXX: missing 0x00087010 (CL ?) */
246953af181SAndreas Färber     CPU_POWERPC_750CL_v10          = 0x00087200,
247953af181SAndreas Färber     CPU_POWERPC_750CL_v20          = 0x00087210, /* aka rev E */
248953af181SAndreas Färber     CPU_POWERPC_750CX_v10          = 0x00082100,
249953af181SAndreas Färber     CPU_POWERPC_750CX_v20          = 0x00082200,
250953af181SAndreas Färber     CPU_POWERPC_750CX_v21          = 0x00082201,
251953af181SAndreas Färber     CPU_POWERPC_750CX_v22          = 0x00082202,
252953af181SAndreas Färber     CPU_POWERPC_750CXE_v21         = 0x00082211,
253953af181SAndreas Färber     CPU_POWERPC_750CXE_v22         = 0x00082212,
254953af181SAndreas Färber     CPU_POWERPC_750CXE_v23         = 0x00082213,
255953af181SAndreas Färber     CPU_POWERPC_750CXE_v24         = 0x00082214,
256953af181SAndreas Färber     CPU_POWERPC_750CXE_v24b        = 0x00083214,
257953af181SAndreas Färber     CPU_POWERPC_750CXE_v30         = 0x00082310,
258953af181SAndreas Färber     CPU_POWERPC_750CXE_v31         = 0x00082311,
259953af181SAndreas Färber     CPU_POWERPC_750CXE_v31b        = 0x00083311,
260953af181SAndreas Färber     CPU_POWERPC_750CXR             = 0x00083410,
261953af181SAndreas Färber     CPU_POWERPC_750FL              = 0x70000203,
262953af181SAndreas Färber     CPU_POWERPC_750FX_v10          = 0x70000100,
263953af181SAndreas Färber     CPU_POWERPC_750FX_v20          = 0x70000200,
264953af181SAndreas Färber     CPU_POWERPC_750FX_v21          = 0x70000201,
265953af181SAndreas Färber     CPU_POWERPC_750FX_v22          = 0x70000202,
266953af181SAndreas Färber     CPU_POWERPC_750FX_v23          = 0x70000203,
267953af181SAndreas Färber     CPU_POWERPC_750GL              = 0x70020102,
268953af181SAndreas Färber     CPU_POWERPC_750GX_v10          = 0x70020100,
269953af181SAndreas Färber     CPU_POWERPC_750GX_v11          = 0x70020101,
270953af181SAndreas Färber     CPU_POWERPC_750GX_v12          = 0x70020102,
271953af181SAndreas Färber     CPU_POWERPC_750L_v20           = 0x00088200,
272953af181SAndreas Färber     CPU_POWERPC_750L_v21           = 0x00088201,
273953af181SAndreas Färber     CPU_POWERPC_750L_v22           = 0x00088202,
274953af181SAndreas Färber     CPU_POWERPC_750L_v30           = 0x00088300,
275953af181SAndreas Färber     CPU_POWERPC_750L_v32           = 0x00088302,
276953af181SAndreas Färber     /* PowerPC 745/755 cores */
277953af181SAndreas Färber     CPU_POWERPC_7x5_v10            = 0x00083100,
278953af181SAndreas Färber     CPU_POWERPC_7x5_v11            = 0x00083101,
279953af181SAndreas Färber     CPU_POWERPC_7x5_v20            = 0x00083200,
280953af181SAndreas Färber     CPU_POWERPC_7x5_v21            = 0x00083201,
281953af181SAndreas Färber     CPU_POWERPC_7x5_v22            = 0x00083202, /* aka D */
282953af181SAndreas Färber     CPU_POWERPC_7x5_v23            = 0x00083203, /* aka E */
283953af181SAndreas Färber     CPU_POWERPC_7x5_v24            = 0x00083204,
284953af181SAndreas Färber     CPU_POWERPC_7x5_v25            = 0x00083205,
285953af181SAndreas Färber     CPU_POWERPC_7x5_v26            = 0x00083206,
286953af181SAndreas Färber     CPU_POWERPC_7x5_v27            = 0x00083207,
287953af181SAndreas Färber     CPU_POWERPC_7x5_v28            = 0x00083208,
288953af181SAndreas Färber     /* PowerPC 74xx cores (aka G4) */
289953af181SAndreas Färber     /* XXX: missing 0x000C1101 */
290953af181SAndreas Färber     CPU_POWERPC_7400_v10           = 0x000C0100,
291953af181SAndreas Färber     CPU_POWERPC_7400_v11           = 0x000C0101,
292953af181SAndreas Färber     CPU_POWERPC_7400_v20           = 0x000C0200,
293953af181SAndreas Färber     CPU_POWERPC_7400_v21           = 0x000C0201,
294953af181SAndreas Färber     CPU_POWERPC_7400_v22           = 0x000C0202,
295953af181SAndreas Färber     CPU_POWERPC_7400_v26           = 0x000C0206,
296953af181SAndreas Färber     CPU_POWERPC_7400_v27           = 0x000C0207,
297953af181SAndreas Färber     CPU_POWERPC_7400_v28           = 0x000C0208,
298953af181SAndreas Färber     CPU_POWERPC_7400_v29           = 0x000C0209,
299953af181SAndreas Färber     CPU_POWERPC_7410_v10           = 0x800C1100,
300953af181SAndreas Färber     CPU_POWERPC_7410_v11           = 0x800C1101,
301953af181SAndreas Färber     CPU_POWERPC_7410_v12           = 0x800C1102, /* aka C */
302953af181SAndreas Färber     CPU_POWERPC_7410_v13           = 0x800C1103, /* aka D */
303953af181SAndreas Färber     CPU_POWERPC_7410_v14           = 0x800C1104, /* aka E */
304953af181SAndreas Färber     CPU_POWERPC_7448_v10           = 0x80040100,
305953af181SAndreas Färber     CPU_POWERPC_7448_v11           = 0x80040101,
306953af181SAndreas Färber     CPU_POWERPC_7448_v20           = 0x80040200,
307953af181SAndreas Färber     CPU_POWERPC_7448_v21           = 0x80040201,
308953af181SAndreas Färber     CPU_POWERPC_7450_v10           = 0x80000100,
309953af181SAndreas Färber     CPU_POWERPC_7450_v11           = 0x80000101,
310953af181SAndreas Färber     CPU_POWERPC_7450_v12           = 0x80000102,
311953af181SAndreas Färber     CPU_POWERPC_7450_v20           = 0x80000200, /* aka A, B, C, D: 2.04 */
312953af181SAndreas Färber     CPU_POWERPC_7450_v21           = 0x80000201, /* aka E */
313953af181SAndreas Färber     CPU_POWERPC_74x1_v23           = 0x80000203, /* aka G: 2.3 */
314953af181SAndreas Färber     /* XXX: this entry might be a bug in some documentation */
315953af181SAndreas Färber     CPU_POWERPC_74x1_v210          = 0x80000210, /* aka G: 2.3 ? */
316953af181SAndreas Färber     CPU_POWERPC_74x5_v10           = 0x80010100,
317953af181SAndreas Färber     /* XXX: missing 0x80010200 */
318953af181SAndreas Färber     CPU_POWERPC_74x5_v21           = 0x80010201, /* aka C: 2.1 */
319953af181SAndreas Färber     CPU_POWERPC_74x5_v32           = 0x80010302,
320953af181SAndreas Färber     CPU_POWERPC_74x5_v33           = 0x80010303, /* aka F: 3.3 */
321953af181SAndreas Färber     CPU_POWERPC_74x5_v34           = 0x80010304, /* aka G: 3.4 */
322953af181SAndreas Färber     CPU_POWERPC_74x7_v10           = 0x80020100, /* aka A: 1.0 */
323953af181SAndreas Färber     CPU_POWERPC_74x7_v11           = 0x80020101, /* aka B: 1.1 */
324953af181SAndreas Färber     CPU_POWERPC_74x7_v12           = 0x80020102, /* aka C: 1.2 */
325953af181SAndreas Färber     CPU_POWERPC_74x7A_v10          = 0x80030100, /* aka A: 1.0 */
326953af181SAndreas Färber     CPU_POWERPC_74x7A_v11          = 0x80030101, /* aka B: 1.1 */
327953af181SAndreas Färber     CPU_POWERPC_74x7A_v12          = 0x80030102, /* aka C: 1.2 */
328953af181SAndreas Färber     /* 64 bits PowerPC */
329953af181SAndreas Färber #if defined(TARGET_PPC64)
330953af181SAndreas Färber     CPU_POWERPC_620                = 0x00140000,
331953af181SAndreas Färber     CPU_POWERPC_630                = 0x00400000,
332953af181SAndreas Färber     CPU_POWERPC_631                = 0x00410104,
333953af181SAndreas Färber     CPU_POWERPC_POWER4             = 0x00350000,
334953af181SAndreas Färber     CPU_POWERPC_POWER4P            = 0x00380000,
335953af181SAndreas Färber      /* XXX: missing 0x003A0201 */
336953af181SAndreas Färber     CPU_POWERPC_POWER5             = 0x003A0203,
337f71d4c46SAndreas Färber     CPU_POWERPC_POWER5P_v21        = 0x003B0201,
338953af181SAndreas Färber     CPU_POWERPC_POWER6             = 0x003E0000,
33903ae4133SAlexey Kardashevskiy     CPU_POWERPC_POWER_SERVER_MASK  = 0xFFFF0000,
3403bc9ccc0SAlexey Kardashevskiy     CPU_POWERPC_POWER7_BASE        = 0x003F0000,
341953af181SAndreas Färber     CPU_POWERPC_POWER7_v23         = 0x003F0203,
342b650d6a2SAlexey Kardashevskiy     CPU_POWERPC_POWER7P_BASE       = 0x004A0000,
343a7d6b9f0SAndreas Färber     CPU_POWERPC_POWER7P_v21        = 0x004A0201,
344f6c3ebccSAlexey Kardashevskiy     CPU_POWERPC_POWER8E_BASE       = 0x004B0000,
3459d6ba75dSBenjamin Herrenschmidt     CPU_POWERPC_POWER8E_v21        = 0x004B0201,
346f6c3ebccSAlexey Kardashevskiy     CPU_POWERPC_POWER8_BASE        = 0x004D0000,
3479d6ba75dSBenjamin Herrenschmidt     CPU_POWERPC_POWER8_v20         = 0x004D0200,
348a88dced8SAlexey Kardashevskiy     CPU_POWERPC_POWER8NVL_BASE     = 0x004C0000,
349a88dced8SAlexey Kardashevskiy     CPU_POWERPC_POWER8NVL_v10      = 0x004C0100,
350706d6467SAneesh Kumar K.V     CPU_POWERPC_POWER9_BASE        = 0x004E0000,
3517f65ebb0SNicholas Piggin     CPU_POWERPC_POWER9_DD1         = 0x004E1100,
3521ed9c8afSDavid Gibson     CPU_POWERPC_POWER9_DD20        = 0x004E1200,
353277ee172SNicholas Piggin     CPU_POWERPC_POWER9_DD22        = 0x004E1202,
3547d37b274SCédric Le Goater     CPU_POWERPC_POWER10_BASE       = 0x00800000,
3557f65ebb0SNicholas Piggin     CPU_POWERPC_POWER10_DD1        = 0x00801100,
3567f65ebb0SNicholas Piggin     CPU_POWERPC_POWER10_DD20       = 0x00801200,
357*c0d96407SAditya Gupta     CPU_POWERPC_POWER11_BASE       = 0x00820000,
358*c0d96407SAditya Gupta     CPU_POWERPC_POWER11_DD20       = 0x00821200,
359d7586dc4SAlexey Kardashevskiy     CPU_POWERPC_970_v22            = 0x00390202,
360953af181SAndreas Färber     CPU_POWERPC_970FX_v10          = 0x00391100,
361953af181SAndreas Färber     CPU_POWERPC_970FX_v20          = 0x003C0200,
362953af181SAndreas Färber     CPU_POWERPC_970FX_v21          = 0x003C0201,
363953af181SAndreas Färber     CPU_POWERPC_970FX_v30          = 0x003C0300,
364953af181SAndreas Färber     CPU_POWERPC_970FX_v31          = 0x003C0301,
365953af181SAndreas Färber     CPU_POWERPC_970MP_v10          = 0x00440100,
366953af181SAndreas Färber     CPU_POWERPC_970MP_v11          = 0x00440101,
367953af181SAndreas Färber #define CPU_POWERPC_CELL             CPU_POWERPC_CELL_v32
368953af181SAndreas Färber     CPU_POWERPC_CELL_v10           = 0x00700100,
369953af181SAndreas Färber     CPU_POWERPC_CELL_v20           = 0x00700400,
370953af181SAndreas Färber     CPU_POWERPC_CELL_v30           = 0x00700500,
371953af181SAndreas Färber     CPU_POWERPC_CELL_v31           = 0x00700501,
372953af181SAndreas Färber #define CPU_POWERPC_CELL_v32         CPU_POWERPC_CELL_v31
373953af181SAndreas Färber     CPU_POWERPC_RS64               = 0x00330000,
374953af181SAndreas Färber     CPU_POWERPC_RS64II             = 0x00340000,
375953af181SAndreas Färber     CPU_POWERPC_RS64III            = 0x00360000,
376953af181SAndreas Färber     CPU_POWERPC_RS64IV             = 0x00370000,
377953af181SAndreas Färber #endif /* defined(TARGET_PPC64) */
378953af181SAndreas Färber     /* Original POWER */
379b93745bbSDavid Gibson     /*
380b93745bbSDavid Gibson      * XXX: should be POWER (RIOS), RSC3308, RSC4608,
381953af181SAndreas Färber      * POWER2 (RIOS2) & RSC2 (P2SC) here
382953af181SAndreas Färber      */
383953af181SAndreas Färber     /* PA Semi core */
384953af181SAndreas Färber     CPU_POWERPC_PA6T               = 0x00900000,
385953af181SAndreas Färber };
386953af181SAndreas Färber 
3878dfa3a5eSAlexey Kardashevskiy /* Logical PVR definitions for sPAPR */
3888dfa3a5eSAlexey Kardashevskiy enum {
3898dfa3a5eSAlexey Kardashevskiy     CPU_POWERPC_LOGICAL_2_04       = 0x0F000001,
3908dfa3a5eSAlexey Kardashevskiy     CPU_POWERPC_LOGICAL_2_05       = 0x0F000002,
3918dfa3a5eSAlexey Kardashevskiy     CPU_POWERPC_LOGICAL_2_06       = 0x0F000003,
3928dfa3a5eSAlexey Kardashevskiy     CPU_POWERPC_LOGICAL_2_06_PLUS  = 0x0F100003,
3938dfa3a5eSAlexey Kardashevskiy     CPU_POWERPC_LOGICAL_2_07       = 0x0F000004,
394c104949fSSuraj Jitindar Singh     CPU_POWERPC_LOGICAL_3_00       = 0x0F000005,
3957d37b274SCédric Le Goater     CPU_POWERPC_LOGICAL_3_10       = 0x0F000006,
396*c0d96407SAditya Gupta     CPU_POWERPC_LOGICAL_3_10_P11   = 0x0F000007,
3978dfa3a5eSAlexey Kardashevskiy };
3988dfa3a5eSAlexey Kardashevskiy 
399953af181SAndreas Färber /* System version register (used on MPC 8xxx)                                */
400953af181SAndreas Färber enum {
401953af181SAndreas Färber     POWERPC_SVR_NONE               = 0x00000000,
402953af181SAndreas Färber     POWERPC_SVR_5200_v10           = 0x80110010,
403953af181SAndreas Färber     POWERPC_SVR_5200_v11           = 0x80110011,
404953af181SAndreas Färber     POWERPC_SVR_5200_v12           = 0x80110012,
405953af181SAndreas Färber     POWERPC_SVR_5200B_v20          = 0x80110020,
406953af181SAndreas Färber     POWERPC_SVR_5200B_v21          = 0x80110021,
407953af181SAndreas Färber #define POWERPC_SVR_55xx             POWERPC_SVR_5567
408953af181SAndreas Färber     POWERPC_SVR_8343               = 0x80570010,
409953af181SAndreas Färber     POWERPC_SVR_8343A              = 0x80570030,
410953af181SAndreas Färber     POWERPC_SVR_8343E              = 0x80560010,
411953af181SAndreas Färber     POWERPC_SVR_8343EA             = 0x80560030,
412953af181SAndreas Färber     POWERPC_SVR_8347P              = 0x80550010, /* PBGA package */
413953af181SAndreas Färber     POWERPC_SVR_8347T              = 0x80530010, /* TBGA package */
414953af181SAndreas Färber     POWERPC_SVR_8347AP             = 0x80550030, /* PBGA package */
415953af181SAndreas Färber     POWERPC_SVR_8347AT             = 0x80530030, /* TBGA package */
416953af181SAndreas Färber     POWERPC_SVR_8347EP             = 0x80540010, /* PBGA package */
417953af181SAndreas Färber     POWERPC_SVR_8347ET             = 0x80520010, /* TBGA package */
418953af181SAndreas Färber     POWERPC_SVR_8347EAP            = 0x80540030, /* PBGA package */
419953af181SAndreas Färber     POWERPC_SVR_8347EAT            = 0x80520030, /* TBGA package */
420953af181SAndreas Färber     POWERPC_SVR_8349               = 0x80510010,
421953af181SAndreas Färber     POWERPC_SVR_8349A              = 0x80510030,
422953af181SAndreas Färber     POWERPC_SVR_8349E              = 0x80500010,
423953af181SAndreas Färber     POWERPC_SVR_8349EA             = 0x80500030,
424953af181SAndreas Färber #define POWERPC_SVR_E500             0x40000000
425953af181SAndreas Färber     POWERPC_SVR_8377               = 0x80C70010 | POWERPC_SVR_E500,
426953af181SAndreas Färber     POWERPC_SVR_8377E              = 0x80C60010 | POWERPC_SVR_E500,
427953af181SAndreas Färber     POWERPC_SVR_8378               = 0x80C50010 | POWERPC_SVR_E500,
428953af181SAndreas Färber     POWERPC_SVR_8378E              = 0x80C40010 | POWERPC_SVR_E500,
429953af181SAndreas Färber     POWERPC_SVR_8379               = 0x80C30010 | POWERPC_SVR_E500,
430953af181SAndreas Färber     POWERPC_SVR_8379E              = 0x80C00010 | POWERPC_SVR_E500,
431953af181SAndreas Färber     POWERPC_SVR_8533_v10           = 0x80340010 | POWERPC_SVR_E500,
432953af181SAndreas Färber     POWERPC_SVR_8533_v11           = 0x80340011 | POWERPC_SVR_E500,
433953af181SAndreas Färber     POWERPC_SVR_8533E_v10          = 0x803C0010 | POWERPC_SVR_E500,
434953af181SAndreas Färber     POWERPC_SVR_8533E_v11          = 0x803C0011 | POWERPC_SVR_E500,
435953af181SAndreas Färber     POWERPC_SVR_8540_v10           = 0x80300010 | POWERPC_SVR_E500,
436953af181SAndreas Färber     POWERPC_SVR_8540_v20           = 0x80300020 | POWERPC_SVR_E500,
437953af181SAndreas Färber     POWERPC_SVR_8540_v21           = 0x80300021 | POWERPC_SVR_E500,
438953af181SAndreas Färber     POWERPC_SVR_8541_v10           = 0x80720010 | POWERPC_SVR_E500,
439953af181SAndreas Färber     POWERPC_SVR_8541_v11           = 0x80720011 | POWERPC_SVR_E500,
440953af181SAndreas Färber     POWERPC_SVR_8541E_v10          = 0x807A0010 | POWERPC_SVR_E500,
441953af181SAndreas Färber     POWERPC_SVR_8541E_v11          = 0x807A0011 | POWERPC_SVR_E500,
442953af181SAndreas Färber     POWERPC_SVR_8543_v10           = 0x80320010 | POWERPC_SVR_E500,
443953af181SAndreas Färber     POWERPC_SVR_8543_v11           = 0x80320011 | POWERPC_SVR_E500,
444953af181SAndreas Färber     POWERPC_SVR_8543_v20           = 0x80320020 | POWERPC_SVR_E500,
445953af181SAndreas Färber     POWERPC_SVR_8543_v21           = 0x80320021 | POWERPC_SVR_E500,
446953af181SAndreas Färber     POWERPC_SVR_8543E_v10          = 0x803A0010 | POWERPC_SVR_E500,
447953af181SAndreas Färber     POWERPC_SVR_8543E_v11          = 0x803A0011 | POWERPC_SVR_E500,
448953af181SAndreas Färber     POWERPC_SVR_8543E_v20          = 0x803A0020 | POWERPC_SVR_E500,
449953af181SAndreas Färber     POWERPC_SVR_8543E_v21          = 0x803A0021 | POWERPC_SVR_E500,
450953af181SAndreas Färber     POWERPC_SVR_8544_v10           = 0x80340110 | POWERPC_SVR_E500,
451953af181SAndreas Färber     POWERPC_SVR_8544_v11           = 0x80340111 | POWERPC_SVR_E500,
452953af181SAndreas Färber     POWERPC_SVR_8544E_v10          = 0x803C0110 | POWERPC_SVR_E500,
453953af181SAndreas Färber     POWERPC_SVR_8544E_v11          = 0x803C0111 | POWERPC_SVR_E500,
454953af181SAndreas Färber     POWERPC_SVR_8545_v20           = 0x80310220 | POWERPC_SVR_E500,
455953af181SAndreas Färber     POWERPC_SVR_8545_v21           = 0x80310221 | POWERPC_SVR_E500,
456953af181SAndreas Färber     POWERPC_SVR_8545E_v20          = 0x80390220 | POWERPC_SVR_E500,
457953af181SAndreas Färber     POWERPC_SVR_8545E_v21          = 0x80390221 | POWERPC_SVR_E500,
458953af181SAndreas Färber     POWERPC_SVR_8547E_v20          = 0x80390120 | POWERPC_SVR_E500,
459953af181SAndreas Färber     POWERPC_SVR_8547E_v21          = 0x80390121 | POWERPC_SVR_E500,
460953af181SAndreas Färber     POWERPC_SVR_8548_v10           = 0x80310010 | POWERPC_SVR_E500,
461953af181SAndreas Färber     POWERPC_SVR_8548_v11           = 0x80310011 | POWERPC_SVR_E500,
462953af181SAndreas Färber     POWERPC_SVR_8548_v20           = 0x80310020 | POWERPC_SVR_E500,
463953af181SAndreas Färber     POWERPC_SVR_8548_v21           = 0x80310021 | POWERPC_SVR_E500,
464953af181SAndreas Färber     POWERPC_SVR_8548E_v10          = 0x80390010 | POWERPC_SVR_E500,
465953af181SAndreas Färber     POWERPC_SVR_8548E_v11          = 0x80390011 | POWERPC_SVR_E500,
466953af181SAndreas Färber     POWERPC_SVR_8548E_v20          = 0x80390020 | POWERPC_SVR_E500,
467953af181SAndreas Färber     POWERPC_SVR_8548E_v21          = 0x80390021 | POWERPC_SVR_E500,
468953af181SAndreas Färber     POWERPC_SVR_8555_v10           = 0x80710010 | POWERPC_SVR_E500,
469953af181SAndreas Färber     POWERPC_SVR_8555_v11           = 0x80710011 | POWERPC_SVR_E500,
470953af181SAndreas Färber     POWERPC_SVR_8555E_v10          = 0x80790010 | POWERPC_SVR_E500,
471953af181SAndreas Färber     POWERPC_SVR_8555E_v11          = 0x80790011 | POWERPC_SVR_E500,
472953af181SAndreas Färber     POWERPC_SVR_8560_v10           = 0x80700010 | POWERPC_SVR_E500,
473953af181SAndreas Färber     POWERPC_SVR_8560_v20           = 0x80700020 | POWERPC_SVR_E500,
474953af181SAndreas Färber     POWERPC_SVR_8560_v21           = 0x80700021 | POWERPC_SVR_E500,
475953af181SAndreas Färber     POWERPC_SVR_8567               = 0x80750111 | POWERPC_SVR_E500,
476953af181SAndreas Färber     POWERPC_SVR_8567E              = 0x807D0111 | POWERPC_SVR_E500,
477953af181SAndreas Färber     POWERPC_SVR_8568               = 0x80750011 | POWERPC_SVR_E500,
478953af181SAndreas Färber     POWERPC_SVR_8568E              = 0x807D0011 | POWERPC_SVR_E500,
479953af181SAndreas Färber     POWERPC_SVR_8572               = 0x80E00010 | POWERPC_SVR_E500,
480953af181SAndreas Färber     POWERPC_SVR_8572E              = 0x80E80010 | POWERPC_SVR_E500,
4817162bdeaSJulio Guerra     POWERPC_SVR_8610               = 0x80A00011,
482953af181SAndreas Färber     POWERPC_SVR_8641               = 0x80900021,
483953af181SAndreas Färber     POWERPC_SVR_8641D              = 0x80900121,
484953af181SAndreas Färber };
485953af181SAndreas Färber 
486953af181SAndreas Färber #endif
487