1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * arch/arm/include/asm/glue-df.h 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * Copyright (C) 1997-1999 Russell King 6*4882a593Smuzhiyun * Copyright (C) 2000-2002 Deep Blue Solutions Ltd. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #ifndef ASM_GLUE_DF_H 9*4882a593Smuzhiyun #define ASM_GLUE_DF_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <asm/glue.h> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun /* 14*4882a593Smuzhiyun * Data Abort Model 15*4882a593Smuzhiyun * ================ 16*4882a593Smuzhiyun * 17*4882a593Smuzhiyun * We have the following to choose from: 18*4882a593Smuzhiyun * arm7 - ARM7 style 19*4882a593Smuzhiyun * v4_early - ARMv4 without Thumb early abort handler 20*4882a593Smuzhiyun * v4t_late - ARMv4 with Thumb late abort handler 21*4882a593Smuzhiyun * v4t_early - ARMv4 with Thumb early abort handler 22*4882a593Smuzhiyun * v5t_early - ARMv5 with Thumb early abort handler 23*4882a593Smuzhiyun * v5tj_early - ARMv5 with Thumb and Java early abort handler 24*4882a593Smuzhiyun * xscale - ARMv5 with Thumb with Xscale extensions 25*4882a593Smuzhiyun * v6_early - ARMv6 generic early abort handler 26*4882a593Smuzhiyun * v7_early - ARMv7 generic early abort handler 27*4882a593Smuzhiyun */ 28*4882a593Smuzhiyun #undef CPU_DABORT_HANDLER 29*4882a593Smuzhiyun #undef MULTI_DABORT 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV4 32*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 33*4882a593Smuzhiyun # define MULTI_DABORT 1 34*4882a593Smuzhiyun # else 35*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v4_early_abort 36*4882a593Smuzhiyun # endif 37*4882a593Smuzhiyun #endif 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_LV4T 40*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 41*4882a593Smuzhiyun # define MULTI_DABORT 1 42*4882a593Smuzhiyun # else 43*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v4t_late_abort 44*4882a593Smuzhiyun # endif 45*4882a593Smuzhiyun #endif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV4T 48*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 49*4882a593Smuzhiyun # define MULTI_DABORT 1 50*4882a593Smuzhiyun # else 51*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v4t_early_abort 52*4882a593Smuzhiyun # endif 53*4882a593Smuzhiyun #endif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV5T 56*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 57*4882a593Smuzhiyun # define MULTI_DABORT 1 58*4882a593Smuzhiyun # else 59*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v5t_early_abort 60*4882a593Smuzhiyun # endif 61*4882a593Smuzhiyun #endif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV5TJ 64*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 65*4882a593Smuzhiyun # define MULTI_DABORT 1 66*4882a593Smuzhiyun # else 67*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v5tj_early_abort 68*4882a593Smuzhiyun # endif 69*4882a593Smuzhiyun #endif 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV6 72*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 73*4882a593Smuzhiyun # define MULTI_DABORT 1 74*4882a593Smuzhiyun # else 75*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v6_early_abort 76*4882a593Smuzhiyun # endif 77*4882a593Smuzhiyun #endif 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_EV7 80*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 81*4882a593Smuzhiyun # define MULTI_DABORT 1 82*4882a593Smuzhiyun # else 83*4882a593Smuzhiyun # define CPU_DABORT_HANDLER v7_early_abort 84*4882a593Smuzhiyun # endif 85*4882a593Smuzhiyun #endif 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun #ifdef CONFIG_CPU_ABRT_NOMMU 88*4882a593Smuzhiyun # ifdef CPU_DABORT_HANDLER 89*4882a593Smuzhiyun # define MULTI_DABORT 1 90*4882a593Smuzhiyun # else 91*4882a593Smuzhiyun # define CPU_DABORT_HANDLER nommu_early_abort 92*4882a593Smuzhiyun # endif 93*4882a593Smuzhiyun #endif 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun #ifndef CPU_DABORT_HANDLER 96*4882a593Smuzhiyun #error Unknown data abort handler type 97*4882a593Smuzhiyun #endif 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #endif 100