Pull for-each-cpu into release branch
[linux-2.6] / include / asm-arm / procinfo.h
1 /*
2  *  linux/include/asm-arm/procinfo.h
3  *
4  *  Copyright (C) 1996-1999 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 struct cpu_tlb_fns;
16 struct cpu_user_fns;
17 struct cpu_cache_fns;
18 struct processor;
19
20 /*
21  * Note!  struct processor is always defined if we're
22  * using MULTI_CPU, otherwise this entry is unused,
23  * but still exists.
24  *
25  * NOTE! The following structure is defined by assembly
26  * language, NOT C code.  For more information, check:
27  *  arch/arm/mm/proc-*.S and arch/arm/kernel/head.S
28  */
29 struct proc_info_list {
30         unsigned int            cpu_val;
31         unsigned int            cpu_mask;
32         unsigned long           __cpu_mmu_flags;        /* used by head.S */
33         unsigned long           __cpu_flush;            /* used by head.S */
34         const char              *arch_name;
35         const char              *elf_name;
36         unsigned int            elf_hwcap;
37         const char              *cpu_name;
38         struct processor        *proc;
39         struct cpu_tlb_fns      *tlb;
40         struct cpu_user_fns     *user;
41         struct cpu_cache_fns    *cache;
42 };
43
44 extern unsigned int elf_hwcap;
45
46 #endif  /* __ASSEMBLY__ */
47
48 #define PROC_INFO_SZ    48
49
50 #define HWCAP_SWP       1
51 #define HWCAP_HALF      2
52 #define HWCAP_THUMB     4
53 #define HWCAP_26BIT     8       /* Play it safe */
54 #define HWCAP_FAST_MULT 16
55 #define HWCAP_FPA       32
56 #define HWCAP_VFP       64
57 #define HWCAP_EDSP      128
58 #define HWCAP_JAVA      256
59
60 #endif