162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/arm/include/asm/glue-pf.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_PF_H 962306a36Sopenharmony_ci#define ASM_GLUE_PF_H 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <asm/glue.h> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/* 1462306a36Sopenharmony_ci * Prefetch Abort Model 1562306a36Sopenharmony_ci * ================ 1662306a36Sopenharmony_ci * 1762306a36Sopenharmony_ci * We have the following to choose from: 1862306a36Sopenharmony_ci * legacy - no IFSR, no IFAR 1962306a36Sopenharmony_ci * v6 - ARMv6: IFSR, no IFAR 2062306a36Sopenharmony_ci * v7 - ARMv7: IFSR and IFAR 2162306a36Sopenharmony_ci */ 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#undef CPU_PABORT_HANDLER 2462306a36Sopenharmony_ci#undef MULTI_PABORT 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_LEGACY 2762306a36Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 2862306a36Sopenharmony_ci# define MULTI_PABORT 1 2962306a36Sopenharmony_ci# else 3062306a36Sopenharmony_ci# define CPU_PABORT_HANDLER legacy_pabort 3162306a36Sopenharmony_ci# endif 3262306a36Sopenharmony_ci#endif 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_V6 3562306a36Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 3662306a36Sopenharmony_ci# define MULTI_PABORT 1 3762306a36Sopenharmony_ci# else 3862306a36Sopenharmony_ci# define CPU_PABORT_HANDLER v6_pabort 3962306a36Sopenharmony_ci# endif 4062306a36Sopenharmony_ci#endif 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_V7 4362306a36Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 4462306a36Sopenharmony_ci# define MULTI_PABORT 1 4562306a36Sopenharmony_ci# else 4662306a36Sopenharmony_ci# define CPU_PABORT_HANDLER v7_pabort 4762306a36Sopenharmony_ci# endif 4862306a36Sopenharmony_ci#endif 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci#ifndef CPU_PABORT_HANDLER 5162306a36Sopenharmony_ci#error Unknown prefetch abort handler type 5262306a36Sopenharmony_ci#endif 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci#endif 55