diff options
author | Mark Salter <msalter@redhat.com> | 2010-10-27 12:28:56 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2010-10-27 12:28:56 -0400 |
commit | 2502c64eeb125c5d57e3e7dc38320b500d69e088 (patch) | |
tree | 65db73b829454c61a5616d2ec092897887c1cea2 | |
parent | 5a226c6f5c374a0d565dac609907085b944979b5 (diff) |
MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support
Use an ELF HWCAP flag to indicate to the process that the CPU provides LL/SC
equivalent atomic operations unit support in addition to BSET/BCLR.
Signed-off-by: Mark Salter <msalter@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
-rw-r--r-- | arch/mn10300/include/asm/elf.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/mn10300/include/asm/elf.h b/arch/mn10300/include/asm/elf.h index a30d220de5ca..8157c9267f42 100644 --- a/arch/mn10300/include/asm/elf.h +++ b/arch/mn10300/include/asm/elf.h | |||
@@ -32,6 +32,12 @@ | |||
32 | #define R_MN10300_ALIGN 34 /* Alignment requirement. */ | 32 | #define R_MN10300_ALIGN 34 /* Alignment requirement. */ |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * AM33/AM34 HW Capabilities | ||
36 | */ | ||
37 | #define HWCAP_MN10300_ATOMIC_OP_UNIT 1 /* Has AM34 Atomic Operations */ | ||
38 | |||
39 | |||
40 | /* | ||
35 | * ELF register definitions.. | 41 | * ELF register definitions.. |
36 | */ | 42 | */ |
37 | typedef unsigned long elf_greg_t; | 43 | typedef unsigned long elf_greg_t; |
@@ -128,7 +134,11 @@ do { \ | |||
128 | * instruction set this CPU supports. This could be done in user space, | 134 | * instruction set this CPU supports. This could be done in user space, |
129 | * but it's not easy, and we've already done it here. | 135 | * but it's not easy, and we've already done it here. |
130 | */ | 136 | */ |
137 | #ifdef CONFIG_MN10300_HAS_ATOMIC_OPS_UNIT | ||
138 | #define ELF_HWCAP (HWCAP_MN10300_ATOMIC_OP_UNIT) | ||
139 | #else | ||
131 | #define ELF_HWCAP (0) | 140 | #define ELF_HWCAP (0) |
141 | #endif | ||
132 | 142 | ||
133 | /* | 143 | /* |
134 | * This yields a string that ld.so will use to load implementation | 144 | * This yields a string that ld.so will use to load implementation |