Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *  arch/arm/include/asm/glue-pf.h
0004  *
0005  *  Copyright (C) 1997-1999 Russell King
0006  *  Copyright (C) 2000-2002 Deep Blue Solutions Ltd.
0007  */
0008 #ifndef ASM_GLUE_PF_H
0009 #define ASM_GLUE_PF_H
0010 
0011 #include <asm/glue.h>
0012 
0013 /*
0014  *  Prefetch Abort Model
0015  *  ================
0016  *
0017  *  We have the following to choose from:
0018  *    legacy    - no IFSR, no IFAR
0019  *    v6        - ARMv6: IFSR, no IFAR
0020  *    v7        - ARMv7: IFSR and IFAR
0021  */
0022 
0023 #undef CPU_PABORT_HANDLER
0024 #undef MULTI_PABORT
0025 
0026 #ifdef CONFIG_CPU_PABRT_LEGACY
0027 # ifdef CPU_PABORT_HANDLER
0028 #  define MULTI_PABORT 1
0029 # else
0030 #  define CPU_PABORT_HANDLER legacy_pabort
0031 # endif
0032 #endif
0033 
0034 #ifdef CONFIG_CPU_PABRT_V6
0035 # ifdef CPU_PABORT_HANDLER
0036 #  define MULTI_PABORT 1
0037 # else
0038 #  define CPU_PABORT_HANDLER v6_pabort
0039 # endif
0040 #endif
0041 
0042 #ifdef CONFIG_CPU_PABRT_V7
0043 # ifdef CPU_PABORT_HANDLER
0044 #  define MULTI_PABORT 1
0045 # else
0046 #  define CPU_PABORT_HANDLER v7_pabort
0047 # endif
0048 #endif
0049 
0050 #ifndef CPU_PABORT_HANDLER
0051 #error Unknown prefetch abort handler type
0052 #endif
0053 
0054 #endif