1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_CPU_SH5_REGISTERS_H
3 #define __ASM_SH_CPU_SH5_REGISTERS_H
6 * include/asm-sh/cpu-sh5/registers.h
8 * Copyright (C) 2000, 2001 Paolo Alberelli
9 * Copyright (C) 2004 Richard Curnow
13 /* =====================================================================
15 ** Section 1: acts on assembly sources pre-processed by GPP ( <source.S>).
16 ** Assigns symbolic names to control & target registers.
20 * Define some useful aliases for control registers.
36 /* cr14-cr15 UNDEFINED */
40 /* cr19-cr31 UNDEFINED */
41 /* cr32-cr61 RESERVED */
46 * ABI dependent registers (general purpose set)
60 * Status register defines: used only by assembly sources (and
61 * syntax independednt)
63 #define SR_RESET_VAL 0x0000000050008000
64 #define SR_HARMLESS 0x00000000500080f0 /* Write ignores for most */
65 #define SR_ENABLE_FPU 0xffffffffffff7fff /* AND with this */
67 #if defined (CONFIG_SH64_SR_WATCH)
68 #define SR_ENABLE_MMU 0x0000000084000000 /* OR with this */
70 #define SR_ENABLE_MMU 0x0000000080000000 /* OR with this */
73 #define SR_UNBLOCK_EXC 0xffffffffefffffff /* AND with this */
74 #define SR_BLOCK_EXC 0x0000000010000000 /* OR with this */
76 #else /* Not __ASSEMBLY__ syntax */
79 ** Stringify reg. name
83 /* Stringify control register names for use in inline assembly */
84 #define __SR __str(SR)
85 #define __SSR __str(SSR)
86 #define __PSSR __str(PSSR)
87 #define __INTEVT __str(INTEVT)
88 #define __EXPEVT __str(EXPEVT)
89 #define __PEXPEVT __str(PEXPEVT)
90 #define __TRA __str(TRA)
91 #define __SPC __str(SPC)
92 #define __PSPC __str(PSPC)
93 #define __RESVEC __str(RESVEC)
94 #define __VBR __str(VBR)
95 #define __TEA __str(TEA)
96 #define __DCR __str(DCR)
97 #define __KCR0 __str(KCR0)
98 #define __KCR1 __str(KCR1)
99 #define __CTC __str(CTC)
100 #define __USR __str(USR)
102 #endif /* __ASSEMBLY__ */
103 #endif /* __ASM_SH_CPU_SH5_REGISTERS_H */