* elf/elf.h (HWCAP_SPARC_BLKINIT): New macro.

* sysdeps/sparc/dl-procinfo.h (HWCAP_IMPORTANT): Add it.
	(_DL_HWCAP_COUNT): Increase to 7.
	* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add "v9v".
	From David S. Miller <davem@sunset.davemloft.net>.
This commit is contained in:
Roland McGrath 2006-02-25 01:57:49 +00:00
parent 464dce57cc
commit 2e636c3db7
4 changed files with 17 additions and 11 deletions

View File

@ -1,5 +1,11 @@
2006-02-24 Roland McGrath <roland@redhat.com>
* elf/elf.h (HWCAP_SPARC_BLKINIT): New macro.
* sysdeps/sparc/dl-procinfo.h (HWCAP_IMPORTANT): Add it.
(_DL_HWCAP_COUNT): Increase to 7.
* sysdeps/sparc/dl-procinfo.c (_dl_sparc_cap_flags): Add "v9v".
From David S. Miller <davem@sunset.davemloft.net>.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: Moved to ...
* sysdeps/sparc/dl-procinfo.c: ... here, new file.
* sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Moved to ...

View File

@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
Copyright (C) 1995-2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1995-2003,2004,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -1250,14 +1250,15 @@ typedef struct
#define DT_SPARC_REGISTER 0x70000001
#define DT_SPARC_NUM 2
/* Bits present in AT_HWCAP, primarily for Sparc32. */
/* Bits present in AT_HWCAP on SPARC. */
#define HWCAP_SPARC_FLUSH 1 /* The cpu supports flush insn. */
#define HWCAP_SPARC_FLUSH 1 /* The CPU supports flush insn. */
#define HWCAP_SPARC_STBAR 2
#define HWCAP_SPARC_SWAP 4
#define HWCAP_SPARC_MULDIV 8
#define HWCAP_SPARC_V9 16 /* The cpu is v9, so v8plus is ok. */
#define HWCAP_SPARC_V9 16 /* The CPU is v9, so v8plus is ok. */
#define HWCAP_SPARC_ULTRA3 32
#define HWCAP_SPARC_BLKINIT 64 /* Sun4v with block-init/load-twin. */
/* MIPS R3000 specific definitions. */

View File

@ -47,12 +47,10 @@
#if !defined PROCINFO_DECL && defined SHARED
._dl_sparc_cap_flags
#else
PROCINFO_CLASS const char _dl_sparc_cap_flags[6][7]
PROCINFO_CLASS const char _dl_sparc_cap_flags[7][7]
#endif
#ifndef PROCINFO_DECL
= {
"flush", "stbar", "swap", "muldiv", "v9", "ultra3"
}
= { "flush", "stbar", "swap", "muldiv", "v9", "ultra3", "v9v" };
#endif
#if !defined SHARED || defined PROCINFO_DECL
;

View File

@ -24,7 +24,7 @@
#include <ldsodefs.h>
#define _DL_HWCAP_COUNT 6
#define _DL_HWCAP_COUNT 7
static inline int
__attribute__ ((unused))
@ -64,8 +64,9 @@ _dl_string_hwcap (const char *str)
};
#include <bits/wordsize.h>
#define HWCAP_IMPORTANT_V9 (__WORDSIZE == 64 ? 0 : HWCAP_SPARC_V9)
#define HWCAP_IMPORTANT (HWCAP_IMPORTANT_V9|HWCAP_SPARC_ULTRA3)
#define HWCAP_IMPORTANT_V9 (__WORDSIZE == 64 ? 0 : HWCAP_SPARC_V9)
#define HWCAP_IMPORTANT (HWCAP_IMPORTANT_V9 | HWCAP_SPARC_ULTRA3 \
| HWCAP_SPARC_BLKINIT)
/* There are no different platforms defined. */
#define _dl_platform_string(idx) ""