glue-proc.h (4424B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * arch/arm/include/asm/glue-proc.h 4 * 5 * Copyright (C) 1997-1999 Russell King 6 * Copyright (C) 2000 Deep Blue Solutions Ltd 7 */ 8#ifndef ASM_GLUE_PROC_H 9#define ASM_GLUE_PROC_H 10 11#include <asm/glue.h> 12 13/* 14 * Work out if we need multiple CPU support 15 */ 16#undef MULTI_CPU 17#undef CPU_NAME 18 19/* 20 * CPU_NAME - the prefix for CPU related functions 21 */ 22 23#ifdef CONFIG_CPU_ARM7TDMI 24# ifdef CPU_NAME 25# undef MULTI_CPU 26# define MULTI_CPU 27# else 28# define CPU_NAME cpu_arm7tdmi 29# endif 30#endif 31 32#ifdef CONFIG_CPU_ARM720T 33# ifdef CPU_NAME 34# undef MULTI_CPU 35# define MULTI_CPU 36# else 37# define CPU_NAME cpu_arm720 38# endif 39#endif 40 41#ifdef CONFIG_CPU_ARM740T 42# ifdef CPU_NAME 43# undef MULTI_CPU 44# define MULTI_CPU 45# else 46# define CPU_NAME cpu_arm740 47# endif 48#endif 49 50#ifdef CONFIG_CPU_ARM9TDMI 51# ifdef CPU_NAME 52# undef MULTI_CPU 53# define MULTI_CPU 54# else 55# define CPU_NAME cpu_arm9tdmi 56# endif 57#endif 58 59#ifdef CONFIG_CPU_ARM920T 60# ifdef CPU_NAME 61# undef MULTI_CPU 62# define MULTI_CPU 63# else 64# define CPU_NAME cpu_arm920 65# endif 66#endif 67 68#ifdef CONFIG_CPU_ARM922T 69# ifdef CPU_NAME 70# undef MULTI_CPU 71# define MULTI_CPU 72# else 73# define CPU_NAME cpu_arm922 74# endif 75#endif 76 77#ifdef CONFIG_CPU_FA526 78# ifdef CPU_NAME 79# undef MULTI_CPU 80# define MULTI_CPU 81# else 82# define CPU_NAME cpu_fa526 83# endif 84#endif 85 86#ifdef CONFIG_CPU_ARM925T 87# ifdef CPU_NAME 88# undef MULTI_CPU 89# define MULTI_CPU 90# else 91# define CPU_NAME cpu_arm925 92# endif 93#endif 94 95#ifdef CONFIG_CPU_ARM926T 96# ifdef CPU_NAME 97# undef MULTI_CPU 98# define MULTI_CPU 99# else 100# define CPU_NAME cpu_arm926 101# endif 102#endif 103 104#ifdef CONFIG_CPU_ARM940T 105# ifdef CPU_NAME 106# undef MULTI_CPU 107# define MULTI_CPU 108# else 109# define CPU_NAME cpu_arm940 110# endif 111#endif 112 113#ifdef CONFIG_CPU_ARM946E 114# ifdef CPU_NAME 115# undef MULTI_CPU 116# define MULTI_CPU 117# else 118# define CPU_NAME cpu_arm946 119# endif 120#endif 121 122#ifdef CONFIG_CPU_SA110 123# ifdef CPU_NAME 124# undef MULTI_CPU 125# define MULTI_CPU 126# else 127# define CPU_NAME cpu_sa110 128# endif 129#endif 130 131#ifdef CONFIG_CPU_SA1100 132# ifdef CPU_NAME 133# undef MULTI_CPU 134# define MULTI_CPU 135# else 136# define CPU_NAME cpu_sa1100 137# endif 138#endif 139 140#ifdef CONFIG_CPU_ARM1020 141# ifdef CPU_NAME 142# undef MULTI_CPU 143# define MULTI_CPU 144# else 145# define CPU_NAME cpu_arm1020 146# endif 147#endif 148 149#ifdef CONFIG_CPU_ARM1020E 150# ifdef CPU_NAME 151# undef MULTI_CPU 152# define MULTI_CPU 153# else 154# define CPU_NAME cpu_arm1020e 155# endif 156#endif 157 158#ifdef CONFIG_CPU_ARM1022 159# ifdef CPU_NAME 160# undef MULTI_CPU 161# define MULTI_CPU 162# else 163# define CPU_NAME cpu_arm1022 164# endif 165#endif 166 167#ifdef CONFIG_CPU_ARM1026 168# ifdef CPU_NAME 169# undef MULTI_CPU 170# define MULTI_CPU 171# else 172# define CPU_NAME cpu_arm1026 173# endif 174#endif 175 176#ifdef CONFIG_CPU_XSCALE 177# ifdef CPU_NAME 178# undef MULTI_CPU 179# define MULTI_CPU 180# else 181# define CPU_NAME cpu_xscale 182# endif 183#endif 184 185#ifdef CONFIG_CPU_XSC3 186# ifdef CPU_NAME 187# undef MULTI_CPU 188# define MULTI_CPU 189# else 190# define CPU_NAME cpu_xsc3 191# endif 192#endif 193 194#ifdef CONFIG_CPU_MOHAWK 195# ifdef CPU_NAME 196# undef MULTI_CPU 197# define MULTI_CPU 198# else 199# define CPU_NAME cpu_mohawk 200# endif 201#endif 202 203#ifdef CONFIG_CPU_FEROCEON 204# ifdef CPU_NAME 205# undef MULTI_CPU 206# define MULTI_CPU 207# else 208# define CPU_NAME cpu_feroceon 209# endif 210#endif 211 212#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) 213# ifdef CPU_NAME 214# undef MULTI_CPU 215# define MULTI_CPU 216# else 217# define CPU_NAME cpu_v6 218# endif 219#endif 220 221#ifdef CONFIG_CPU_V7M 222# ifdef CPU_NAME 223# undef MULTI_CPU 224# define MULTI_CPU 225# else 226# define CPU_NAME cpu_v7m 227# endif 228#endif 229 230#ifdef CONFIG_CPU_PJ4B 231# ifdef CPU_NAME 232# undef MULTI_CPU 233# define MULTI_CPU 234# else 235# define CPU_NAME cpu_pj4b 236# endif 237#endif 238 239#ifdef CONFIG_CPU_V7 240/* 241 * Cortex-A9 needs a different suspend/resume function, so we need 242 * multiple CPU support for ARMv7 anyway. 243 */ 244# undef MULTI_CPU 245# define MULTI_CPU 246#endif 247 248#ifndef MULTI_CPU 249#define cpu_proc_init __glue(CPU_NAME,_proc_init) 250#define cpu_proc_fin __glue(CPU_NAME,_proc_fin) 251#define cpu_reset __glue(CPU_NAME,_reset) 252#define cpu_do_idle __glue(CPU_NAME,_do_idle) 253#define cpu_dcache_clean_area __glue(CPU_NAME,_dcache_clean_area) 254#define cpu_do_switch_mm __glue(CPU_NAME,_switch_mm) 255#define cpu_set_pte_ext __glue(CPU_NAME,_set_pte_ext) 256#define cpu_suspend_size __glue(CPU_NAME,_suspend_size) 257#define cpu_do_suspend __glue(CPU_NAME,_do_suspend) 258#define cpu_do_resume __glue(CPU_NAME,_do_resume) 259#endif 260 261#endif