Path: blob/master/arch/sh/include/cpu-sh5/cpu/registers.h
17542 views
#ifndef __ASM_SH_CPU_SH5_REGISTERS_H1#define __ASM_SH_CPU_SH5_REGISTERS_H23/*4* include/asm-sh/cpu-sh5/registers.h5*6* Copyright (C) 2000, 2001 Paolo Alberelli7* Copyright (C) 2004 Richard Curnow8*9* This file is subject to the terms and conditions of the GNU General Public10* License. See the file "COPYING" in the main directory of this archive11* for more details.12*/1314#ifdef __ASSEMBLY__15/* =====================================================================16**17** Section 1: acts on assembly sources pre-processed by GPP ( <source.S>).18** Assigns symbolic names to control & target registers.19*/2021/*22* Define some useful aliases for control registers.23*/24#define SR cr025#define SSR cr126#define PSSR cr227/* cr3 UNDEFINED */28#define INTEVT cr429#define EXPEVT cr530#define PEXPEVT cr631#define TRA cr732#define SPC cr833#define PSPC cr934#define RESVEC cr1035#define VBR cr1136/* cr12 UNDEFINED */37#define TEA cr1338/* cr14-cr15 UNDEFINED */39#define DCR cr1640#define KCR0 cr1741#define KCR1 cr1842/* cr19-cr31 UNDEFINED */43/* cr32-cr61 RESERVED */44#define CTC cr6245#define USR cr634647/*48* ABI dependent registers (general purpose set)49*/50#define RET r251#define ARG1 r252#define ARG2 r353#define ARG3 r454#define ARG4 r555#define ARG5 r656#define ARG6 r757#define SP r1558#define LINK r1859#define ZERO r636061/*62* Status register defines: used only by assembly sources (and63* syntax independednt)64*/65#define SR_RESET_VAL 0x000000005000800066#define SR_HARMLESS 0x00000000500080f0 /* Write ignores for most */67#define SR_ENABLE_FPU 0xffffffffffff7fff /* AND with this */6869#if defined (CONFIG_SH64_SR_WATCH)70#define SR_ENABLE_MMU 0x0000000084000000 /* OR with this */71#else72#define SR_ENABLE_MMU 0x0000000080000000 /* OR with this */73#endif7475#define SR_UNBLOCK_EXC 0xffffffffefffffff /* AND with this */76#define SR_BLOCK_EXC 0x0000000010000000 /* OR with this */7778#else /* Not __ASSEMBLY__ syntax */7980/*81** Stringify reg. name82*/83#define __str(x) #x8485/* Stringify control register names for use in inline assembly */86#define __SR __str(SR)87#define __SSR __str(SSR)88#define __PSSR __str(PSSR)89#define __INTEVT __str(INTEVT)90#define __EXPEVT __str(EXPEVT)91#define __PEXPEVT __str(PEXPEVT)92#define __TRA __str(TRA)93#define __SPC __str(SPC)94#define __PSPC __str(PSPC)95#define __RESVEC __str(RESVEC)96#define __VBR __str(VBR)97#define __TEA __str(TEA)98#define __DCR __str(DCR)99#define __KCR0 __str(KCR0)100#define __KCR1 __str(KCR1)101#define __CTC __str(CTC)102#define __USR __str(USR)103104#endif /* __ASSEMBLY__ */105#endif /* __ASM_SH_CPU_SH5_REGISTERS_H */106107108