1 /* 2 * arch/arm/include/asm/glue-pf.h 3 * 4 * Copyright (C) 1997-1999 Russell King 5 * Copyright (C) 2000-2002 Deep Blue Solutions Ltd. 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 #ifndef ASM_GLUE_PF_H 12 #define ASM_GLUE_PF_H 13 14 #include <asm/glue.h> 15 16 /* 17 * Prefetch Abort Model 18 * ================ 19 * 20 * We have the following to choose from: 21 * legacy - no IFSR, no IFAR 22 * v6 - ARMv6: IFSR, no IFAR 23 * v7 - ARMv7: IFSR and IFAR 24 */ 25 26 #undef CPU_PABORT_HANDLER 27 #undef MULTI_PABORT 28 29 #ifdef CONFIG_CPU_PABRT_LEGACY 30 # ifdef CPU_PABORT_HANDLER 31 # define MULTI_PABORT 1 32 # else 33 # define CPU_PABORT_HANDLER legacy_pabort 34 # endif 35 #endif 36 37 #ifdef CONFIG_CPU_PABRT_V6 38 # ifdef CPU_PABORT_HANDLER 39 # define MULTI_PABORT 1 40 # else 41 # define CPU_PABORT_HANDLER v6_pabort 42 # endif 43 #endif 44 45 #ifdef CONFIG_CPU_PABRT_V7 46 # ifdef CPU_PABORT_HANDLER 47 # define MULTI_PABORT 1 48 # else 49 # define CPU_PABORT_HANDLER v7_pabort 50 # endif 51 #endif 52 53 #ifndef CPU_PABORT_HANDLER 54 #error Unknown prefetch abort handler type 55 #endif 56 57 #endif 58