1 /* 2 * arch/arm/include/asm/glue-df.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_DF_H 12 #define ASM_GLUE_DF_H 13 14 #include <asm/glue.h> 15 16 /* 17 * Data Abort Model 18 * ================ 19 * 20 * We have the following to choose from: 21 * arm6 - ARM6 style 22 * arm7 - ARM7 style 23 * v4_early - ARMv4 without Thumb early abort handler 24 * v4t_late - ARMv4 with Thumb late abort handler 25 * v4t_early - ARMv4 with Thumb early abort handler 26 * v5tej_early - ARMv5 with Thumb and Java early abort handler 27 * xscale - ARMv5 with Thumb with Xscale extensions 28 * v6_early - ARMv6 generic early abort handler 29 * v7_early - ARMv7 generic early abort handler 30 */ 31 #undef CPU_DABORT_HANDLER 32 #undef MULTI_DABORT 33 34 #if defined(CONFIG_CPU_ARM710) 35 # ifdef CPU_DABORT_HANDLER 36 # define MULTI_DABORT 1 37 # else 38 # define CPU_DABORT_HANDLER cpu_arm7_data_abort 39 # endif 40 #endif 41 42 #ifdef CONFIG_CPU_ABRT_LV4T 43 # ifdef CPU_DABORT_HANDLER 44 # define MULTI_DABORT 1 45 # else 46 # define CPU_DABORT_HANDLER v4t_late_abort 47 # endif 48 #endif 49 50 #ifdef CONFIG_CPU_ABRT_EV4 51 # ifdef CPU_DABORT_HANDLER 52 # define MULTI_DABORT 1 53 # else 54 # define CPU_DABORT_HANDLER v4_early_abort 55 # endif 56 #endif 57 58 #ifdef CONFIG_CPU_ABRT_EV4T 59 # ifdef CPU_DABORT_HANDLER 60 # define MULTI_DABORT 1 61 # else 62 # define CPU_DABORT_HANDLER v4t_early_abort 63 # endif 64 #endif 65 66 #ifdef CONFIG_CPU_ABRT_EV5TJ 67 # ifdef CPU_DABORT_HANDLER 68 # define MULTI_DABORT 1 69 # else 70 # define CPU_DABORT_HANDLER v5tj_early_abort 71 # endif 72 #endif 73 74 #ifdef CONFIG_CPU_ABRT_EV5T 75 # ifdef CPU_DABORT_HANDLER 76 # define MULTI_DABORT 1 77 # else 78 # define CPU_DABORT_HANDLER v5t_early_abort 79 # endif 80 #endif 81 82 #ifdef CONFIG_CPU_ABRT_EV6 83 # ifdef CPU_DABORT_HANDLER 84 # define MULTI_DABORT 1 85 # else 86 # define CPU_DABORT_HANDLER v6_early_abort 87 # endif 88 #endif 89 90 #ifdef CONFIG_CPU_ABRT_EV7 91 # ifdef CPU_DABORT_HANDLER 92 # define MULTI_DABORT 1 93 # else 94 # define CPU_DABORT_HANDLER v7_early_abort 95 # endif 96 #endif 97 98 #ifndef CPU_DABORT_HANDLER 99 #error Unknown data abort handler type 100 #endif 101 102 #endif 103