procinfo.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. #ifdef __KERNEL__
  10. struct cpu_tlb_fns;
  11. struct cpu_user_fns;
  12. struct cpu_cache_fns;
  13. struct processor;
  14. /*
  15. * Note! struct processor is always defined if we're
  16. * using MULTI_CPU, otherwise this entry is unused,
  17. * but still exists.
  18. *
  19. * NOTE! The following structure is defined by assembly
  20. * language, NOT C code. For more information, check:
  21. * arch/arm/mm/proc-*.S and arch/arm/kernel/head.S
  22. */
  23. struct proc_info_list {
  24. unsigned int cpu_val;
  25. unsigned int cpu_mask;
  26. unsigned long __cpu_mm_mmu_flags; /* used by head.S */
  27. unsigned long __cpu_io_mmu_flags; /* used by head.S */
  28. unsigned long __cpu_flush; /* used by head.S */
  29. const char *arch_name;
  30. const char *elf_name;
  31. unsigned int elf_hwcap;
  32. const char *cpu_name;
  33. struct processor *proc;
  34. struct cpu_tlb_fns *tlb;
  35. struct cpu_user_fns *user;
  36. struct cpu_cache_fns *cache;
  37. };
  38. #else /* __KERNEL__ */
  39. #include <asm/elf.h>
  40. #warning "Please include asm/elf.h instead"
  41. #endif /* __KERNEL__ */
  42. #endif