1 /* 2 * linux/include/asm-arm/procinfo.h 3 * 4 * Copyright (C) 1996-2002 Russell King 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 */ 10 #ifndef __ASM_PROCINFO_H 11 #define __ASM_PROCINFO_H 12 13 #ifndef __ASSEMBLY__ 14 15 #include <asm/proc-fns.h> 16 17 struct processor; 18 19 struct proc_info_item { 20 const char *manufacturer; 21 const char *cpu_name; 22 }; 23 24 /* 25 * Note! struct processor is always defined if we're 26 * using MULTI_CPU, otherwise this entry is unused, 27 * but still exists. 28 * 29 * NOTE! The following structure is defined by assembly 30 * language, NOT C code. For more information, check: 31 * arch/arm/mm/proc-*.S and arch/arm/kernel/head-armv.S 32 */ 33 struct proc_info_list { 34 unsigned int cpu_val; 35 unsigned int cpu_mask; 36 unsigned long __cpu_mmu_flags; /* used by head-armv.S */ 37 unsigned long __cpu_flush; /* used by head-armv.S */ 38 const char *arch_name; 39 const char *elf_name; 40 unsigned int elf_hwcap; 41 struct proc_info_item *info; 42 struct processor *proc; 43 }; 44 45 extern unsigned int elf_hwcap; 46 47 #endif /* __ASSEMBLY__ */ 48 49 #define PROC_INFO_SZ 36 50 51 #define HWCAP_SWP 1 52 #define HWCAP_HALF 2 53 #define HWCAP_THUMB 4 54 #define HWCAP_26BIT 8 /* Play it safe */ 55 #define HWCAP_FAST_MULT 16 56 #define HWCAP_FPA 32 57 #define HWCAP_VFP 64 58 #define HWCAP_EDSP 128 59 #define HWCAP_JAVA 256 60 61 #endif 62