#ifndef _POWERPC_MPC8XX_SPR_H_
#define _POWERPC_MPC8XX_SPR_H_
#define MPC860 0x0050
#define SPR_DSISR 0x012
#define DSISR_NOTFOUND 0x40000000
#define DSISR_PROTECT 0x08000000
#define DSISR_STORE 0x02000000
#define SPR_DAR 0x013
#define SPR_EIE 0x050
#define SPR_EID 0x051
#define SPR_NRI 0x052
#define SPR_CMPA 0x090
#define SPR_CMPB 0x091
#define SPR_CMPC 0x092
#define SPR_CMPD 0x093
#define SPR_ICR 0x094
#define SPR_DER 0x095
#define SPR_COUNTA 0x096
#define SPR_COUNTB 0x097
#define SPR_CMPE 0x098
#define SPR_CMPF 0x099
#define SPR_CMPG 0x09a
#define SPR_CMPH 0x09b
#define SPR_LCTRL1 0x09c
#define SPR_LCTRL2 0x09d
#define SPR_ICTRL 0x09e
#define SPR_BAR 0x09f
#define SPR_IBAT0U 0x210
#define SPR_IC_CST 0x230
#define IC_CST_IEN 0x80000000
#define IC_CST_CMD_INVALL 0x0c000000
#define IC_CST_CMD_UNLOCKALL 0x0a000000
#define IC_CST_CMD_UNLOCK 0x08000000
#define IC_CST_CMD_LOADLOCK 0x06000000
#define IC_CST_CMD_DISABLE 0x04000000
#define IC_CST_CMD_ENABLE 0x02000000
#define IC_CST_CCER1 0x00200000
#define IC_CST_CCER2 0x00100000
#define IC_CST_CCER3 0x00080000
#define SPR_IC_ADR 0x231
#define SPR_IC_DAT 0x232
#define SPR_DC_CST 0x238
#define DC_CST_DEN 0x80000000
#define DC_CST_DFWT 0x40000000
#define DC_CST_LES 0x20000000
#define DC_CST_CMD_FLUSH 0x0e000000
#define DC_CST_CMD_INVALL 0x0c000000
#define DC_CST_CMD_UNLOCKALL 0x0a000000
#define DC_CST_CMD_UNLOCK 0x08000000
#define DC_CST_CMD_CLRLESWAP 0x07000000
#define DC_CST_CMD_LOADLOCK 0x06000000
#define DC_CST_CMD_SETLESWAP 0x05000000
#define DC_CST_CMD_DISABLE 0x04000000
#define DC_CST_CMD_CLRFWT 0x03000000
#define DC_CST_CMD_ENABLE 0x02000000
#define DC_CST_CMD_SETFWT 0x01000000
#define DC_CST_CCER1 0x00200000
#define DC_CST_CCER2 0x00100000
#define DC_CST_CCER3 0x00080000
#define SPR_DC_ADR 0x239
#define SPR_DC_DAT 0x23a
#define SPR_DPIR 0x275
#define SPR_DPDR 0x276
#define SPR_IMMR 0x275
#define IMMR_ISB 0xffff0000
#define IMMR_PARTNUM 0x0000ff00
#define IMMR_MASKNUM 0x000000ff
#define SPR_MI_CTR 0x310
#define Mx_CTR_GPM 0x80000000
#define Mx_CTR_PPM 0x40000000
#define Mx_CTR_CIDEF 0x20000000
#define MD_CTR_WTDEF 0x20000000
#define Mx_CTR_RSV4 0x08000000
#define MD_CTR_TWAM 0x04000000
#define Mx_CTR_PPCS 0x02000000
#define Mx_CTR_TLB_INDX 0x000001f0
#define Mx_CTR_TLB_INDX_BITPOS 8
#define SPR_MI_AP 0x312
#define Mx_GP_SUPER(n) (0 << (2*(15-(n))))
#define Mx_GP_PAGE (1 << (2*(15-(n))))
#define Mx_GP_SWAPPED (2 << (2*(15-(n))))
#define Mx_GP_USER (3 << (2*(15-(n))))
#define SPR_MI_EPN 0x313
#define Mx_EPN_EPN 0xfffff000
#define Mx_EPN_EV 0x00000020
#define Mx_EPN_ASID 0x0000000f
#define SPR_MI_TWC 0x315
#define MD_TWC_L2TB 0xfffff000
#define Mx_TWC_APG 0x000001e0
#define Mx_TWC_G 0x00000010
#define Mx_TWC_PS 0x0000000c
#define MD_TWC_WT 0x00000002
#define Mx_TWC_V 0x00000001
#define SPR_MI_RPN 0x316
#define Mx_RPN_RPN 0xfffff000
#define Mx_RPN_PP 0x00000ff0
#define Mx_RPN_SPS 0x00000008
#define Mx_RPN_SH 0x00000004
#define Mx_RPN_CI 0x00000002
#define Mx_RPN_V 0x00000001
#define SPR_MD_CTR 0x318
#define SPR_M_CASID 0x319
#define M_CASID 0x0000000f
#define SPR_MD_AP 0x31a
#define SPR_MD_EPN 0x31b
#define SPR_M_TWB 0x31c
#define M_TWB_L1TB 0xfffff000
#define M_TWB_L1INDX 0x00000ffc
#define SPR_MD_TWC 0x31d
#define SPR_MD_RPN 0x31e
#define SPR_MD_TW 0x31f
#define SPR_MI_CAM 0x330
#define SPR_MI_RAM0 0x331
#define SPR_MI_RAM1 0x332
#define SPR_MD_CAM 0x338
#define SPR_MD_RAM0 0x339
#define SPR_MD_RAM1 0x33a
#define SPR_DMISS 0x3d0
#define SPR_DCMP 0x3d1
#define SPR_HASH1 0x3d2
#define SPR_HASH2 0x3d3
#define SPR_IMISS 0x3d4
#define SPR_ICMP 0x3d5
#define SPR_RPA 0x3d6
#define SPR_HID0 0x3f0
#define SPR_HID1 0x3f1
#define SPR_IABR 0x3f2
#define SPR_HID2 0x3f3
#endif