162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/arm/include/asm/glue-df.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 1997-1999 Russell King 662306a36Sopenharmony_ci * Copyright (C) 2000-2002 Deep Blue Solutions Ltd. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci#ifndef ASM_GLUE_DF_H 962306a36Sopenharmony_ci#define ASM_GLUE_DF_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <asm/glue.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* 1462306a36Sopenharmony_ci * Data Abort Model 1562306a36Sopenharmony_ci * ================ 1662306a36Sopenharmony_ci * 1762306a36Sopenharmony_ci * We have the following to choose from: 1862306a36Sopenharmony_ci * arm7 - ARM7 style 1962306a36Sopenharmony_ci * v4_early - ARMv4 without Thumb early abort handler 2062306a36Sopenharmony_ci * v4t_late - ARMv4 with Thumb late abort handler 2162306a36Sopenharmony_ci * v4t_early - ARMv4 with Thumb early abort handler 2262306a36Sopenharmony_ci * v5t_early - ARMv5 with Thumb early abort handler 2362306a36Sopenharmony_ci * v5tj_early - ARMv5 with Thumb and Java early abort handler 2462306a36Sopenharmony_ci * xscale - ARMv5 with Thumb with Xscale extensions 2562306a36Sopenharmony_ci * v6_early - ARMv6 generic early abort handler 2662306a36Sopenharmony_ci * v7_early - ARMv7 generic early abort handler 2762306a36Sopenharmony_ci */ 2862306a36Sopenharmony_ci#undef CPU_DABORT_HANDLER 2962306a36Sopenharmony_ci#undef MULTI_DABORT 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV4 3262306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 3362306a36Sopenharmony_ci# define MULTI_DABORT 1 3462306a36Sopenharmony_ci# else 3562306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v4_early_abort 3662306a36Sopenharmony_ci# endif 3762306a36Sopenharmony_ci#endif 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_LV4T 4062306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 4162306a36Sopenharmony_ci# define MULTI_DABORT 1 4262306a36Sopenharmony_ci# else 4362306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v4t_late_abort 4462306a36Sopenharmony_ci# endif 4562306a36Sopenharmony_ci#endif 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV4T 4862306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 4962306a36Sopenharmony_ci# define MULTI_DABORT 1 5062306a36Sopenharmony_ci# else 5162306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v4t_early_abort 5262306a36Sopenharmony_ci# endif 5362306a36Sopenharmony_ci#endif 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV5T 5662306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 5762306a36Sopenharmony_ci# define MULTI_DABORT 1 5862306a36Sopenharmony_ci# else 5962306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v5t_early_abort 6062306a36Sopenharmony_ci# endif 6162306a36Sopenharmony_ci#endif 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV5TJ 6462306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 6562306a36Sopenharmony_ci# define MULTI_DABORT 1 6662306a36Sopenharmony_ci# else 6762306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v5tj_early_abort 6862306a36Sopenharmony_ci# endif 6962306a36Sopenharmony_ci#endif 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV6 7262306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 7362306a36Sopenharmony_ci# define MULTI_DABORT 1 7462306a36Sopenharmony_ci# else 7562306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v6_early_abort 7662306a36Sopenharmony_ci# endif 7762306a36Sopenharmony_ci#endif 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_EV7 8062306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 8162306a36Sopenharmony_ci# define MULTI_DABORT 1 8262306a36Sopenharmony_ci# else 8362306a36Sopenharmony_ci# define CPU_DABORT_HANDLER v7_early_abort 8462306a36Sopenharmony_ci# endif 8562306a36Sopenharmony_ci#endif 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci#ifdef CONFIG_CPU_ABRT_NOMMU 8862306a36Sopenharmony_ci# ifdef CPU_DABORT_HANDLER 8962306a36Sopenharmony_ci# define MULTI_DABORT 1 9062306a36Sopenharmony_ci# else 9162306a36Sopenharmony_ci# define CPU_DABORT_HANDLER nommu_early_abort 9262306a36Sopenharmony_ci# endif 9362306a36Sopenharmony_ci#endif 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci#ifndef CPU_DABORT_HANDLER 9662306a36Sopenharmony_ci#error Unknown data abort handler type 9762306a36Sopenharmony_ci#endif 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci#endif 100