From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8982 invoked by alias); 24 Feb 2006 23:37:01 -0000 Received: (qmail 8959 invoked by uid 22791); 24 Feb 2006 23:37:01 -0000 X-Spam-Check-By: sourceware.org Received: from dsl027-180-168.sfo1.dsl.speakeasy.net (HELO sunset.davemloft.net) (216.27.180.168) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 24 Feb 2006 23:37:00 +0000 Received: from localhost ([127.0.0.1] ident=davem) by sunset.davemloft.net with esmtp (Exim 4.60) (envelope-from ) id 1FCmUn-0005vX-AM for libc-hacker@sources.redhat.com; Fri, 24 Feb 2006 15:37:09 -0800 Date: Fri, 24 Feb 2006 23:37:00 -0000 Message-Id: <20060224.153709.86558879.davem@davemloft.net> To: libc-hacker@sources.redhat.com Subject: [PATCH]: Recognize HWCAP_SPARC_BLKINIT From: "David S. Miller" Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00032.txt.bz2 SUN4V Niagara processors have a load-twin/block-init-store capability which is indicated by bit 6 in the HWCAP_* mask from the kernel. Add recognition of that value to glibc, and ask it to use "v9v" in the library search path. 2006-02-24 David S. Miller * elf/elf.h: Add HWCAP_SPARC_BLKINIT. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c: Add "v9v" entry to _dl_sparc32_cap_flags. * sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h: Add HWCAP_SPARC_BLKINIT to HWCAP_IMPORTANT. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c: Add "v9v" entry to _dl_sparc32_cap_flags. * sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h: Add HWCAP_SPARC_BLKINIT to HWCAP_IMPORTANT. --- ./elf/elf.h.~1~ 2006-02-23 16:01:13.000000000 -0800 +++ ./elf/elf.h 2006-02-23 16:01:18.000000000 -0800 @@ -1258,6 +1258,7 @@ typedef struct #define HWCAP_SPARC_MULDIV 8 #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. */ --- ./sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c.~1~ 2006-02-23 16:01:14.000000000 -0800 +++ ./sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.c 2006-02-23 16:01:18.000000000 -0800 @@ -47,11 +47,11 @@ #if !defined PROCINFO_DECL && defined SHARED ._dl_sparc32_cap_flags #else -PROCINFO_CLASS const char _dl_sparc32_cap_flags[6][7] +PROCINFO_CLASS const char _dl_sparc32_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 --- ./sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h.~1~ 2006-02-23 16:01:14.000000000 -0800 +++ ./sysdeps/unix/sysv/linux/sparc/sparc32/dl-procinfo.h 2006-02-23 16:01:18.000000000 -0800 @@ -62,7 +62,7 @@ _dl_string_hwcap (const char *str) return -1; }; -#define HWCAP_IMPORTANT (HWCAP_SPARC_V9|HWCAP_SPARC_ULTRA3) +#define HWCAP_IMPORTANT (HWCAP_SPARC_V9|HWCAP_SPARC_ULTRA3|HWCAP_SPARC_BLKINIT) /* There are no different platforms defined. */ #define _dl_platform_string(idx) "" --- ./sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c.~1~ 2006-02-23 16:01:14.000000000 -0800 +++ ./sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.c 2006-02-23 16:01:18.000000000 -0800 @@ -47,11 +47,11 @@ #if !defined PROCINFO_DECL && defined SHARED ._dl_sparc64_cap_flags #else -PROCINFO_CLASS const char _dl_sparc64_cap_flags[6][7] +PROCINFO_CLASS const char _dl_sparc64_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 --- ./sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h.~1~ 2006-02-23 16:01:14.000000000 -0800 +++ ./sysdeps/unix/sysv/linux/sparc/sparc64/dl-procinfo.h 2006-02-23 16:01:18.000000000 -0800 @@ -63,7 +63,7 @@ _dl_string_hwcap (const char *str) return -1; }; -#define HWCAP_IMPORTANT (HWCAP_SPARC_ULTRA3) +#define HWCAP_IMPORTANT (HWCAP_SPARC_ULTRA3|HWCAP_SPARC_BLKINIT) /* There are no different platforms defined. */ #define _dl_platform_string(idx) ""