summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.osdl.org>2004-01-20 05:40:29 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2004-01-20 05:40:29 -0800
commitcefeddf3646f4948826f1921cf375509165c7c6c (patch)
tree7f9a9e071247c7df3200ef716f3f5c3889925a43 /include
parentb2a910c73eeab74e474168fe875163a25992f9b2 (diff)
parent3a892a6410f8c80f7d47847153787543197fb502 (diff)
Merge bk://are.twiddle.net/axp-2.6
into home.osdl.org:/home/torvalds/v2.5/linux
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/elf.h22
1 files changed, 7 insertions, 15 deletions
diff --git a/include/asm-alpha/elf.h b/include/asm-alpha/elf.h
index a33553278825..df5aad88a5f2 100644
--- a/include/asm-alpha/elf.h
+++ b/include/asm-alpha/elf.h
@@ -122,27 +122,19 @@ extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task);
instruction set this CPU supports. This is trivial on Alpha,
but not so on other machines. */
-#define ELF_HWCAP \
-({ \
- /* Sadly, most folks don't yet have assemblers that know about \
- amask. This is "amask v0, v0" */ \
- register long _v0 __asm("$0") = -1; \
- __asm(".long 0x47e00c20" : "=r"(_v0) : "0"(_v0)); \
- ~_v0; \
-})
+#define ELF_HWCAP (~amask(-1))
/* This yields a string that ld.so will use to load implementation
specific libraries for optimization. This is more specific in
- intent than poking at uname or /proc/cpuinfo.
-
- This might do with checking bwx simultaneously... */
+ intent than poking at uname or /proc/cpuinfo. */
#define ELF_PLATFORM \
({ \
- /* Or "implver v0" ... */ \
- register long _v0 __asm("$0"); \
- __asm(".long 0x47e03d80" : "=r"(_v0)); \
- _v0 == 0 ? "ev4" : "ev5"; \
+ enum implver_enum i_ = implver(); \
+ ( i_ == IMPLVER_EV4 ? "ev4" \
+ : i_ == IMPLVER_EV5 \
+ ? (amask(AMASK_BWX) ? "ev5" : "ev56") \
+ : amask (AMASK_CIX) ? "ev6" : "ev67"); \
})
#ifdef __KERNEL__