18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/arm/include/asm/glue-pf.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 1997-1999 Russell King 68c2ecf20Sopenharmony_ci * Copyright (C) 2000-2002 Deep Blue Solutions Ltd. 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci#ifndef ASM_GLUE_PF_H 98c2ecf20Sopenharmony_ci#define ASM_GLUE_PF_H 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#include <asm/glue.h> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci/* 148c2ecf20Sopenharmony_ci * Prefetch Abort Model 158c2ecf20Sopenharmony_ci * ================ 168c2ecf20Sopenharmony_ci * 178c2ecf20Sopenharmony_ci * We have the following to choose from: 188c2ecf20Sopenharmony_ci * legacy - no IFSR, no IFAR 198c2ecf20Sopenharmony_ci * v6 - ARMv6: IFSR, no IFAR 208c2ecf20Sopenharmony_ci * v7 - ARMv7: IFSR and IFAR 218c2ecf20Sopenharmony_ci */ 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci#undef CPU_PABORT_HANDLER 248c2ecf20Sopenharmony_ci#undef MULTI_PABORT 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_LEGACY 278c2ecf20Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 288c2ecf20Sopenharmony_ci# define MULTI_PABORT 1 298c2ecf20Sopenharmony_ci# else 308c2ecf20Sopenharmony_ci# define CPU_PABORT_HANDLER legacy_pabort 318c2ecf20Sopenharmony_ci# endif 328c2ecf20Sopenharmony_ci#endif 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_V6 358c2ecf20Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 368c2ecf20Sopenharmony_ci# define MULTI_PABORT 1 378c2ecf20Sopenharmony_ci# else 388c2ecf20Sopenharmony_ci# define CPU_PABORT_HANDLER v6_pabort 398c2ecf20Sopenharmony_ci# endif 408c2ecf20Sopenharmony_ci#endif 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci#ifdef CONFIG_CPU_PABRT_V7 438c2ecf20Sopenharmony_ci# ifdef CPU_PABORT_HANDLER 448c2ecf20Sopenharmony_ci# define MULTI_PABORT 1 458c2ecf20Sopenharmony_ci# else 468c2ecf20Sopenharmony_ci# define CPU_PABORT_HANDLER v7_pabort 478c2ecf20Sopenharmony_ci# endif 488c2ecf20Sopenharmony_ci#endif 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci#ifndef CPU_PABORT_HANDLER 518c2ecf20Sopenharmony_ci#error Unknown prefetch abort handler type 528c2ecf20Sopenharmony_ci#endif 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci#endif 55