1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 /* 3 * arch/arm/include/asm/procinfo.h 4 * 5 * Copyright (C) 1996-1999 Russell King 6 */ 7 #ifndef __ASM_PROCINFO_H 8 #define __ASM_PROCINFO_H 9 10 #ifdef __KERNEL__ 11 12 struct cpu_tlb_fns; 13 struct cpu_user_fns; 14 struct cpu_cache_fns; 15 struct processor; 16 17 /* 18 * Note! struct processor is always defined if we're 19 * using MULTI_CPU, otherwise this entry is unused, 20 * but still exists. 21 * 22 * NOTE! The following structure is defined by assembly 23 * language, NOT C code. For more information, check: 24 * arch/arm/mm/proc-*.S and arch/arm/kernel/head.S 25 */ 26 struct proc_info_list { 27 unsigned int cpu_val; 28 unsigned int cpu_mask; 29 unsigned long __cpu_mm_mmu_flags; /* used by head.S */ 30 unsigned long __cpu_io_mmu_flags; /* used by head.S */ 31 unsigned long __cpu_flush; /* used by head.S */ 32 const char *arch_name; 33 const char *elf_name; 34 unsigned int elf_hwcap; 35 const char *cpu_name; 36 struct processor *proc; 37 struct cpu_tlb_fns *tlb; 38 struct cpu_user_fns *user; 39 struct cpu_cache_fns *cache; 40 }; 41 42 #else /* __KERNEL__ */ 43 #include <asm/elf.h> 44 #warning "Please include asm/elf.h instead" 45 #endif /* __KERNEL__ */ 46 #endif 47