From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A6FA4C2BA19 for ; Tue, 21 Apr 2020 03:49:30 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7069A2071E for ; Tue, 21 Apr 2020 03:49:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="h9jVnfjN"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="HQ0ItVS8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7069A2071E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ynQoAil0AVMRpfCKQpv+l0wmZZ1Nd85iBJnsw1UUuf8=; b=h9jVnfjNg/I9hfCtkN8kqyRSR iz7qQTKxJgDKiv3E0SCwLUW6p3GEaZzk0ZW04TumFzSbZ0RjYnN4tex7E7BGjffPZam21eyB5hg51 JmQuU8sT8ZngcUG5eoC+2y3qU1DtIPhlBNjTntum8OFhc9YX3rSktakqPWhCUrYQWmwV3UcwA2m37 1U7zEhIteled4dGbSc0pHdRZAsdLls5odEVCmaEu8Ge/i1qz+zNfVxFZxYC342rHvyKzE901IruTY h06I4olJCLCDijtk9DRcn6OFv+FInyprCY4LJbnGoV4xwOHiz/nW2Rquo0zySDYz8ir6zSWk1VHx3 SHdkOG7dw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQjuY-0008MA-9i; Tue, 21 Apr 2020 03:49:26 +0000 Received: from mail26.static.mailgun.info ([104.130.122.26]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jQjuP-0008Fq-2w for linux-arm-kernel@lists.infradead.org; Tue, 21 Apr 2020 03:49:19 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1587440956; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=jAl6zaKvi+5lW1/7o2BLtUtV7Gyv5Gw9FCFSeA0Ynj0=; b=HQ0ItVS8lBxh7cjMSJtBHfBbLUW60TeNp4G2DGC8nadcoWs7rnT+XZn8yXtrAlTVmjPu6xXt ITdqEbrsXoRFEWtGit9Qqt4elJd6dXr1vsRl/8tzqiqQ0fnFjlm4PJBxC4Qh8ZGBGGL0v5vT b5QbVgk5EcpmcrLy/AsBVC245dY= X-Mailgun-Sending-Ip: 104.130.122.26 X-Mailgun-Sid: WyJiYzAxZiIsICJsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmciLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5e9e6d3a.7f47865fe420-smtp-out-n01; Tue, 21 Apr 2020 03:49:14 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id C7D00C43636; Tue, 21 Apr 2020 03:49:13 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: tingwei) by smtp.codeaurora.org (Postfix) with ESMTPSA id CF53FC432C2; Tue, 21 Apr 2020 03:49:11 +0000 (UTC) MIME-Version: 1.0 Date: Tue, 21 Apr 2020 11:49:11 +0800 From: tingwei@codeaurora.org To: Will Deacon Subject: Re: [PATCH] arm64: hw_breakpoint: don't clear debug registers in halt mode In-Reply-To: <20200331114502.GA29553@willie-the-truck> References: <20200328083209.21793-1-tingwei@codeaurora.org> <20200330123946.GH1309@C02TD0UTHF1T.local> <20200330134218.GB10633@willie-the-truck> <2f4d076b2b21de3908f0821126d0c61e@codeaurora.org> <20200331074147.GA25612@willie-the-truck> <518d9ca9652c23bfc0e1831306144418@codeaurora.org> <20200331114502.GA29553@willie-the-truck> Message-ID: <20b8c92a16db07978dfcb8cdf3b0e185@codeaurora.org> X-Sender: tingwei@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200420_204917_217253_04B7BD18 X-CRM114-Status: GOOD ( 29.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Catalin Marinas , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org 5ZyoIDIwMjAtMDMtMzEgMTk6NDXvvIxXaWxsIERlYWNvbiDlhpnpgZPvvJoKPiBPbiBUdWUsIE1h ciAzMSwgMjAyMCBhdCAwNzozMzozOFBNICswODAwLCB0aW5nd2VpQGNvZGVhdXJvcmEub3JnIHdy b3RlOgo+PiDlnKggMjAyMC0wMy0zMSAxNTo0Me+8jFdpbGwgRGVhY29uIOWGmemBk++8mgo+PiA+ IE9uIFR1ZSwgTWFyIDMxLCAyMDIwIGF0IDEwOjM5OjQyQU0gKzA4MDAsIHRpbmd3ZWlAY29kZWF1 cm9yYS5vcmcgd3JvdGU6Cj4+ID4gPiDlnKggMjAyMC0wMy0zMCAyMTo0Mu+8jFdpbGwgRGVhY29u IOWGmemBk++8mgo+PiA+ID4gPiBPbiBNb24sIE1hciAzMCwgMjAyMCBhdCAwMTozOTo0NlBNICsw MTAwLCBNYXJrIFJ1dGxhbmQgd3JvdGU6Cj4+ID4gPiA+ID4gT24gU2F0LCBNYXIgMjgsIDIwMjAg YXQgMDQ6MzI6MDlQTSArMDgwMCwgVGluZ3dlaSBaaGFuZyB3cm90ZToKPj4gPiA+ID4gPiA+IElm IGV4dGVybmFsIGRlYnVnZ2VyIHNldHMgYSBicmVha3BvaW50IGZvciBvbmUgS2VybmVsIGZ1bmN0 aW9uCj4+ID4gPiA+ID4gPiB3aGVuIGRldmljZSBpcyBpbiBib290bG9hZGVyIG1vZGUgYW5kIGxv YWRzIEtlcm5lbCwgdGhpcwo+PiA+ID4gPiA+ID4gYnJlYWtwb2ludAo+PiA+ID4gPiA+ID4gd2ls bCBiZSB3aXBlZCBvdXQgaW4gaHdfYnJlYWtwb2ludF9yZXNldCgpLiBUbyBmaXggdGhpcywgY2hl Y2sKPj4gPiA+ID4gPiA+IE1EU0NSX0VMMS5IREUgaW4gaHdfYnJlYWtwb2ludF9yZXNldCgpLiBX aGVuIE1EU0NSX0VMMS5IREUgaXMKPj4gPiA+ID4gPiA+IDBiMSwgaGFsdGluZyBkZWJ1ZyBpcyBl bmFibGVkLiBEb24ndCByZXNldCBkZWJ1ZyByZWdpc3RlcnMgaW4KPj4gPiA+ID4gPiA+IHRoaXMK Pj4gPiA+ID4gY2FzZS4KPj4gPiA+ID4gPgo+PiA+ID4gPiA+IEkgZG9uJ3QgdGhpbmsgdGhpcyBp cyBzdWZmaWNpZW50LCBiZWNhdXNlIHRoZSBrZXJuZWwgY2FuIHN0aWxsCj4+ID4gPiA+ID4gc3Vi c2VxdWVudGx5IG1lc3Mgd2l0aCBicmVha3BvaW50cywgYW5kIHRoZSBIVyBkZWJ1Z2dlciBtaWdo dCBub3QKPj4gPiA+ID4gPiBiZQo+PiA+ID4gPiA+IGF0dGFjaGVkIGF0IHRoaXMgcG9pbnQgaW4g dGltZSBhbnlob3cuCj4+ID4gPiA+ID4KPj4gPiA+ID4gPiBJIHJlY2tvbiB0aGlzIHNob3VsZCBo YW5nIG9mZiB0aGUgZXhpc3RpbmcgIm5vZGVidW1vbiIgY29tbWFuZAo+PiA+ID4gPiA+IGxpbmUK Pj4gPiA+ID4gPiBvcHRpb24sIGFuZCB3ZSBzaG91bGRuJ3QgdXNlIEhXIGJyZWFrcG9pbnRzIGF0 IGFsbCB3aGVuIHRoYXQgaXMKPj4gPiA+ID4gPiBwYXNzZWQuCj4+ID4gPiA+ID4gVGhlbiB5b3Ug Y2FuIHBhc3MgdGhhdCB0byBwcmV2ZW50IHRoZSBrZXJuZWwgc3RvbXBpbmcgb24gdGhlCj4+ID4g PiA+ID4gZXh0ZXJuYWwKPj4gPiA+ID4gPiBkZWJ1Z2dlci4KPj4gPiA+ID4gPgo+PiA+ID4gPiA+ IFdpbGwsIHRob3VnaHRzPwo+PiA+ID4gPgo+PiA+ID4gPiBJIHdhcyBnb2luZyB0byBzdWdnZXN0 IHRoZSBzYW1lIHRoaW5nLCBhbHRob3VnaCB3ZSB3aWxsIGFsc28gbmVlZCB0bwo+PiA+ID4gPiB0 YWtlCj4+ID4gPiA+IGNhcmUgdG8gcmVzZXQgdGhlIHJlZ2lzdGVycyBpZiAibm9kZWJ1Z21vbiIg aXMgdG9nZ2xlZCBhdCBydW50aW1lCj4+ID4gPiA+IHZpYQo+PiA+ID4gPiB0aGUKPj4gPiA+ID4g ImRlYnVnX2VuYWJsZWQiIGZpbGUgaW4gZGVidWdmcy4KPj4gPiA+ID4KPj4gPiA+IFRoYW5rcyBm b3IgdGhlIHN1Z2dlc3Rpb24sIE1hcmsgYW5kIFdpbGwuIEl0J3MgYSBncmVhdCBpZGVhIHRvIHVz ZQo+PiA+ID4gIm5vZGVidWdtb24iLiBXaGVuICJub2RlYnVnbW9uIiBpcyBzZXQsIEtlcm5lbCB3 b24ndCBjaGFuZ2UgSFcKPj4gPiA+IGJyZWFrcG9pbnRzLgo+PiA+ID4KPj4gPiA+IEZvciByZXNl dCB0aGUgcmVnaXN0ZXJzIGFmdGVyICJkZWJ1Z19lbmFibGVkIiBpcyB0b2dnbGVkLCBJJ20KPj4g PiA+IHRoaW5raW5nIGlmCj4+ID4gPiB3ZSBhcmUgYWRkaW5nIHVubmVjZXNzYXJ5IGNvbXBsZXhp dHkgaGVyZS5JZiB3ZSB0YWtlIHRoYXQgYXBwcm9hY2gsIHdlCj4+ID4gPiB3aWxsCj4+ID4gPiBo b29rICJkZWJ1Z19lbmFibGVkIiBpbnRlcmZhY2UgYW5kIHVzZSBzbXBfY2FsbF9mdW5jdGlvbl9z aW5nbGUoKSB0bwo+PiA+ID4gY2FsbAo+PiA+ID4gaHdfYnJlYWtwb2ludF9yZXNldCgpIG9uIGVh Y2ggQ1BVLiBXYWl0IGZvciBhbGwgQ1BVcycgZXhlY3V0aW9uIGRvbmUKPj4gPiA+IGFuZAo+PiA+ ID4gY2hhbmdlICJkZWJ1Z19lbmFibGVkIi4gRXh0ZXJuYWwgZGVidWdnZXIgd291bGQgY2xlYXIg dGhlCj4+ID4gPiBicmVha3BvaW50cyB3aGVuCj4+ID4gPiBpdCBkZXRhY2hlcyB0aGUgZGV2aWNl IGFuZCByZXN0b3JlcyBpdHMgYnJlYWtwb2ludHMgd2hlbiBhdHRhY2hlcyB0aGUKPj4gPiA+IGRl dmljZS4KPj4gPiA+IEFzc3VtZSBkZWJ1Z19lbmFibGVkIGlzIGNoYW5nZWQgdG8gb25lIGFmdGVy IGV4dGVybmFsIGRlYnVnZ2VyCj4+ID4gPiBkZXRhY2hlcwo+PiA+ID4gdGhlCj4+ID4gPiBkZXZp Y2UuIERlYnVnZ2VyIHdvdWxkIGFscmVhZHkgY2xlYXIgdGhlIGJyZWFrcG9pbnQgcmVnaXN0ZXJz LiBJZgo+PiA+ID4gZGViZ2dlcgo+PiA+ID4gaXMKPj4gPiA+IHN0aWxsIGF0dGFjaGVkLCB0aGVy ZSdzIG5vdGhpbmcgS2VybmVsIGNhbiBkbyB0byBzdG9wIGl0Cj4+ID4gPiByZXN0b3Jlcy9wcm9n cmFtcwo+PiA+ID4gdGhlIGJyZWFrcG9pbnQgcmVnaXN0ZXJzLgo+PiA+ID4KPj4gPiA+IFdoYXQg ZG8geW91IHRoaW5rIG9mIHRoaXM/Cj4+ID4KPj4gPiBJdCdzIGFsbCBhIGJpdCBvZiBhIG1lc3Mu IExvb2tpbmcgYXQgaXQgc29tZSBtb3JlLCB3aHkgY2FuJ3QgdGhlCj4+ID4gZXh0ZXJuYWwKPj4g PiBkZWJ1Z2dlciBzaW1wbHkgdHJhcCBhY2Nlc3MgdG8gdGhlIGRlYnVnIHJlZ2lzdGVycyB1c2lu ZyBFRFNDUi5UREE/IFRoYXQKPj4gPiB3YXksIHdlIGRvbid0IGhhdmUgdG8gY2hhbmdlIGFueXRo aW5nIGluIHRoZSBrZXJuZWwuCj4+ID4KPj4gCj4+IEV4dGVybmFsIGRlYnVnZ2VyIGhhcyB0aGUg ZnVuY3Rpb24gdG8gdHJhcCBhY2Nlc3MgdG8gZGVidWcgcmVnaXN0ZXJzIAo+PiBub3cuCj4+IFdo YXQgZG8gd2UgZXhwZWN0IGRlYnVnZ2VyIHRvIGRvIGFmdGVyIGNvcmUgaXMgc3RvcHBlZD8gU2tp cCB0aGF0IG1zcgo+PiBpbnN0cnVjdGlvbiBhbmQgY29udGludWUgdG8gcnVuPwo+IAo+IFRoZSBu aWNlc3QgdGhpbmcgdG8gZG8gd291bGQgcHJvYmFibHkgYmUgdG8gcmVjb3JkIGFsbCB0aGUgYWNj ZXNzZXMgCj4gbWFkZQo+IGJ5IHRoZSBPUyBzbyB0aGF0IGl0IGNhbiBlbXVsYXRlIHJlYWRzIGFu ZCByZXBsYXkgd3JpdGVzIHdoZW4gZXh0ZXJuYWwKPiBkZWJ1Z2dpbmcgaXMgb3Zlci4gR2l2ZW4g dGhhdCB5b3UnZCBzdGlsbCBiZSBleHBlY3RpbmcgdG8gcGFzcyAKPiAibm9kZWJ1Z21vbiIsCj4g dGhlIGVtdWxhdGlvbiBzaG91bGQgYmUgcHJldHR5IHN0cmFpZ2h0Zm9yd2FyZCwgSSB0aGluay4K PiAKPiBXaWxsCgpXaWxsLAoKVG8gcHJvdmlkZSBhbiB1cGRhdGUgb24gdGhpcywgSSd2ZSB3b3Jr ZWQgd2l0aCBleHRlcm5hbCBkZWJ1Z2dlciB2ZW5kb3IgCm9uIHRoaXMuCk5vdyBleHRlcm5hbCBk ZWJ1Z2dlciBjYW4gdHJhcCB0aGUgd3JpdGUgdG8gZGVidWcgcmVnaXN0ZXJzIGFuZCBpZ25vcmUg CnRoZSB3cml0ZS4KVGhpcyBpcyB0aGUgZmlyc3Qgc3RlcC4KClRoYW5rcywKVGluZ3dlaQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25B26C54FC9 for ; Tue, 21 Apr 2020 03:49:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0044C2071E for ; Tue, 21 Apr 2020 03:49:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="MclvBTXX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728309AbgDUDtW (ORCPT ); Mon, 20 Apr 2020 23:49:22 -0400 Received: from mail26.static.mailgun.info ([104.130.122.26]:25861 "EHLO mail26.static.mailgun.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726793AbgDUDtW (ORCPT ); Mon, 20 Apr 2020 23:49:22 -0400 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1587440961; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=jAl6zaKvi+5lW1/7o2BLtUtV7Gyv5Gw9FCFSeA0Ynj0=; b=MclvBTXXSvrQdMjIMhDtSzcVut5AzRoGt2b6RivNfIl95hRUt49fMOFfJYnTqsHXv6Azt/Fp OqS42u+lKADFINVSnbwxlefIPMQ6fNHoGrDh9KXYBCPJvqy8A6gsIVJJuXae/TSclmOnz62H 8/JMCG2qa/LI7oyhKAzDffrzkkY= X-Mailgun-Sending-Ip: 104.130.122.26 X-Mailgun-Sid: WyI0MWYwYSIsICJsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnIiwgImJlOWU0YSJd Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5e9e6d3a.7efc3f8a90d8-smtp-out-n04; Tue, 21 Apr 2020 03:49:14 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 83652C433BA; Tue, 21 Apr 2020 03:49:13 +0000 (UTC) Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: tingwei) by smtp.codeaurora.org (Postfix) with ESMTPSA id CF53FC432C2; Tue, 21 Apr 2020 03:49:11 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Tue, 21 Apr 2020 11:49:11 +0800 From: tingwei@codeaurora.org To: Will Deacon Cc: Mark Rutland , Catalin Marinas , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] arm64: hw_breakpoint: don't clear debug registers in halt mode In-Reply-To: <20200331114502.GA29553@willie-the-truck> References: <20200328083209.21793-1-tingwei@codeaurora.org> <20200330123946.GH1309@C02TD0UTHF1T.local> <20200330134218.GB10633@willie-the-truck> <2f4d076b2b21de3908f0821126d0c61e@codeaurora.org> <20200331074147.GA25612@willie-the-truck> <518d9ca9652c23bfc0e1831306144418@codeaurora.org> <20200331114502.GA29553@willie-the-truck> Message-ID: <20b8c92a16db07978dfcb8cdf3b0e185@codeaurora.org> X-Sender: tingwei@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2020-03-31 19:45,Will Deacon 写道: > On Tue, Mar 31, 2020 at 07:33:38PM +0800, tingwei@codeaurora.org wrote: >> 在 2020-03-31 15:41,Will Deacon 写道: >> > On Tue, Mar 31, 2020 at 10:39:42AM +0800, tingwei@codeaurora.org wrote: >> > > 在 2020-03-30 21:42,Will Deacon 写道: >> > > > On Mon, Mar 30, 2020 at 01:39:46PM +0100, Mark Rutland wrote: >> > > > > On Sat, Mar 28, 2020 at 04:32:09PM +0800, Tingwei Zhang wrote: >> > > > > > If external debugger sets a breakpoint for one Kernel function >> > > > > > when device is in bootloader mode and loads Kernel, this >> > > > > > breakpoint >> > > > > > will be wiped out in hw_breakpoint_reset(). To fix this, check >> > > > > > MDSCR_EL1.HDE in hw_breakpoint_reset(). When MDSCR_EL1.HDE is >> > > > > > 0b1, halting debug is enabled. Don't reset debug registers in >> > > > > > this >> > > > case. >> > > > > >> > > > > I don't think this is sufficient, because the kernel can still >> > > > > subsequently mess with breakpoints, and the HW debugger might not >> > > > > be >> > > > > attached at this point in time anyhow. >> > > > > >> > > > > I reckon this should hang off the existing "nodebumon" command >> > > > > line >> > > > > option, and we shouldn't use HW breakpoints at all when that is >> > > > > passed. >> > > > > Then you can pass that to prevent the kernel stomping on the >> > > > > external >> > > > > debugger. >> > > > > >> > > > > Will, thoughts? >> > > > >> > > > I was going to suggest the same thing, although we will also need to >> > > > take >> > > > care to reset the registers if "nodebugmon" is toggled at runtime >> > > > via >> > > > the >> > > > "debug_enabled" file in debugfs. >> > > > >> > > Thanks for the suggestion, Mark and Will. It's a great idea to use >> > > "nodebugmon". When "nodebugmon" is set, Kernel won't change HW >> > > breakpoints. >> > > >> > > For reset the registers after "debug_enabled" is toggled, I'm >> > > thinking if >> > > we are adding unnecessary complexity here.If we take that approach, we >> > > will >> > > hook "debug_enabled" interface and use smp_call_function_single() to >> > > call >> > > hw_breakpoint_reset() on each CPU. Wait for all CPUs' execution done >> > > and >> > > change "debug_enabled". External debugger would clear the >> > > breakpoints when >> > > it detaches the device and restores its breakpoints when attaches the >> > > device. >> > > Assume debug_enabled is changed to one after external debugger >> > > detaches >> > > the >> > > device. Debugger would already clear the breakpoint registers. If >> > > debgger >> > > is >> > > still attached, there's nothing Kernel can do to stop it >> > > restores/programs >> > > the breakpoint registers. >> > > >> > > What do you think of this? >> > >> > It's all a bit of a mess. Looking at it some more, why can't the >> > external >> > debugger simply trap access to the debug registers using EDSCR.TDA? That >> > way, we don't have to change anything in the kernel. >> > >> >> External debugger has the function to trap access to debug registers >> now. >> What do we expect debugger to do after core is stopped? Skip that msr >> instruction and continue to run? > > The nicest thing to do would probably be to record all the accesses > made > by the OS so that it can emulate reads and replay writes when external > debugging is over. Given that you'd still be expecting to pass > "nodebugmon", > the emulation should be pretty straightforward, I think. > > Will Will, To provide an update on this, I've worked with external debugger vendor on this. Now external debugger can trap the write to debug registers and ignore the write. This is the first step. Thanks, Tingwei