xref: /kvm-unit-tests/lib/powerpc/asm/reg.h (revision 93c847c1e5cbe266496ee66dc83dcfa24c401c96)
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_DSISR	0x012
9 #define SPR_DAR		0x013
10 #define SPR_DEC		0x016
11 #define SPR_SRR0	0x01a
12 #define SPR_SRR1	0x01b
13 #define   SRR1_PREFIX		UL(0x20000000)
14 #define SPR_PIDR	0x030
15 #define SPR_FSCR	0x099
16 #define   FSCR_PREFIX		UL(0x2000)
17 #define SPR_HFSCR	0x0be
18 #define SPR_TB		0x10c
19 #define SPR_SPRG0	0x110
20 #define SPR_SPRG1	0x111
21 #define SPR_SPRG2	0x112
22 #define SPR_SPRG3	0x113
23 #define SPR_TBU40	0x11e
24 #define SPR_PVR		0x11f
25 #define   PVR_VERSION_MASK	UL(0xffff0000)
26 #define   PVR_VER_970		UL(0x00390000)
27 #define   PVR_VER_970FX		UL(0x003c0000)
28 #define   PVR_VER_970MP		UL(0x00440000)
29 #define   PVR_VER_POWER8E	UL(0x004b0000)
30 #define   PVR_VER_POWER8NVL	UL(0x004c0000)
31 #define   PVR_VER_POWER8	UL(0x004d0000)
32 #define   PVR_VER_POWER9	UL(0x004e0000)
33 #define   PVR_VER_POWER10	UL(0x00800000)
34 #define SPR_HDEC	0x136
35 #define SPR_HSRR0	0x13a
36 #define SPR_HSRR1	0x13b
37 #define SPR_LPCR	0x13e
38 #define   LPCR_HDICE		UL(0x1)
39 #define   LPCR_LD		UL(0x20000)
40 #define SPR_LPIDR	0x13f
41 #define SPR_HEIR	0x153
42 #define SPR_PTCR	0x1d0
43 #define SPR_MMCR0	0x31b
44 #define   MMCR0_FC		UL(0x80000000)
45 #define   MMCR0_PMAE		UL(0x04000000)
46 #define   MMCR0_PMAO		UL(0x00000080)
47 #define SPR_SIAR	0x31c
48 
49 /* Machine State Register definitions: */
50 #define MSR_LE_BIT	0
51 #define MSR_EE_BIT	15			/* External Interrupts Enable */
52 #define MSR_HV_BIT	60			/* Hypervisor mode */
53 #define MSR_SF_BIT	63			/* 64-bit mode */
54 
55 #define MSR_DR		UL(0x0010)
56 #define MSR_IR		UL(0x0020)
57 #define MSR_BE		UL(0x0200)		/* Branch Trace Enable */
58 #define MSR_SE		UL(0x0400)		/* Single Step Enable */
59 #define MSR_EE		UL(0x8000)
60 #define MSR_ME		UL(0x1000)
61 #define MSR_PR		UL(0x4000)
62 
63 #endif
64