From patchwork Wed Dec 9 20:26:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: cseo X-Patchwork-Id: 554797 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 90E9E14030D for ; Thu, 10 Dec 2015 07:27:06 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=LRTLHMNV; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:cc:from:subject:message-id:date :mime-version:content-type; q=dns; s=default; b=YY0Chyu/tWJnHNir 7BOB7U+enguW9Oz9CjGu/o/NeFHAsN/kw616zdMcWZw9fYNpr9/yYMKzrKUD8RyB sqC6ZZO/Kzt9TuulctqqS4SCmhN2J0iOsGJnm9nnajhlH7wQWrCyH6o6buyCM2q7 VNT51HylEC2YqKLDGPDCYoQtsCM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:cc:from:subject:message-id:date :mime-version:content-type; s=default; bh=GYeNTHpEDwFzR/QteXm7U3 S3tr0=; b=LRTLHMNV4A/QzgEbHdm5uFxXP4wXiPz0OsuKH9NHRMQw23zp9bHI7K Pqv7pCksNGuPbUFb/IHlDWUlZggbWAtNLofq3gzgQ5gLTBNaW17N+WPDUGB85ZPN xozQUiRjM1D1YkpV6XN62m+gkcy9a4W7Zzd9/v8YiIuLG7isNhNOc= Received: (qmail 49677 invoked by alias); 9 Dec 2015 20:27:00 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 49649 invoked by uid 89); 9 Dec 2015 20:26:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, LIKELY_SPAM_BODY, T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: e24smtp04.br.ibm.com X-IBM-Helo: d24dlp02.br.ibm.com X-IBM-MailFrom: cseo@linux.vnet.ibm.com X-IBM-RcptTo: libc-alpha@sourceware.org To: GLIBC Cc: Tulio Magno Quites Machado Filho , "Steven J. Munroe" From: Carlos Eduardo Seo Subject: [PATCH] powerpc: Add basic support for POWER9 sans hwcap. Message-ID: <56688E89.7040500@linux.vnet.ibm.com> Date: Wed, 9 Dec 2015 18:26:49 -0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15120920-0029-0000-0000-00000530776F Hi GCC has recently added support for Power ISA 3.0 (POWER9). This patch provides base platform enablement for the POWER9 processor, sans HWCAP2 bits. Regards, diff --git a/sysdeps/powerpc/dl-procinfo.c b/sysdeps/powerpc/dl-procinfo.c index 770c1f3..a8df5b8 100644 --- a/sysdeps/powerpc/dl-procinfo.c +++ b/sysdeps/powerpc/dl-procinfo.c @@ -75,7 +75,7 @@ PROCINFO_CLASS const char _dl_powerpc_cap_flags[60][10] #if !defined PROCINFO_DECL && defined SHARED ._dl_powerpc_platforms #else -PROCINFO_CLASS const char _dl_powerpc_platforms[14][12] +PROCINFO_CLASS const char _dl_powerpc_platforms[15][12] #endif #ifndef PROCINFO_DECL = { @@ -93,6 +93,7 @@ PROCINFO_CLASS const char _dl_powerpc_platforms[14][12] [PPC_PLATFORM_PPC464] = "ppc464", [PPC_PLATFORM_PPC476] = "ppc476", [PPC_PLATFORM_POWER8] = "power8", + [PPC_PLATFORM_POWER9] = "power9" } #endif #if !defined SHARED || defined PROCINFO_DECL diff --git a/sysdeps/powerpc/dl-procinfo.h b/sysdeps/powerpc/dl-procinfo.h index 36873cf..407149b 100644 --- a/sysdeps/powerpc/dl-procinfo.h +++ b/sysdeps/powerpc/dl-procinfo.h @@ -40,7 +40,7 @@ #define HWCAP_IMPORTANT (PPC_FEATURE_HAS_ALTIVEC \ + PPC_FEATURE_HAS_DFP) -#define _DL_PLATFORMS_COUNT 14 +#define _DL_PLATFORMS_COUNT 15 #define _DL_FIRST_PLATFORM 32 /* Mask to filter out platforms. */ @@ -62,6 +62,7 @@ #define PPC_PLATFORM_PPC464 11 #define PPC_PLATFORM_PPC476 12 #define PPC_PLATFORM_POWER8 13 +#define PPC_PLATFORM_POWER9 14 static inline const char * __attribute__ ((unused)) @@ -125,6 +126,9 @@ _dl_string_platform (const char *str) case '8': ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER8; break; + case '9': + ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER9; + break; default: return -1; } diff --git a/sysdeps/powerpc/powerpc32/power9/Implies b/sysdeps/powerpc/powerpc32/power9/Implies new file mode 100644 index 0000000..066dea2 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc32/power8/fpu +powerpc/powerpc32/power8 diff --git a/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies new file mode 100644 index 0000000..4393b56 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc32/power9/multiarch/Implies b/sysdeps/powerpc/powerpc32/power9/multiarch/Implies new file mode 100644 index 0000000..4393b56 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power9/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/power9/Implies b/sysdeps/powerpc/powerpc64/power9/Implies new file mode 100644 index 0000000..fad2505 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/power8/fpu +powerpc/powerpc64/power8 diff --git a/sysdeps/powerpc/powerpc64/power9/fpu/Implies b/sysdeps/powerpc/powerpc64/power9/fpu/Implies new file mode 100644 index 0000000..fad2505 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/fpu/Implies @@ -0,0 +1,2 @@ +powerpc/powerpc64/power8/fpu +powerpc/powerpc64/power8 diff --git a/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies new file mode 100644 index 0000000..f11e1bd --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/fpu/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power8/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/power9/multiarch/Implies b/sysdeps/powerpc/powerpc64/power9/multiarch/Implies new file mode 100644 index 0000000..dd6bca4 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power9/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power8/multiarch