diff options
-rw-r--r-- | include/asm-arm/Kbuild | 2 | ||||
-rw-r--r-- | include/asm-arm/elf.h | 23 | ||||
-rw-r--r-- | include/asm-arm/hwcap.h | 28 |
3 files changed, 31 insertions, 22 deletions
diff --git a/include/asm-arm/Kbuild b/include/asm-arm/Kbuild index c68e1680da01..73237bd130a2 100644 --- a/include/asm-arm/Kbuild +++ b/include/asm-arm/Kbuild | |||
@@ -1 +1,3 @@ | |||
1 | include include/asm-generic/Kbuild.asm | 1 | include include/asm-generic/Kbuild.asm |
2 | |||
3 | unifdef-y += hwcap.h | ||
diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h index 3679a8a8922e..d7a777f05088 100644 --- a/include/asm-arm/elf.h +++ b/include/asm-arm/elf.h | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | #include <asm/ptrace.h> | 8 | #include <asm/ptrace.h> |
9 | #include <asm/user.h> | 9 | #include <asm/user.h> |
10 | #include <asm/hwcap.h> | ||
10 | 11 | ||
11 | typedef unsigned long elf_greg_t; | 12 | typedef unsigned long elf_greg_t; |
12 | typedef unsigned long elf_freg_t[3]; | 13 | typedef unsigned long elf_freg_t[3]; |
@@ -39,31 +40,9 @@ typedef struct user_fp elf_fpregset_t; | |||
39 | #endif | 40 | #endif |
40 | #define ELF_ARCH EM_ARM | 41 | #define ELF_ARCH EM_ARM |
41 | 42 | ||
42 | /* | ||
43 | * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP | ||
44 | */ | ||
45 | #define HWCAP_SWP 1 | ||
46 | #define HWCAP_HALF 2 | ||
47 | #define HWCAP_THUMB 4 | ||
48 | #define HWCAP_26BIT 8 /* Play it safe */ | ||
49 | #define HWCAP_FAST_MULT 16 | ||
50 | #define HWCAP_FPA 32 | ||
51 | #define HWCAP_VFP 64 | ||
52 | #define HWCAP_EDSP 128 | ||
53 | #define HWCAP_JAVA 256 | ||
54 | #define HWCAP_IWMMXT 512 | ||
55 | #define HWCAP_CRUNCH 1024 | ||
56 | |||
57 | #ifdef __KERNEL__ | 43 | #ifdef __KERNEL__ |
58 | #ifndef __ASSEMBLY__ | 44 | #ifndef __ASSEMBLY__ |
59 | /* | 45 | /* |
60 | * This yields a mask that user programs can use to figure out what | ||
61 | * instruction set this cpu supports. | ||
62 | */ | ||
63 | #define ELF_HWCAP (elf_hwcap) | ||
64 | extern unsigned int elf_hwcap; | ||
65 | |||
66 | /* | ||
67 | * This yields a string that ld.so will use to load implementation | 46 | * This yields a string that ld.so will use to load implementation |
68 | * specific libraries for optimization. This is more specific in | 47 | * specific libraries for optimization. This is more specific in |
69 | * intent than poking at uname or /proc/cpuinfo. | 48 | * intent than poking at uname or /proc/cpuinfo. |
diff --git a/include/asm-arm/hwcap.h b/include/asm-arm/hwcap.h new file mode 100644 index 000000000000..01a1391d3014 --- /dev/null +++ b/include/asm-arm/hwcap.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef __ASMARM_HWCAP_H | ||
2 | #define __ASMARM_HWCAP_H | ||
3 | |||
4 | /* | ||
5 | * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP | ||
6 | */ | ||
7 | #define HWCAP_SWP 1 | ||
8 | #define HWCAP_HALF 2 | ||
9 | #define HWCAP_THUMB 4 | ||
10 | #define HWCAP_26BIT 8 /* Play it safe */ | ||
11 | #define HWCAP_FAST_MULT 16 | ||
12 | #define HWCAP_FPA 32 | ||
13 | #define HWCAP_VFP 64 | ||
14 | #define HWCAP_EDSP 128 | ||
15 | #define HWCAP_JAVA 256 | ||
16 | #define HWCAP_IWMMXT 512 | ||
17 | #define HWCAP_CRUNCH 1024 | ||
18 | |||
19 | #if defined(__KERNEL__) && !defined(__ASSEMBLY__) | ||
20 | /* | ||
21 | * This yields a mask that user programs can use to figure out what | ||
22 | * instruction set this cpu supports. | ||
23 | */ | ||
24 | #define ELF_HWCAP (elf_hwcap) | ||
25 | extern unsigned int elf_hwcap; | ||
26 | #endif | ||
27 | |||
28 | #endif | ||