diff options
| author | Linus Torvalds <torvalds@home.osdl.org> | 2004-01-20 05:40:29 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2004-01-20 05:40:29 -0800 |
| commit | cefeddf3646f4948826f1921cf375509165c7c6c (patch) | |
| tree | 7f9a9e071247c7df3200ef716f3f5c3889925a43 /include | |
| parent | b2a910c73eeab74e474168fe875163a25992f9b2 (diff) | |
| parent | 3a892a6410f8c80f7d47847153787543197fb502 (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.h | 22 |
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__ |
