xref: /kvm-unit-tests/lib/powerpc/asm/reg.h (revision 610c5a9c11fc1e8fe936925b8a4975015ffe4b5e)
1 #ifndef _ASMPOWERPC_REG_H
2 #define _ASMPOWERPC_REG_H
3 
4 #include <linux/const.h>
5 
6 #define UL(x) _AC(x, UL)
7 
8 #define SPR_SRR0	0x01a
9 #define SPR_SRR1	0x01b
10 #define SPR_TB		0x10c
11 #define SPR_SPRG0	0x110
12 #define SPR_SPRG1	0x111
13 #define SPR_SPRG2	0x112
14 #define SPR_SPRG3	0x113
15 #define SPR_PVR		0x11f
16 #define   PVR_VERSION_MASK	UL(0xffff0000)
17 #define   PVR_VER_970		UL(0x00390000)
18 #define   PVR_VER_970FX		UL(0x003c0000)
19 #define   PVR_VER_970MP		UL(0x00440000)
20 #define   PVR_VER_POWER8E	UL(0x004b0000)
21 #define   PVR_VER_POWER8NVL	UL(0x004c0000)
22 #define   PVR_VER_POWER8	UL(0x004d0000)
23 #define   PVR_VER_POWER9	UL(0x004e0000)
24 #define   PVR_VER_POWER10	UL(0x00800000)
25 #define SPR_HSRR0	0x13a
26 #define SPR_HSRR1	0x13b
27 #define SPR_MMCR0	0x31b
28 #define   MMCR0_FC		UL(0x80000000)
29 #define   MMCR0_PMAE		UL(0x04000000)
30 #define   MMCR0_PMAO		UL(0x00000080)
31 
32 /* Machine State Register definitions: */
33 #define MSR_LE_BIT	0
34 #define MSR_EE_BIT	15			/* External Interrupts Enable */
35 #define MSR_HV_BIT	60			/* Hypervisor mode */
36 #define MSR_SF_BIT	63			/* 64-bit mode */
37 
38 #define MSR_ME		UL(0x1000)
39 
40 #endif
41