Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-mmc
[sfrench/cifs-2.6.git] / 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_mm_mmu_flags;     /* used by head.S */
33         unsigned long           __cpu_io_mmu_flags;     /* used by head.S */
34         unsigned long           __cpu_flush;            /* used by head.S */
35         const char              *arch_name;
36         const char              *elf_name;
37         unsigned int            elf_hwcap;
38         const char              *cpu_name;
39         struct processor        *proc;
40         struct cpu_tlb_fns      *tlb;
41         struct cpu_user_fns     *user;
42         struct cpu_cache_fns    *cache;
43 };
44
45 extern unsigned int elf_hwcap;
46
47 #endif  /* __ASSEMBLY__ */
48
49 #define HWCAP_SWP       1
50 #define HWCAP_HALF      2
51 #define HWCAP_THUMB     4
52 #define HWCAP_26BIT     8       /* Play it safe */
53 #define HWCAP_FAST_MULT 16
54 #define HWCAP_FPA       32
55 #define HWCAP_VFP       64
56 #define HWCAP_EDSP      128
57 #define HWCAP_JAVA      256
58
59 #endif