File: /usr/src/linux/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 #include <asm/proc-fns.h>
16
17 struct proc_info_item {
18 const char *manufacturer;
19 const char *cpu_name;
20 };
21
22 /*
23 * Note! struct processor is always defined if we're
24 * using MULTI_CPU, otherwise this entry is unused,
25 * but still exists.
26 *
27 * NOTE! The following structure is defined by assembly
28 * language, NOT C code. For more information, check:
29 * arch/arm/mm/proc-*.S and arch/arm/kernel/head-armv.S
30 */
31 struct proc_info_list {
32 unsigned int cpu_val;
33 unsigned int cpu_mask;
34 unsigned long __cpu_mmu_flags; /* used by head-armv.S */
35 unsigned long __cpu_flush; /* used by head-armv.S */
36 const char *arch_name;
37 const char *elf_name;
38 unsigned int elf_hwcap;
39 struct proc_info_item *info;
40 #ifdef MULTI_CPU
41 struct processor *proc;
42 #else
43 void *unused;
44 #endif
45 };
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
58 #endif
59