18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/arm/include/asm/procinfo.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 1996-1999 Russell King 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci#ifndef __ASM_PROCINFO_H 88c2ecf20Sopenharmony_ci#define __ASM_PROCINFO_H 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci#ifdef __KERNEL__ 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cistruct cpu_tlb_fns; 138c2ecf20Sopenharmony_cistruct cpu_user_fns; 148c2ecf20Sopenharmony_cistruct cpu_cache_fns; 158c2ecf20Sopenharmony_cistruct processor; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci/* 188c2ecf20Sopenharmony_ci * Note! struct processor is always defined if we're 198c2ecf20Sopenharmony_ci * using MULTI_CPU, otherwise this entry is unused, 208c2ecf20Sopenharmony_ci * but still exists. 218c2ecf20Sopenharmony_ci * 228c2ecf20Sopenharmony_ci * NOTE! The following structure is defined by assembly 238c2ecf20Sopenharmony_ci * language, NOT C code. For more information, check: 248c2ecf20Sopenharmony_ci * arch/arm/mm/proc-*.S and arch/arm/kernel/head.S 258c2ecf20Sopenharmony_ci */ 268c2ecf20Sopenharmony_cistruct proc_info_list { 278c2ecf20Sopenharmony_ci unsigned int cpu_val; 288c2ecf20Sopenharmony_ci unsigned int cpu_mask; 298c2ecf20Sopenharmony_ci unsigned long __cpu_mm_mmu_flags; /* used by head.S */ 308c2ecf20Sopenharmony_ci unsigned long __cpu_io_mmu_flags; /* used by head.S */ 318c2ecf20Sopenharmony_ci unsigned long __cpu_flush; /* used by head.S */ 328c2ecf20Sopenharmony_ci const char *arch_name; 338c2ecf20Sopenharmony_ci const char *elf_name; 348c2ecf20Sopenharmony_ci unsigned int elf_hwcap; 358c2ecf20Sopenharmony_ci const char *cpu_name; 368c2ecf20Sopenharmony_ci struct processor *proc; 378c2ecf20Sopenharmony_ci struct cpu_tlb_fns *tlb; 388c2ecf20Sopenharmony_ci struct cpu_user_fns *user; 398c2ecf20Sopenharmony_ci struct cpu_cache_fns *cache; 408c2ecf20Sopenharmony_ci}; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci#else /* __KERNEL__ */ 438c2ecf20Sopenharmony_ci#include <asm/elf.h> 448c2ecf20Sopenharmony_ci#warning "Please include asm/elf.h instead" 458c2ecf20Sopenharmony_ci#endif /* __KERNEL__ */ 468c2ecf20Sopenharmony_ci#endif 47