Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1371915ybt; Thu, 9 Jul 2020 05:33:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx6fL/dY4S3eOT3fWYbjOA6Jz9LDkrLD8TxkM3jk1KyJIzN3IWdeKHsa+JGbYUUhb7qm8Zu X-Received: by 2002:a17:907:724d:: with SMTP id ds13mr55013073ejc.73.1594297990571; Thu, 09 Jul 2020 05:33:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594297990; cv=none; d=google.com; s=arc-20160816; b=duvhufqu+Tn/mg61tTLnJI+CST2syU6qCsS310+E/tJj+fYLA/ob6Jm65tKYjB7dTn C4KzkwbQ0o0SwRnNiN4owqsLmCgPoBJ7NSrzcKDNFLc5iVRp3bFF5LOov8bMr7ij54en 4symKBgUuh78V/y89vsFIr+7U7qEcXsDHQYaE3Zidd8Rmg/9AReAF+ubc50m3p41eDTI kbSjbJYEzYhPKR4qEGlKPij2D0cy1aKW8cXrYA3quHQxzMNl8bokt2Iz8Zpg7wKyNUIm PxeFrVFkiHaE7O5Tea7Uxd9iJ4ALrcsfEHTp0JKFMOTSpBNR91Cod7DeY9NAttX6bOWL sznw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=CtXFTsfPKjyIGxpKMJvVA2kMNH2z9mW7hMuST1Te3Sk=; b=tmW66DTsVeCDe+/avH0jw8ngPIcrY1D6orw5ttjE8uHb950gQfy82rDBOGQscB+7fi ngNvgBWPK6gtSFy9cg1Q98IT9UC40anI8/kuBnU0SDXgHkudCgku3T6qc6Nehp81bXfE 3/S6iduVtG5e5oQYxOkZe1Wg89kWktPKgbksD4IsNjsB0iYKtSBW6jPGNkG2Zm3XlbJZ 6JLiuA4RmpVUuDpnl1YViYpLdaoXVttp4KVNDhESz1VBjV8cW9CCe22ny+suEG/TCA0p TJyZ7wfJ5/EJaPXjizSQ7x/Z5AsCFnJJT39twfNyOAqOZiMdrPw1Dp6mKzBNTzFFtxU0 nPmg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id u3si1809203ejx.94.2020.07.09.05.32.46; Thu, 09 Jul 2020 05:33:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1726582AbgGIMaZ (ORCPT + 99 others); Thu, 9 Jul 2020 08:30:25 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:12306 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726327AbgGIMaZ (ORCPT ); Thu, 9 Jul 2020 08:30:25 -0400 Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 069C14rr083295; Thu, 9 Jul 2020 08:29:59 -0400 Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0b-001b2d01.pphosted.com with ESMTP id 325ktsrtun-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jul 2020 08:29:59 -0400 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 069CCJWI023681; Thu, 9 Jul 2020 12:29:58 GMT Received: from b06avi18626390.portsmouth.uk.ibm.com (b06avi18626390.portsmouth.uk.ibm.com [9.149.26.192]) by ppma03ams.nl.ibm.com with ESMTP id 325k1vgweu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 09 Jul 2020 12:29:57 +0000 Received: from d06av24.portsmouth.uk.ibm.com (mk.ibm.com [9.149.105.60]) by b06avi18626390.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 069CSXTE56426992 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 9 Jul 2020 12:28:33 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DA8934203F; Thu, 9 Jul 2020 12:29:54 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D943E42041; Thu, 9 Jul 2020 12:29:52 +0000 (GMT) Received: from bangoria.ibmuc.com (unknown [9.199.49.147]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Thu, 9 Jul 2020 12:29:52 +0000 (GMT) From: Ravi Bangoria To: mpe@ellerman.id.au, mikey@neuling.org Cc: ravi.bangoria@linux.ibm.com, paulus@samba.org, christophe.leroy@c-s.fr, naveen.n.rao@linux.vnet.ibm.com, pedromfc@br.ibm.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31 Date: Thu, 9 Jul 2020 17:59:44 +0530 Message-Id: <20200709122944.173744-1-ravi.bangoria@linux.ibm.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235,18.0.687 definitions=2020-07-09_06:2020-07-09,2020-07-09 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0 clxscore=1015 bulkscore=0 mlxlogscore=999 phishscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007090093 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31 can be used to determine whether we are running on an ISA 3.1 compliant machine. Which is needed to determine DAR behaviour, 512 byte boundary limit etc. This was requested by Pedro Miraglia Franco de Carvalho for extending watchpoint features in gdb. Note that availability of 2nd DAWR is independent of this flag and should be checked using ppc_debug_info->num_data_bps. Signed-off-by: Ravi Bangoria --- arch/powerpc/include/uapi/asm/ptrace.h | 1 + arch/powerpc/kernel/ptrace/ptrace-noadv.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h index f5f1ccc740fc..0a87bcd4300a 100644 --- a/arch/powerpc/include/uapi/asm/ptrace.h +++ b/arch/powerpc/include/uapi/asm/ptrace.h @@ -222,6 +222,7 @@ struct ppc_debug_info { #define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004 #define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008 #define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x0000000000000010 +#define PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31 0x0000000000000020 #ifndef __ASSEMBLY__ diff --git a/arch/powerpc/kernel/ptrace/ptrace-noadv.c b/arch/powerpc/kernel/ptrace/ptrace-noadv.c index 697c7e4b5877..b2de874d650b 100644 --- a/arch/powerpc/kernel/ptrace/ptrace-noadv.c +++ b/arch/powerpc/kernel/ptrace/ptrace-noadv.c @@ -52,8 +52,11 @@ void ppc_gethwdinfo(struct ppc_debug_info *dbginfo) dbginfo->sizeof_condition = 0; if (IS_ENABLED(CONFIG_HAVE_HW_BREAKPOINT)) { dbginfo->features = PPC_DEBUG_FEATURE_DATA_BP_RANGE; - if (dawr_enabled()) + if (dawr_enabled()) { dbginfo->features |= PPC_DEBUG_FEATURE_DATA_BP_DAWR; + if (cpu_has_feature(CPU_FTR_ARCH_31)) + dbginfo->features |= PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31; + } } else { dbginfo->features = 0; } -- 2.26.2