Linux-libre 5.4.47-gnu
[librecmc/linux-libre.git] / arch / arm / include / asm / glue-pf.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  arch/arm/include/asm/glue-pf.h
4  *
5  *  Copyright (C) 1997-1999 Russell King
6  *  Copyright (C) 2000-2002 Deep Blue Solutions Ltd.
7  */
8 #ifndef ASM_GLUE_PF_H
9 #define ASM_GLUE_PF_H
10
11 #include <asm/glue.h>
12
13 /*
14  *      Prefetch Abort Model
15  *      ================
16  *
17  *      We have the following to choose from:
18  *        legacy        - no IFSR, no IFAR
19  *        v6            - ARMv6: IFSR, no IFAR
20  *        v7            - ARMv7: IFSR and IFAR
21  */
22
23 #undef CPU_PABORT_HANDLER
24 #undef MULTI_PABORT
25
26 #ifdef CONFIG_CPU_PABRT_LEGACY
27 # ifdef CPU_PABORT_HANDLER
28 #  define MULTI_PABORT 1
29 # else
30 #  define CPU_PABORT_HANDLER legacy_pabort
31 # endif
32 #endif
33
34 #ifdef CONFIG_CPU_PABRT_V6
35 # ifdef CPU_PABORT_HANDLER
36 #  define MULTI_PABORT 1
37 # else
38 #  define CPU_PABORT_HANDLER v6_pabort
39 # endif
40 #endif
41
42 #ifdef CONFIG_CPU_PABRT_V7
43 # ifdef CPU_PABORT_HANDLER
44 #  define MULTI_PABORT 1
45 # else
46 #  define CPU_PABORT_HANDLER v7_pabort
47 # endif
48 #endif
49
50 #ifndef CPU_PABORT_HANDLER
51 #error Unknown prefetch abort handler type
52 #endif
53
54 #endif