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 55