Received: by 10.192.165.156 with SMTP id m28csp1324300imm; Mon, 16 Apr 2018 19:13:59 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/44k4XH2nZCS2mmxqkClm1GTDIr6Bn5s+gTRX5vQ4cHT5mTTi7Q0YQeaNQkAlRvjo24OqD X-Received: by 10.101.75.135 with SMTP id t7mr185474pgq.235.1523931239019; Mon, 16 Apr 2018 19:13:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523931238; cv=none; d=google.com; s=arc-20160816; b=owylViwS/la1L5tUXI0xIC9iUB2PjBlHUvhsS150IHVriOOTgK2YTK5HOfLBpv5M6q asLAo99dulHy0lEDXCnRhDmLZDPBly7p7O0p59yomBF988v61V8OO1XP7JIMTIXerJ9z xYc6X1rwyxNehxZCNVcCsPnSMz5tw73pJF7JDhHh1/5srTQ3DctWaXOudinsk7HkGAoG KoqfiYyHDgqKCxnsP/jE6OmVY+/lWXeVTuQBGvhfP3hpVCUWBZGEjQKEsBgMPy8/bTKl lA77dsR/rT4aFU3vWNDQDd92KFHFbX5CCVHxoNUpko8ZaDbCTf7haQ96Tzt8244bIrY0 wuiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:references:in-reply-to:date :subject:cc:to:from:arc-authentication-results; bh=GTo+8cxxZb9dOdki4ExNv4s+z1dTSdhhA2McTkI6Vos=; b=ztIW67ZHRYzK6JAEWkIIkqRtNaoLiOifR0Y8nsktyFAP/Vs45LxMjHiUyPLu/5QrLz PuvwJnqlckwnRJVyvz9Td6oxV7xHMwKGoN38/P9lIO7XV45V/oNJnAKYceBPXUJPuy5n DAkYBN/XSWP94wpuwAdjsvp6Lo4e6t6+Rf5O6ktouE2xOk3USBQvaAfQTDsN9MHsvVoz BD9P3w87ll4UcTi6UNnUGORN5c+t74qNiXqJoslrVij4We0EL27dxEdnY2kwcl5Z+VTS 2bHY4aDxMd7x3t9bwPpIwo16zXlPcKyncg7CPOTaX6EqzkhHYU6m2U84wKJhtlNsM7XB 5uEw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m37-v6si13409770pla.346.2018.04.16.19.13.45; Mon, 16 Apr 2018 19:13:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753168AbeDQCLP (ORCPT + 99 others); Mon, 16 Apr 2018 22:11:15 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:45954 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752876AbeDQCLM (ORCPT ); Mon, 16 Apr 2018 22:11:12 -0400 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w3H29xlV125837 for ; Mon, 16 Apr 2018 22:11:12 -0400 Received: from e06smtp12.uk.ibm.com (e06smtp12.uk.ibm.com [195.75.94.108]) by mx0b-001b2d01.pphosted.com with ESMTP id 2hd5eewa33-1 (version=TLSv1.2 cipher=AES256-SHA256 bits=256 verify=NOT) for ; Mon, 16 Apr 2018 22:11:12 -0400 Received: from localhost by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 17 Apr 2018 03:11:10 +0100 Received: from b06cxnps3074.portsmouth.uk.ibm.com (9.149.109.194) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 17 Apr 2018 03:11:06 +0100 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w3H2B6Sq6881658; Tue, 17 Apr 2018 02:11:06 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1139A42052; Tue, 17 Apr 2018 03:02:40 +0100 (BST) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BDD2042041; Tue, 17 Apr 2018 03:02:39 +0100 (BST) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Tue, 17 Apr 2018 03:02:39 +0100 (BST) Received: from adsilva.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id 4EBC3A01A7; Tue, 17 Apr 2018 12:11:04 +1000 (AEST) From: "Alastair D'Silva" To: linuxppc-dev@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, mikey@neuling.org, vaibhav@linux.vnet.ibm.com, aneesh.kumar@linux.vnet.ibm.com, malat@debian.org, felix@linux.vnet.ibm.com, pombredanne@nexb.com, sukadev@linux.vnet.ibm.com, npiggin@gmail.com, gregkh@linuxfoundation.org, arnd@arndb.de, andrew.donnellan@au1.ibm.com, fbarrat@linux.vnet.ibm.com, corbet@lwn.net, "Alastair D'Silva" Subject: [PATCH 1/7] powerpc: Add TIDR CPU feature for Power9 Date: Tue, 17 Apr 2018 12:09:44 +1000 X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180417020950.21446-1-alastair@au1.ibm.com> References: <20180417020950.21446-1-alastair@au1.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 18041702-0008-0000-0000-000004EC0E0B X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18041702-0009-0000-0000-00001E800EC1 Message-Id: <20180417020950.21446-2-alastair@au1.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-04-17_01:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1709140000 definitions=main-1804170020 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alastair D'Silva This patch adds a CPU feature bit to show whether the CPU has the TIDR register available, enabling as_notify/wait in userspace. Signed-off-by: Alastair D'Silva --- arch/powerpc/include/asm/cputable.h | 3 ++- arch/powerpc/include/asm/switch_to.h | 1 - arch/powerpc/kernel/dt_cpu_ftrs.c | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/cputable.h b/arch/powerpc/include/asm/cputable.h index 4e332f3531c5..54c4cbbe57b4 100644 --- a/arch/powerpc/include/asm/cputable.h +++ b/arch/powerpc/include/asm/cputable.h @@ -215,6 +215,7 @@ static inline void cpu_feature_keys_init(void) { } #define CPU_FTR_P9_TM_HV_ASSIST LONG_ASM_CONST(0x0000100000000000) #define CPU_FTR_P9_TM_XER_SO_BUG LONG_ASM_CONST(0x0000200000000000) #define CPU_FTR_P9_TLBIE_BUG LONG_ASM_CONST(0x0000400000000000) +#define CPU_FTR_P9_TIDR LONG_ASM_CONST(0x0000800000000000) #ifndef __ASSEMBLY__ @@ -462,7 +463,7 @@ static inline void cpu_feature_keys_init(void) { } CPU_FTR_CFAR | CPU_FTR_HVMODE | CPU_FTR_VMX_COPY | \ CPU_FTR_DBELL | CPU_FTR_HAS_PPR | CPU_FTR_ARCH_207S | \ CPU_FTR_TM_COMP | CPU_FTR_ARCH_300 | CPU_FTR_PKEY | \ - CPU_FTR_P9_TLBIE_BUG) + CPU_FTR_P9_TLBIE_BUG | CPU_FTR_P9_TIDR) #define CPU_FTRS_POWER9_DD1 ((CPU_FTRS_POWER9 | CPU_FTR_POWER9_DD1) & \ (~CPU_FTR_SAO)) #define CPU_FTRS_POWER9_DD2_0 CPU_FTRS_POWER9 diff --git a/arch/powerpc/include/asm/switch_to.h b/arch/powerpc/include/asm/switch_to.h index be8c9fa23983..5b03d8a82409 100644 --- a/arch/powerpc/include/asm/switch_to.h +++ b/arch/powerpc/include/asm/switch_to.h @@ -94,6 +94,5 @@ static inline void clear_task_ebb(struct task_struct *t) extern int set_thread_uses_vas(void); extern int set_thread_tidr(struct task_struct *t); -extern void clear_thread_tidr(struct task_struct *t); #endif /* _ASM_POWERPC_SWITCH_TO_H */ diff --git a/arch/powerpc/kernel/dt_cpu_ftrs.c b/arch/powerpc/kernel/dt_cpu_ftrs.c index 11a3a4fed3fb..10f8b7f55637 100644 --- a/arch/powerpc/kernel/dt_cpu_ftrs.c +++ b/arch/powerpc/kernel/dt_cpu_ftrs.c @@ -722,6 +722,7 @@ static __init void cpufeatures_cpu_quirks(void) if ((version & 0xffff0000) == 0x004e0000) { cur_cpu_spec->cpu_features &= ~(CPU_FTR_DAWR); cur_cpu_spec->cpu_features |= CPU_FTR_P9_TLBIE_BUG; + cur_cpu_spec->cpu_features |= CPU_FTR_P9_TIDR; } } -- 2.14.3