Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  arch/arm/include/asm/glue-proc.h
0004  *
0005  *  Copyright (C) 1997-1999 Russell King
0006  *  Copyright (C) 2000 Deep Blue Solutions Ltd
0007  */
0008 #ifndef ASM_GLUE_PROC_H
0009 #define ASM_GLUE_PROC_H
0010 
0011 #include <asm/glue.h>
0012 
0013 /*
0014  * Work out if we need multiple CPU support
0015  */
0016 #undef MULTI_CPU
0017 #undef CPU_NAME
0018 
0019 /*
0020  * CPU_NAME - the prefix for CPU related functions
0021  */
0022 
0023 #ifdef CONFIG_CPU_ARM7TDMI
0024 # ifdef CPU_NAME
0025 #  undef  MULTI_CPU
0026 #  define MULTI_CPU
0027 # else
0028 #  define CPU_NAME cpu_arm7tdmi
0029 # endif
0030 #endif
0031 
0032 #ifdef CONFIG_CPU_ARM720T
0033 # ifdef CPU_NAME
0034 #  undef  MULTI_CPU
0035 #  define MULTI_CPU
0036 # else
0037 #  define CPU_NAME cpu_arm720
0038 # endif
0039 #endif
0040 
0041 #ifdef CONFIG_CPU_ARM740T
0042 # ifdef CPU_NAME
0043 #  undef  MULTI_CPU
0044 #  define MULTI_CPU
0045 # else
0046 #  define CPU_NAME cpu_arm740
0047 # endif
0048 #endif
0049 
0050 #ifdef CONFIG_CPU_ARM9TDMI
0051 # ifdef CPU_NAME
0052 #  undef  MULTI_CPU
0053 #  define MULTI_CPU
0054 # else
0055 #  define CPU_NAME cpu_arm9tdmi
0056 # endif
0057 #endif
0058 
0059 #ifdef CONFIG_CPU_ARM920T
0060 # ifdef CPU_NAME
0061 #  undef  MULTI_CPU
0062 #  define MULTI_CPU
0063 # else
0064 #  define CPU_NAME cpu_arm920
0065 # endif
0066 #endif
0067 
0068 #ifdef CONFIG_CPU_ARM922T
0069 # ifdef CPU_NAME
0070 #  undef  MULTI_CPU
0071 #  define MULTI_CPU
0072 # else
0073 #  define CPU_NAME cpu_arm922
0074 # endif
0075 #endif
0076 
0077 #ifdef CONFIG_CPU_FA526
0078 # ifdef CPU_NAME
0079 #  undef  MULTI_CPU
0080 #  define MULTI_CPU
0081 # else
0082 #  define CPU_NAME cpu_fa526
0083 # endif
0084 #endif
0085 
0086 #ifdef CONFIG_CPU_ARM925T
0087 # ifdef CPU_NAME
0088 #  undef  MULTI_CPU
0089 #  define MULTI_CPU
0090 # else
0091 #  define CPU_NAME cpu_arm925
0092 # endif
0093 #endif
0094 
0095 #ifdef CONFIG_CPU_ARM926T
0096 # ifdef CPU_NAME
0097 #  undef  MULTI_CPU
0098 #  define MULTI_CPU
0099 # else
0100 #  define CPU_NAME cpu_arm926
0101 # endif
0102 #endif
0103 
0104 #ifdef CONFIG_CPU_ARM940T
0105 # ifdef CPU_NAME
0106 #  undef  MULTI_CPU
0107 #  define MULTI_CPU
0108 # else
0109 #  define CPU_NAME cpu_arm940
0110 # endif
0111 #endif
0112 
0113 #ifdef CONFIG_CPU_ARM946E
0114 # ifdef CPU_NAME
0115 #  undef  MULTI_CPU
0116 #  define MULTI_CPU
0117 # else
0118 #  define CPU_NAME cpu_arm946
0119 # endif
0120 #endif
0121 
0122 #ifdef CONFIG_CPU_SA110
0123 # ifdef CPU_NAME
0124 #  undef  MULTI_CPU
0125 #  define MULTI_CPU
0126 # else
0127 #  define CPU_NAME cpu_sa110
0128 # endif
0129 #endif
0130 
0131 #ifdef CONFIG_CPU_SA1100
0132 # ifdef CPU_NAME
0133 #  undef  MULTI_CPU
0134 #  define MULTI_CPU
0135 # else
0136 #  define CPU_NAME cpu_sa1100
0137 # endif
0138 #endif
0139 
0140 #ifdef CONFIG_CPU_ARM1020
0141 # ifdef CPU_NAME
0142 #  undef  MULTI_CPU
0143 #  define MULTI_CPU
0144 # else
0145 #  define CPU_NAME cpu_arm1020
0146 # endif
0147 #endif
0148 
0149 #ifdef CONFIG_CPU_ARM1020E
0150 # ifdef CPU_NAME
0151 #  undef  MULTI_CPU
0152 #  define MULTI_CPU
0153 # else
0154 #  define CPU_NAME cpu_arm1020e
0155 # endif
0156 #endif
0157 
0158 #ifdef CONFIG_CPU_ARM1022
0159 # ifdef CPU_NAME
0160 #  undef  MULTI_CPU
0161 #  define MULTI_CPU
0162 # else
0163 #  define CPU_NAME cpu_arm1022
0164 # endif
0165 #endif
0166 
0167 #ifdef CONFIG_CPU_ARM1026
0168 # ifdef CPU_NAME
0169 #  undef  MULTI_CPU
0170 #  define MULTI_CPU
0171 # else
0172 #  define CPU_NAME cpu_arm1026
0173 # endif
0174 #endif
0175 
0176 #ifdef CONFIG_CPU_XSCALE
0177 # ifdef CPU_NAME
0178 #  undef  MULTI_CPU
0179 #  define MULTI_CPU
0180 # else
0181 #  define CPU_NAME cpu_xscale
0182 # endif
0183 #endif
0184 
0185 #ifdef CONFIG_CPU_XSC3
0186 # ifdef CPU_NAME
0187 #  undef  MULTI_CPU
0188 #  define MULTI_CPU
0189 # else
0190 #  define CPU_NAME cpu_xsc3
0191 # endif
0192 #endif
0193 
0194 #ifdef CONFIG_CPU_MOHAWK
0195 # ifdef CPU_NAME
0196 #  undef  MULTI_CPU
0197 #  define MULTI_CPU
0198 # else
0199 #  define CPU_NAME cpu_mohawk
0200 # endif
0201 #endif
0202 
0203 #ifdef CONFIG_CPU_FEROCEON
0204 # ifdef CPU_NAME
0205 #  undef  MULTI_CPU
0206 #  define MULTI_CPU
0207 # else
0208 #  define CPU_NAME cpu_feroceon
0209 # endif
0210 #endif
0211 
0212 #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
0213 # ifdef CPU_NAME
0214 #  undef  MULTI_CPU
0215 #  define MULTI_CPU
0216 # else
0217 #  define CPU_NAME cpu_v6
0218 # endif
0219 #endif
0220 
0221 #ifdef CONFIG_CPU_V7M
0222 # ifdef CPU_NAME
0223 #  undef  MULTI_CPU
0224 #  define MULTI_CPU
0225 # else
0226 #  define CPU_NAME cpu_v7m
0227 # endif
0228 #endif
0229 
0230 #ifdef CONFIG_CPU_PJ4B
0231 # ifdef CPU_NAME
0232 #  undef  MULTI_CPU
0233 #  define MULTI_CPU
0234 # else
0235 #  define CPU_NAME cpu_pj4b
0236 # endif
0237 #endif
0238 
0239 #ifdef CONFIG_CPU_V7
0240 /*
0241  * Cortex-A9 needs a different suspend/resume function, so we need
0242  * multiple CPU support for ARMv7 anyway.
0243  */
0244 #  undef  MULTI_CPU
0245 #  define MULTI_CPU
0246 #endif
0247 
0248 #ifndef MULTI_CPU
0249 #define cpu_proc_init           __glue(CPU_NAME,_proc_init)
0250 #define cpu_proc_fin            __glue(CPU_NAME,_proc_fin)
0251 #define cpu_reset           __glue(CPU_NAME,_reset)
0252 #define cpu_do_idle         __glue(CPU_NAME,_do_idle)
0253 #define cpu_dcache_clean_area       __glue(CPU_NAME,_dcache_clean_area)
0254 #define cpu_do_switch_mm        __glue(CPU_NAME,_switch_mm)
0255 #define cpu_set_pte_ext         __glue(CPU_NAME,_set_pte_ext)
0256 #define cpu_suspend_size        __glue(CPU_NAME,_suspend_size)
0257 #define cpu_do_suspend          __glue(CPU_NAME,_do_suspend)
0258 #define cpu_do_resume           __glue(CPU_NAME,_do_resume)
0259 #endif
0260 
0261 #endif