xref: /kvm-unit-tests/lib/powerpc/asm/reg.h (revision 00af1c849ced4e515f8659658d18652df2eb08fa)
19c5e1913SNicholas Piggin #ifndef _ASMPOWERPC_REG_H
29c5e1913SNicholas Piggin #define _ASMPOWERPC_REG_H
39c5e1913SNicholas Piggin 
49c5e1913SNicholas Piggin #include <linux/const.h>
59c5e1913SNicholas Piggin 
69c5e1913SNicholas Piggin #define UL(x) _AC(x, UL)
79c5e1913SNicholas Piggin 
8*00af1c84SNicholas Piggin #define SPR_DSISR	0x012
9*00af1c84SNicholas Piggin #define SPR_DAR		0x013
10*00af1c84SNicholas Piggin #define SPR_DEC		0x016
118f6290f0SNicholas Piggin #define SPR_SRR0	0x01a
128f6290f0SNicholas Piggin #define SPR_SRR1	0x01b
13*00af1c84SNicholas Piggin #define   SRR1_PREFIX		UL(0x20000000)
14*00af1c84SNicholas Piggin #define SPR_FSCR	0x099
15*00af1c84SNicholas Piggin #define   FSCR_PREFIX		UL(0x2000)
16*00af1c84SNicholas Piggin #define SPR_HFSCR	0x0be
179c5e1913SNicholas Piggin #define SPR_TB		0x10c
189c5e1913SNicholas Piggin #define SPR_SPRG0	0x110
199c5e1913SNicholas Piggin #define SPR_SPRG1	0x111
209c5e1913SNicholas Piggin #define SPR_SPRG2	0x112
219c5e1913SNicholas Piggin #define SPR_SPRG3	0x113
229c5e1913SNicholas Piggin #define SPR_PVR		0x11f
239c5e1913SNicholas Piggin #define   PVR_VERSION_MASK	UL(0xffff0000)
249c5e1913SNicholas Piggin #define   PVR_VER_970		UL(0x00390000)
259c5e1913SNicholas Piggin #define   PVR_VER_970FX		UL(0x003c0000)
269c5e1913SNicholas Piggin #define   PVR_VER_970MP		UL(0x00440000)
279c5e1913SNicholas Piggin #define   PVR_VER_POWER8E	UL(0x004b0000)
289c5e1913SNicholas Piggin #define   PVR_VER_POWER8NVL	UL(0x004c0000)
299c5e1913SNicholas Piggin #define   PVR_VER_POWER8	UL(0x004d0000)
309c5e1913SNicholas Piggin #define   PVR_VER_POWER9	UL(0x004e0000)
319c5e1913SNicholas Piggin #define   PVR_VER_POWER10	UL(0x00800000)
32*00af1c84SNicholas Piggin #define SPR_HDEC	0x136
339c5e1913SNicholas Piggin #define SPR_HSRR0	0x13a
349c5e1913SNicholas Piggin #define SPR_HSRR1	0x13b
35*00af1c84SNicholas Piggin #define SPR_LPCR	0x13e
36*00af1c84SNicholas Piggin #define   LPCR_HDICE		UL(0x1)
37*00af1c84SNicholas Piggin #define SPR_HEIR	0x153
38d499b05fSNicholas Piggin #define SPR_MMCR0	0x31b
39d499b05fSNicholas Piggin #define   MMCR0_FC		UL(0x80000000)
40d499b05fSNicholas Piggin #define   MMCR0_PMAE		UL(0x04000000)
41d499b05fSNicholas Piggin #define   MMCR0_PMAO		UL(0x00000080)
42*00af1c84SNicholas Piggin #define SPR_SIAR	0x31c
439c5e1913SNicholas Piggin 
449c5e1913SNicholas Piggin /* Machine State Register definitions: */
45610c5a9cSNicholas Piggin #define MSR_LE_BIT	0
469c5e1913SNicholas Piggin #define MSR_EE_BIT	15			/* External Interrupts Enable */
47610c5a9cSNicholas Piggin #define MSR_HV_BIT	60			/* Hypervisor mode */
489c5e1913SNicholas Piggin #define MSR_SF_BIT	63			/* 64-bit mode */
499c5e1913SNicholas Piggin 
50*00af1c84SNicholas Piggin #define MSR_DR		UL(0x0010)
51*00af1c84SNicholas Piggin #define MSR_IR		UL(0x0020)
52*00af1c84SNicholas Piggin #define MSR_BE		UL(0x0200)		/* Branch Trace Enable */
53*00af1c84SNicholas Piggin #define MSR_SE		UL(0x0400)		/* Single Step Enable */
54*00af1c84SNicholas Piggin #define MSR_EE		UL(0x8000)
55610c5a9cSNicholas Piggin #define MSR_ME		UL(0x1000)
56610c5a9cSNicholas Piggin 
579c5e1913SNicholas Piggin #endif
58