root/arch/mips/include/asm/cpu-type.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. __get_cpu_type
  2. current_cpu_type
  3. boot_cpu_type

   1 /*
   2  * This file is subject to the terms and conditions of the GNU General Public
   3  * License.  See the file "COPYING" in the main directory of this archive
   4  * for more details.
   5  *
   6  * Copyright (C) 2003, 2004 Ralf Baechle
   7  * Copyright (C) 2004  Maciej W. Rozycki
   8  */
   9 #ifndef __ASM_CPU_TYPE_H
  10 #define __ASM_CPU_TYPE_H
  11 
  12 #include <linux/smp.h>
  13 #include <linux/compiler.h>
  14 
  15 static inline int __pure __get_cpu_type(const int cpu_type)
  16 {
  17         switch (cpu_type) {
  18 #if defined(CONFIG_SYS_HAS_CPU_LOONGSON2E) || \
  19     defined(CONFIG_SYS_HAS_CPU_LOONGSON2F)
  20         case CPU_LOONGSON2:
  21 #endif
  22 
  23 #ifdef CONFIG_SYS_HAS_CPU_LOONGSON3
  24         case CPU_LOONGSON3:
  25 #endif
  26 
  27 #if defined(CONFIG_SYS_HAS_CPU_LOONGSON1B) || \
  28     defined(CONFIG_SYS_HAS_CPU_LOONGSON1C)
  29         case CPU_LOONGSON1:
  30 #endif
  31 
  32 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R1
  33         case CPU_4KC:
  34         case CPU_ALCHEMY:
  35         case CPU_PR4450:
  36 #endif
  37 
  38 #if defined(CONFIG_SYS_HAS_CPU_MIPS32_R1) || \
  39     defined(CONFIG_SYS_HAS_CPU_MIPS32_R2)
  40         case CPU_4KEC:
  41         case CPU_XBURST:
  42 #endif
  43 
  44 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R2
  45         case CPU_4KSC:
  46         case CPU_24K:
  47         case CPU_34K:
  48         case CPU_1004K:
  49         case CPU_74K:
  50         case CPU_M14KC:
  51         case CPU_M14KEC:
  52         case CPU_INTERAPTIV:
  53         case CPU_PROAPTIV:
  54         case CPU_P5600:
  55         case CPU_M5150:
  56 #endif
  57 
  58 #if defined(CONFIG_SYS_HAS_CPU_MIPS32_R2) || \
  59     defined(CONFIG_SYS_HAS_CPU_MIPS32_R6) || \
  60     defined(CONFIG_SYS_HAS_CPU_MIPS64_R2) || \
  61     defined(CONFIG_SYS_HAS_CPU_MIPS64_R6)
  62         case CPU_QEMU_GENERIC:
  63 #endif
  64 
  65 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R1
  66         case CPU_5KC:
  67         case CPU_5KE:
  68         case CPU_20KC:
  69         case CPU_25KF:
  70         case CPU_SB1:
  71         case CPU_SB1A:
  72 #endif
  73 
  74 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R2
  75         /*
  76          * All MIPS64 R2 processors have their own special symbols.  That is,
  77          * there currently is no pure R2 core
  78          */
  79 #endif
  80 
  81 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R6
  82         case CPU_M6250:
  83 #endif
  84 
  85 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R6
  86         case CPU_I6400:
  87         case CPU_I6500:
  88         case CPU_P6600:
  89 #endif
  90 
  91 #ifdef CONFIG_SYS_HAS_CPU_R3000
  92         case CPU_R2000:
  93         case CPU_R3000:
  94         case CPU_R3000A:
  95         case CPU_R3041:
  96         case CPU_R3051:
  97         case CPU_R3052:
  98         case CPU_R3081:
  99         case CPU_R3081E:
 100 #endif
 101 
 102 #ifdef CONFIG_SYS_HAS_CPU_TX39XX
 103         case CPU_TX3912:
 104         case CPU_TX3922:
 105         case CPU_TX3927:
 106 #endif
 107 
 108 #ifdef CONFIG_SYS_HAS_CPU_VR41XX
 109         case CPU_VR41XX:
 110         case CPU_VR4111:
 111         case CPU_VR4121:
 112         case CPU_VR4122:
 113         case CPU_VR4131:
 114         case CPU_VR4133:
 115         case CPU_VR4181:
 116         case CPU_VR4181A:
 117 #endif
 118 
 119 #ifdef CONFIG_SYS_HAS_CPU_R4X00
 120         case CPU_R4000PC:
 121         case CPU_R4000SC:
 122         case CPU_R4000MC:
 123         case CPU_R4200:
 124         case CPU_R4400PC:
 125         case CPU_R4400SC:
 126         case CPU_R4400MC:
 127         case CPU_R4600:
 128         case CPU_R4700:
 129         case CPU_R4640:
 130         case CPU_R4650:
 131 #endif
 132 
 133 #ifdef CONFIG_SYS_HAS_CPU_TX49XX
 134         case CPU_TX49XX:
 135 #endif
 136 
 137 #ifdef CONFIG_SYS_HAS_CPU_R5000
 138         case CPU_R5000:
 139 #endif
 140 
 141 #ifdef CONFIG_SYS_HAS_CPU_R5500
 142         case CPU_R5500:
 143 #endif
 144 
 145 #ifdef CONFIG_SYS_HAS_CPU_NEVADA
 146         case CPU_NEVADA:
 147 #endif
 148 
 149 #ifdef CONFIG_SYS_HAS_CPU_R10000
 150         case CPU_R10000:
 151         case CPU_R12000:
 152         case CPU_R14000:
 153         case CPU_R16000:
 154 #endif
 155 #ifdef CONFIG_SYS_HAS_CPU_RM7000
 156         case CPU_RM7000:
 157         case CPU_SR71000:
 158 #endif
 159 #ifdef CONFIG_SYS_HAS_CPU_SB1
 160         case CPU_SB1:
 161         case CPU_SB1A:
 162 #endif
 163 #ifdef CONFIG_SYS_HAS_CPU_CAVIUM_OCTEON
 164         case CPU_CAVIUM_OCTEON:
 165         case CPU_CAVIUM_OCTEON_PLUS:
 166         case CPU_CAVIUM_OCTEON2:
 167         case CPU_CAVIUM_OCTEON3:
 168 #endif
 169 
 170 #if defined(CONFIG_SYS_HAS_CPU_BMIPS32_3300) || \
 171         defined (CONFIG_SYS_HAS_CPU_MIPS32_R1)
 172         case CPU_BMIPS32:
 173         case CPU_BMIPS3300:
 174 #endif
 175 
 176 #ifdef CONFIG_SYS_HAS_CPU_BMIPS4350
 177         case CPU_BMIPS4350:
 178 #endif
 179 
 180 #ifdef CONFIG_SYS_HAS_CPU_BMIPS4380
 181         case CPU_BMIPS4380:
 182 #endif
 183 
 184 #ifdef CONFIG_SYS_HAS_CPU_BMIPS5000
 185         case CPU_BMIPS5000:
 186 #endif
 187 
 188 #ifdef CONFIG_SYS_HAS_CPU_XLP
 189         case CPU_XLP:
 190 #endif
 191 
 192 #ifdef CONFIG_SYS_HAS_CPU_XLR
 193         case CPU_XLR:
 194 #endif
 195                 break;
 196         default:
 197                 unreachable();
 198         }
 199 
 200         return cpu_type;
 201 }
 202 
 203 static inline int __pure current_cpu_type(void)
 204 {
 205         const int cpu_type = current_cpu_data.cputype;
 206 
 207         return __get_cpu_type(cpu_type);
 208 }
 209 
 210 static inline int __pure boot_cpu_type(void)
 211 {
 212         const int cpu_type = cpu_data[0].cputype;
 213 
 214         return __get_cpu_type(cpu_type);
 215 }
 216 
 217 #endif /* __ASM_CPU_TYPE_H */

/* [<][>][^][v][top][bottom][index][help] */