Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1186319ybh; Thu, 23 Jul 2020 02:37:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzqk+PaLu7fbbb/bcxMqAQ7ECVJzJ5xwj6wJnsXv+6r8G5gSCq7OmVXzTNvWS/C2SEnLDiy X-Received: by 2002:a05:6402:1803:: with SMTP id g3mr3171974edy.377.1595497053201; Thu, 23 Jul 2020 02:37:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595497053; cv=none; d=google.com; s=arc-20160816; b=TVREaRDAt5pBTtQ3BZRWTR6LW/T/AYlDXZVc+sAS8ZwcmF9APl4H+u6IXBjgBaAopY BcDxVMb3P2X9cSqMvaM8MBmZt306ucyOivx//Ynb89usbNItLDntfKqyUpdH6vma2qF2 oYfVIWXkOwhIQgOPV0grxHcWqplPN+uM+Q5psmbatL7aioHf90xXWQ4LAjJnZpULDptr HVgthIYgLMHmNxAcJs7xYh+nVBWoC78JUPWSBljLktoPvYaQNX827XzwNjO0dSVuL/IL 8YfQ7v76CnvRBBljOOtFfb0lPRAuTnrOYIGzkkqD8zZ71WCgOvWim2i4d+ST5BnTMh44 NUWQ== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=ijWsNI6jAvUDdu7hI0Ss2dwMLnDMNP15UNh6pjt7Hus=; b=Fz0fL3Oo6VWycBY5gRzJqB6f+f4LWaEzYlKO6tmf/2tKvp4vmSXBw4PHl5AqCqG0nf IHyZGdSNlrDuN4JeGD6rSbcuEOqCrteGdV4aJYCbiAgSswdQ1I4eg2EtgeE74ppjf1Y4 OVnqziUidCLKSdYW9V0cgM58RpiOV0BGAAarseUls/3b5VWckjM3v7CR8G55cI9NzujG QyQnIP+0eDjn91ikMXezKwjVxXtVT+VJPQ3lyWVo22yKF5hzKpeaIJN4bUQMqOOc4DDn R1fzAXwAKpIJE+leVYo0GoHSUveWGCCfPJ1REoGUmREF2Fv6jd33TY8m+iWmRgLq/DuA d1mA== 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 m3si1598369edv.382.2020.07.23.02.37.10; Thu, 23 Jul 2020 02:37:33 -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 S1727997AbgGWJeS (ORCPT + 99 others); Thu, 23 Jul 2020 05:34:18 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:7948 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727828AbgGWJeS (ORCPT ); Thu, 23 Jul 2020 05:34:18 -0400 Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 06N9XXDA127552; Thu, 23 Jul 2020 05:34:01 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 32f1gxhk58-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 23 Jul 2020 05:34:00 -0400 Received: from m0098404.ppops.net (m0098404.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 06N9Y0m1129436; Thu, 23 Jul 2020 05:34:00 -0400 Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 32f1gxhk4c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 23 Jul 2020 05:34:00 -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 06N9FbpA027287; Thu, 23 Jul 2020 09:33:57 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma03ams.nl.ibm.com with ESMTP id 32brq7p0r5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 23 Jul 2020 09:33:57 +0000 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 06N9XrcJ62521406 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 23 Jul 2020 09:33:53 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1D59552054; Thu, 23 Jul 2020 09:33:53 +0000 (GMT) Received: from bangoria.ibmuc.com (unknown [9.199.40.160]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id D715E5204F; Thu, 23 Jul 2020 09:33:48 +0000 (GMT) From: Ravi Bangoria To: mpe@ellerman.id.au Cc: ravi.bangoria@linux.ibm.com, mikey@neuling.org, paulus@samba.org, christophe.leroy@c-s.fr, naveen.n.rao@linux.vnet.ibm.com, pedromfc@br.ibm.com, rogealve@br.ibm.com, jniethe5@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31 Date: Thu, 23 Jul 2020 15:03:30 +0530 Message-Id: <20200723093330.306341-1-ravi.bangoria@linux.ibm.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200709122944.173744-1-ravi.bangoria@linux.ibm.com> References: <20200709122944.173744-1-ravi.bangoria@linux.ibm.com> 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-23_03:2020-07-22,2020-07-23 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 suspectscore=1 mlxscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 adultscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2006250000 definitions=main-2007230072 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 --- v1->v2: - Mention new flag in Documentaion/ as well. Documentation/powerpc/ptrace.rst | 1 + arch/powerpc/include/uapi/asm/ptrace.h | 1 + arch/powerpc/kernel/ptrace/ptrace-noadv.c | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/powerpc/ptrace.rst b/Documentation/powerpc/ptrace.rst index 864d4b6dddd1..4d42290248cb 100644 --- a/Documentation/powerpc/ptrace.rst +++ b/Documentation/powerpc/ptrace.rst @@ -46,6 +46,7 @@ features will have bits indicating whether there is support for:: #define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x4 #define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x8 #define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x10 + #define PPC_DEBUG_FEATURE_DATA_BP_DAWR_ARCH_31 0x20 2. PTRACE_SETHWDEBUG 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