cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

cpu.h (5092B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 *  Author:	Nicolas Pitre
      4 *  Created:	Jun 15, 2001
      5 *  Copyright:	MontaVista Software Inc.
      6 */
      7
      8#ifndef __SOC_PXA_CPU_H
      9#define __SOC_PXA_CPU_H
     10
     11#ifdef CONFIG_ARM
     12#include <asm/cputype.h>
     13#endif
     14
     15/*
     16 *   CPU     Stepping     CPU_ID         JTAG_ID
     17 *
     18 *  PXA210	B0	0x69052922	0x2926C013
     19 *  PXA210	B1	0x69052923	0x3926C013
     20 *  PXA210	B2	0x69052924	0x4926C013
     21 *  PXA210	C0	0x69052D25	0x5926C013
     22 *
     23 *  PXA250	A0	0x69052100	0x09264013
     24 *  PXA250	A1	0x69052101	0x19264013
     25 *  PXA250	B0	0x69052902	0x29264013
     26 *  PXA250	B1	0x69052903	0x39264013
     27 *  PXA250	B2	0x69052904	0x49264013
     28 *  PXA250	C0	0x69052D05	0x59264013
     29 *
     30 *  PXA255	A0	0x69052D06	0x69264013
     31 *
     32 *  PXA26x	A0	0x69052903	0x39264013
     33 *  PXA26x	B0	0x69052D05	0x59264013
     34 *
     35 *  PXA27x	A0	0x69054110	0x09265013
     36 *  PXA27x	A1	0x69054111	0x19265013
     37 *  PXA27x	B0	0x69054112	0x29265013
     38 *  PXA27x	B1	0x69054113	0x39265013
     39 *  PXA27x	C0	0x69054114	0x49265013
     40 *  PXA27x	C5	0x69054117	0x79265013
     41 *
     42 *  PXA30x	A0	0x69056880	0x0E648013
     43 *  PXA30x	A1	0x69056881	0x1E648013
     44 *  PXA31x	A0	0x69056890	0x0E649013
     45 *  PXA31x	A1	0x69056891	0x1E649013
     46 *  PXA31x	A2	0x69056892	0x2E649013
     47 *  PXA32x	B1	0x69056825	0x5E642013
     48 *  PXA32x	B2	0x69056826	0x6E642013
     49 *
     50 *  PXA930	B0	0x69056835	0x5E643013
     51 *  PXA930	B1	0x69056837	0x7E643013
     52 *  PXA930	B2	0x69056838	0x8E643013
     53 *
     54 *  PXA935	A0	0x56056931	0x1E653013
     55 *  PXA935	B0	0x56056936	0x6E653013
     56 *  PXA935	B1	0x56056938	0x8E653013
     57 */
     58#ifdef CONFIG_PXA25x
     59#define __cpu_is_pxa210(id)				\
     60	({						\
     61		unsigned int _id = (id) & 0xf3f0;	\
     62		_id == 0x2120;				\
     63	})
     64
     65#define __cpu_is_pxa250(id)				\
     66	({						\
     67		unsigned int _id = (id) & 0xf3ff;	\
     68		_id <= 0x2105;				\
     69	})
     70
     71#define __cpu_is_pxa255(id)				\
     72	({						\
     73		unsigned int _id = (id) & 0xffff;	\
     74		_id == 0x2d06;				\
     75	})
     76
     77#define __cpu_is_pxa25x(id)				\
     78	({						\
     79		unsigned int _id = (id) & 0xf300;	\
     80		_id == 0x2100;				\
     81	})
     82#else
     83#define __cpu_is_pxa210(id)	(0)
     84#define __cpu_is_pxa250(id)	(0)
     85#define __cpu_is_pxa255(id)	(0)
     86#define __cpu_is_pxa25x(id)	(0)
     87#endif
     88
     89#ifdef CONFIG_PXA27x
     90#define __cpu_is_pxa27x(id)				\
     91	({						\
     92		unsigned int _id = (id) >> 4 & 0xfff;	\
     93		_id == 0x411;				\
     94	})
     95#else
     96#define __cpu_is_pxa27x(id)	(0)
     97#endif
     98
     99#ifdef CONFIG_CPU_PXA300
    100#define __cpu_is_pxa300(id)				\
    101	({						\
    102		unsigned int _id = (id) >> 4 & 0xfff;	\
    103		_id == 0x688;				\
    104	 })
    105#else
    106#define __cpu_is_pxa300(id)	(0)
    107#endif
    108
    109#ifdef CONFIG_CPU_PXA310
    110#define __cpu_is_pxa310(id)				\
    111	({						\
    112		unsigned int _id = (id) >> 4 & 0xfff;	\
    113		_id == 0x689;				\
    114	 })
    115#else
    116#define __cpu_is_pxa310(id)	(0)
    117#endif
    118
    119#ifdef CONFIG_CPU_PXA320
    120#define __cpu_is_pxa320(id)				\
    121	({						\
    122		unsigned int _id = (id) >> 4 & 0xfff;	\
    123		_id == 0x603 || _id == 0x682;		\
    124	 })
    125#else
    126#define __cpu_is_pxa320(id)	(0)
    127#endif
    128
    129#ifdef CONFIG_CPU_PXA930
    130#define __cpu_is_pxa930(id)				\
    131	({						\
    132		unsigned int _id = (id) >> 4 & 0xfff;	\
    133		_id == 0x683;				\
    134	 })
    135#else
    136#define __cpu_is_pxa930(id)	(0)
    137#endif
    138
    139#ifdef CONFIG_CPU_PXA935
    140#define __cpu_is_pxa935(id)				\
    141	({						\
    142		unsigned int _id = (id) >> 4 & 0xfff;	\
    143		_id == 0x693;				\
    144	 })
    145#else
    146#define __cpu_is_pxa935(id)	(0)
    147#endif
    148
    149#define cpu_is_pxa210()					\
    150	({						\
    151		__cpu_is_pxa210(read_cpuid_id());	\
    152	})
    153
    154#define cpu_is_pxa250()					\
    155	({						\
    156		__cpu_is_pxa250(read_cpuid_id());	\
    157	})
    158
    159#define cpu_is_pxa255()                                 \
    160	({                                              \
    161		__cpu_is_pxa255(read_cpuid_id());       \
    162	})
    163
    164#define cpu_is_pxa25x()					\
    165	({						\
    166		__cpu_is_pxa25x(read_cpuid_id());	\
    167	})
    168
    169#define cpu_is_pxa27x()					\
    170	({						\
    171		__cpu_is_pxa27x(read_cpuid_id());	\
    172	})
    173
    174#define cpu_is_pxa300()					\
    175	({						\
    176		__cpu_is_pxa300(read_cpuid_id());	\
    177	 })
    178
    179#define cpu_is_pxa310()					\
    180	({						\
    181		__cpu_is_pxa310(read_cpuid_id());	\
    182	 })
    183
    184#define cpu_is_pxa320()					\
    185	({						\
    186		__cpu_is_pxa320(read_cpuid_id());	\
    187	 })
    188
    189#define cpu_is_pxa930()					\
    190	({						\
    191		__cpu_is_pxa930(read_cpuid_id());	\
    192	 })
    193
    194#define cpu_is_pxa935()					\
    195	({						\
    196		__cpu_is_pxa935(read_cpuid_id());	\
    197	 })
    198
    199
    200
    201/*
    202 * CPUID Core Generation Bit
    203 * <= 0x2 for pxa21x/pxa25x/pxa26x/pxa27x
    204 */
    205#if defined(CONFIG_PXA25x) || defined(CONFIG_PXA27x)
    206#define __cpu_is_pxa2xx(id)				\
    207	({						\
    208		unsigned int _id = (id) >> 13 & 0x7;	\
    209		_id <= 0x2;				\
    210	 })
    211#else
    212#define __cpu_is_pxa2xx(id)	(0)
    213#endif
    214
    215#ifdef CONFIG_PXA3xx
    216#define __cpu_is_pxa3xx(id)				\
    217	({						\
    218		__cpu_is_pxa300(id)			\
    219			|| __cpu_is_pxa310(id)		\
    220			|| __cpu_is_pxa320(id)		\
    221			|| __cpu_is_pxa93x(id);		\
    222	 })
    223#else
    224#define __cpu_is_pxa3xx(id)	(0)
    225#endif
    226
    227#if defined(CONFIG_CPU_PXA930) || defined(CONFIG_CPU_PXA935)
    228#define __cpu_is_pxa93x(id)				\
    229	({						\
    230		__cpu_is_pxa930(id)			\
    231			|| __cpu_is_pxa935(id);		\
    232	 })
    233#else
    234#define __cpu_is_pxa93x(id)	(0)
    235#endif
    236
    237#define cpu_is_pxa2xx()					\
    238	({						\
    239		__cpu_is_pxa2xx(read_cpuid_id());	\
    240	 })
    241
    242#define cpu_is_pxa3xx()					\
    243	({						\
    244		__cpu_is_pxa3xx(read_cpuid_id());	\
    245	 })
    246
    247#define cpu_is_pxa93x()					\
    248	({						\
    249		__cpu_is_pxa93x(read_cpuid_id());	\
    250	 })
    251
    252#endif