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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id C4E8CC38A2D for ; Wed, 26 Oct 2022 13:48:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jrBmsvCFKva2w1CLQH4cqGky6BPBxHVatNwuT6N8MJI=; b=VdM7uP2GU18KJq VvQ048T8JulmElz34hkADr5wOiDzKRzeeYkYvQCZ3SGa72ZSF3C6q+v2eG7SPJ1yd0UWNuHhJyUHX SVB6vqluddluE1iBS3rHLlHP4cClJ6edH5WH0pfUpAZ5a56/assXCGtSkOAZOp0bxOvgkDNyEy8dT eIGfWwZgmq4vwc4aiSqj8V8+Hu400v5MdZgeLWmpM/nEWrEKU0n/nqPa09Blk5PAriZPhUSFpSXV1 vUb3WB1q6H7hzBSwCHpUlqOMG9Ci7b3q+RwlsUALhFcuIJVF4AWUaxhM+zG4yyrjIs26JLcHpCIN0 ZLz5CZEASR2o1eOIGJbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1onglQ-009XKy-Sa; Wed, 26 Oct 2022 13:48:13 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1onglJ-009XHB-TJ; Wed, 26 Oct 2022 13:48:09 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3B79BB82254; Wed, 26 Oct 2022 13:48:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34A03C433D6; Wed, 26 Oct 2022 13:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666792082; bh=SkX3XtxgR1zy4caR8MbkPlYta849/mA6RYgIbF/oKgA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eTR0foZhIwpQDcfbQH6ooJQ606jLxTehYcguth6XgtOQdVGcfevMfdRMgcysEDM3k g7BNxkNAO8kwYIxV3goeLpkfPY8gKJZrCkXcqw5Pp7UDrMDXpaMq438LZOmvf4OPyK /+nPIlUfmVgasKf7J/v7w4OwDvtlN43O4sIS4gDlMyCerfe78s875NpO8296lvg4K9 6X0UoiFG7Aj839rw7moVnuKckd4tVeNuv9PrWI5zbvIVn0W+Mfpo0xZN7NBWQIanEh tKLmAvtP2B+MvzawQ81RBLEo5amoYQFxOSiLfd4+6XSz/4X+Lt9an3tdS57rZJZkTD ttpyIiA5N1WdA== Date: Wed, 26 Oct 2022 14:47:55 +0100 From: Conor Dooley To: Baoquan He Cc: Xianting Tian , Conor Dooley , Palmer Dabbelt , paul.walmsley@sifive.com, aou@eecs.berkeley.edu, anup@brainfault.org, heiko@sntech.de, guoren@kernel.org, mick@ics.forth.gr, alexandre.ghiti@canonical.com, vgoyal@redhat.com, dyoung@redhat.com, corbet@lwn.net, bagasdotme@gmail.com, k-hagio-ab@nec.com, lijiang@redhat.com, kexec@lists.infradead.org, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, crash-utility@redhat.com, heinrich.schuchardt@canonical.com, hschauhan@nulltrace.org, yixun.lan@gmail.com Subject: Re: [PATCH V4 1/2] RISC-V: Add arch_crash_save_vmcoreinfo support Message-ID: References: <20221019103623.7008-1-xianting.tian@linux.alibaba.com> <20221019103623.7008-2-xianting.tian@linux.alibaba.com> <30621b3b-47ba-d612-cfb0-583d779691a3@linux.alibaba.com> <6af05838-fa58-8197-f3ce-ca95457077a7@linux.alibaba.com> <5df30e57-88ae-0a3b-2c1a-b962363d8670@linux.alibaba.com> <3c8beab1-3ca7-c3d7-6f31-c28a0ae008a3@linux.alibaba.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221026_064806_283057_E7296D2C X-CRM114-Status: GOOD ( 48.29 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org T24gV2VkLCBPY3QgMjYsIDIwMjIgYXQgMDg6MDU6NDFQTSArMDgwMCwgQmFvcXVhbiBIZSB3cm90 ZToKPiBIaSBYaWFudGluZywgCj4gCj4gT24gMTAvMjYvMjIgYXQgMDU6NDRwbSwgWGlhbnRpbmcg VGlhbiB3cm90ZToKPiA+IAo+ID4g5ZyoIDIwMjIvMTAvMjYg5LiL5Y2INToyNSwgQ29ub3IgRG9v bGV5IOWGmemBkzoKPiA+ID4gT24gV2VkLCBPY3QgMjYsIDIwMjIgYXQgMDU6MDg6MTFQTSArMDgw MCwgWGlhbnRpbmcgVGlhbiB3cm90ZToKPiA+ID4gPiBIaSBQYWxtZXIsIENvbm9yCj4gPiA+ID4g Cj4gPiA+ID4gSXMgdGhpcyB2ZXJzaW9uIE9LIGZvciB5b3U/Cj4gPiA+IFRoZSB3ZWlyZCBpZmRl Zi9JU19FTkFCTEVEIHRoaW5nIHdhcyB0aGUgb25seSBjb21tZW50IEkgaGFkLiBJdCdzIGEgYml0 Cj4gPiA+IG9kZCAmIEkgbm90aWNlIEJhb3F1YW4gYnJvdWdodCBpdCB1cCB0b28uIEkgZGlkbid0 IChhbmQgd29uJ3QpIGdpdmUgeW91Cj4gPiA+IGEgcmV2aWV3ZWQgYnkgb24gdGhlc2UgcGF0Y2hl cyBiZWNhdXNlIEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgYXJlYSB3ZWxsCj4gPiA+IGVub3VnaC4g VGhlIGdlbmVyYWwgbml0cGlja2VyeSBzZWVtcyB0byBiZSBzb3J0ZWQgdGhvdWdoLgo+ID4gCj4g PiBJIGNoZWNrZWQgdGhlIEtFUk5FTF9MSU5LX0FERFIgZGVmaW5pdGlvbiBvZiByaXNjdizCoCBp dCBpcyB2YWxpZCBmb3IKPiA+IENPTkZJR182NEJJVCBhbmQgIUNPTkZJR182NEJJVC4KPiAKPiBU aGlzIHNlcmllcyBsb29rcyBnb29kIHRvIG1lLiBNeSBvbmx5IG1pbm9yIGNvbmNlcm4gaXMgaWYg d2UgY2FuIG1ha2UKPiB0aGUgYXJjaF9jcmFzaF9zYXZlX3ZtY29yZWluZm8oKSBhcyBiZWxvdy4g SSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZQo+IGhhdmUgdG8gaGF2ZSB0aGUgQ09ORklHXzY0QklU IGlmZGVmZmVyeSBhbmQgdGhlIElTX0VOQUJMRUQoQ09ORklHXzY0QklUKQo+IGJldHdlZW4gdHdv IGFkamFjZW50IGNvZGUgYmxvY2tzLiBOb3Qgc3VyZSBpZiB3ZSBhcmUgc2F5aW5nIHRoZSBzYW1l Cj4gdGhpbmcuCgpJIHRoaW5rIHdlIGNhbiBqdXN0IGdvIGFuZCBkcm9wIHRoZSBJU19FTkFCTEVE KCkuIEZyb20gbG9va2luZyBhdCBpdApsYXN0IHRpbWUsIG9uZSBiaXQgaXMgY29tcGlsZWFibGUg KGJ1dCBub3QgdXNhYmxlKSBmb3IgITY0QklUIGFuZCB0aGUKb3RoZXIgaXNuJ3QgaGVuY2UgdGhl IElTX0VOQUJMRUQoKS4gSSB0aGluayBpdCB3b3VsZCBtYWtlIHNlbnNlIHRvIGRyb3AKdGhlIElT X0VOQUJMRUQoKSAtIEkgZG9uJ3QgdGhpbmsgd2UncmUgdG9vIGxpa2VseSB0byBoaXQgc29tZSBj b21waWxlCnRlc3RpbmcgZWRnZSBjYXNlcyB0aGF0IElTX0VOQUJMRUQoKSB3b3VsZCBoZWxwIHdp dGggJiBvbmx5IGhhdmluZyBvbmUKbWFrZXMgdGhlIGNvZGUgbG9vayBhIGxvdCBsZXNzIG9kZCBh bmQgYSBsb3QgbW9yZSBpbnRlbnRpb25hbC4KCj4gCj4gK3ZvaWQgYXJjaF9jcmFzaF9zYXZlX3Zt Y29yZWluZm8odm9pZCkKPiArewo+ICsgICAgICAgVk1DT1JFSU5GT19OVU1CRVIoVkFfQklUUyk7 Cj4gKyAgICAgICBWTUNPUkVJTkZPX05VTUJFUihwaHlzX3JhbV9iYXNlKTsKPiArCj4gKyAgICAg ICB2bWNvcmVpbmZvX2FwcGVuZF9zdHIoIk5VTUJFUihQQUdFX09GRlNFVCk9MHglbHhcbiIsIFBB R0VfT0ZGU0VUKTsKPiArICAgICAgIHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKFZNQUxM T0NfU1RBUlQpPTB4JWx4XG4iLCBWTUFMTE9DX1NUQVJUKTsKPiArICAgICAgIHZtY29yZWluZm9f YXBwZW5kX3N0cigiTlVNQkVSKFZNQUxMT0NfRU5EKT0weCVseFxuIiwgVk1BTExPQ19FTkQpOwo+ ICsgICAgICAgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoVk1FTU1BUF9TVEFSVCk9MHgl bHhcbiIsIFZNRU1NQVBfU1RBUlQpOwo+ICsgICAgICAgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJO VU1CRVIoVk1FTU1BUF9FTkQpPTB4JWx4XG4iLCBWTUVNTUFQX0VORCk7Cj4gKyNpZmRlZiBDT05G SUdfNjRCSVQKPiArCXZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKE1PRFVMRVNfVkFERFIp PTB4JWx4XG4iLCBNT0RVTEVTX1ZBRERSKTsKPiArICAgICAgIHZtY29yZWluZm9fYXBwZW5kX3N0 cigiTlVNQkVSKE1PRFVMRVNfRU5EKT0weCVseFxuIiwgTU9EVUxFU19FTkQpOwo+ICsgICAgICAg dm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoS0VSTkVMX0xJTktfQUREUik9MHglbHhcbiIs IEtFUk5FTF9MSU5LX0FERFIpOwo+ICsjZW5kaWYKPiArfQo+IAo+ID4gCj4gPiBNYXliZSB3ZSBj YW4gcmVtb3ZlIElTX0VOQUJMRUQoQ09ORklHXzY0QklUKQo+ID4gCj4gPiBhcmNoL3Jpc2N2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gI2RlZmluZSBBRERSRVNTX1NQQUNFX0VORMKgwqDCoMKg wqDCoCAoVUwoLTEpKQo+ID4gI2lmZGVmIENPTkZJR182NEJJVAo+ID4gLyogTGVhdmUgMkdCIGZv ciBrZXJuZWwgYW5kIEJQRiBhdCB0aGUgZW5kIG9mIHRoZSBhZGRyZXNzIHNwYWNlICovCj4gPiAj ZGVmaW5lIEtFUk5FTF9MSU5LX0FERFLCoMKgwqDCoMKgwqDCoCAoQUREUkVTU19TUEFDRV9FTkQg LSBTWl8yRyArIDEpCj4gPiAjZWxzZQo+ID4gI2RlZmluZSBLRVJORUxfTElOS19BRERSwqDCoMKg wqDCoMKgwqAgUEFHRV9PRkZTRVQKPiA+ICNlbmRpZgo+ID4gCj4gPiBhcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL3BhZ2UuaAo+ID4gI2lmZGVmIENPTkZJR182NEJJVAo+ID4gI2lmZGVmIENPTkZJR19N TVUKPiA+ICNkZWZpbmUgUEFHRV9PRkZTRVTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VybmVs X21hcC5wYWdlX29mZnNldAo+ID4gI2Vsc2UKPiA+ICNkZWZpbmUgUEFHRV9PRkZTRVTCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX0FDKENPTkZJR19QQUdFX09GRlNFVCwgVUwpCj4gPiAjZW5kaWYK PiA+IC8qCj4gPiDCoCogQnkgZGVmYXVsdCwgQ09ORklHX1BBR0VfT0ZGU0VUIHZhbHVlIGNvcnJl c3BvbmRzIHRvIFNWNDggYWRkcmVzcyBzcGFjZSBzbwo+ID4gwqAqIGRlZmluZSB0aGUgUEFHRV9P RkZTRVQgdmFsdWUgZm9yIFNWMzkuCj4gPiDCoCovCj4gPiAjZGVmaW5lIFBBR0VfT0ZGU0VUX0w0 wqDCoMKgwqDCoMKgwqDCoMKgIF9BQygweGZmZmZhZjgwMDAwMDAwMDAsIFVMKQo+ID4gI2RlZmlu ZSBQQUdFX09GRlNFVF9MM8KgwqDCoMKgwqDCoMKgwqDCoCBfQUMoMHhmZmZmZmZkODAwMDAwMDAw LCBVTCkKPiA+ICNlbHNlCj4gPiAjZGVmaW5lIFBBR0VfT0ZGU0VUwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9BQyhDT05GSUdfUEFHRV9PRkZTRVQsIFVMKQo+ID4gI2VuZGlmIC8qIENPTkZJR182 NEJJVCAqLwo+ID4gCj4gPiA+IAo+ID4gPiBUaGFua3MsCj4gPiA+IENvbm9yLgo+ID4gPiAKPiA+ ID4gPiDlnKggMjAyMi8xMC8yMCDkuIvljYgxMjo0MCwgWGlhbnRpbmcgVGlhbiDlhpnpgZM6Cj4g PiA+ID4gPiDlnKggMjAyMi8xMC8yMCDkuIrljYgxMTowNSwgQmFvcXVhbiBIZSDlhpnpgZM6Cj4g PiA+ID4gPiA+IE9uIDEwLzIwLzIyIGF0IDEwOjE3YW0sIFhpYW50aW5nIFRpYW4gd3JvdGU6Cj4g PiA+ID4gPiA+ID4g5ZyoIDIwMjIvMTAvMjAg5LiK5Y2IMTA6MDgsIEJhb3F1YW4gSGUg5YaZ6YGT Ogo+ID4gPiA+ID4gPiA+ID4gT24gMTAvMTkvMjIgYXQgMDY6MzZwbSwgWGlhbnRpbmcgVGlhbiB3 cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gQWRkIGFyY2hfY3Jhc2hfc2F2ZV92bWNvcmVpbmZvKCks IHdoaWNoIGV4cG9ydHMgVk0KPiA+ID4gPiA+ID4gPiA+ID4gbGF5b3V0KE1PRFVMRVMsIFZNQUxM T0MsCj4gPiA+ID4gPiA+ID4gPiA+IFZNRU1NQVAgcmFuZ2VzIGFuZCBLRVJORUxfTElOS19BRERS KSwgdmEgYml0cyBhbmQgcmFtCj4gPiA+ID4gPiA+ID4gPiA+IGJhc2UgZm9yIHZtY29yZS4KPiA+ ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IERlZmF1bHQgcGFnZXRhYmxlIGxldmVs cyBhbmQgUEFHRV9PRkZTRVQgYXJlbid0IHNhbWUgZm9yCj4gPiA+ID4gPiA+ID4gPiA+IGRpZmZl cmVudCBrZXJuZWwKPiA+ID4gPiA+ID4gPiA+ID4gdmVyc2lvbiBhcyBiZWxvdy4gRm9yIHBhZ2V0 YWJsZSBsZXZlbHMsIGl0IHNldHMgc3Y1NyBieQo+ID4gPiA+ID4gPiA+ID4gPiBkZWZhdWx0IGFu ZCBmYWxscwo+ID4gPiA+ID4gPiA+ID4gPiBiYWNrIHRvIHNldHRpbmcgc3Y0OCBhdCBib290IHRp bWUgaWYgc3Y1NyBpcyBub3QKPiA+ID4gPiA+ID4gPiA+ID4gc3VwcG9ydGVkIGJ5IHRoZSBoYXJk d2FyZS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IEZvciByYW0gYmFzZSwg dGhlIGRlZmF1bHQgdmFsdWUgaXMgMHg4MDIwMDAwMCBmb3IgcWVtdQo+ID4gPiA+ID4gPiA+ID4g PiByaXNjdjY0IGVudiBhbmQsCj4gPiA+ID4gPiA+ID4gPiA+IGZvciBleGFtcGxlLCBpcyAweDIw MDAwMCBvbiB0aGUgWHVhblRpZSA5MTAgQ1BVLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgKiBMaW51eCBLZXJuZWwgNS4xOCB+Cj4gPiA+ID4gPiA+ID4gPiA+ICDC oMKgICrCoMKgwqDCoMKgIFBHVEFCTEVfTEVWRUxTID0gNQo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCAqwqDCoMKgwqDCoCBQQUdFX09GRlNFVCA9IDB4ZmY2MDAwMDAwMDAwMDAwMAo+ID4gPiA+ID4g PiA+ID4gPiAgwqDCoCAqIExpbnV4IEtlcm5lbCA1LjE3IH4KPiA+ID4gPiA+ID4gPiA+ID4gIMKg wqAgKsKgwqDCoMKgwqAgUEdUQUJMRV9MRVZFTFMgPSA0Cj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKg ICrCoMKgwqDCoMKgIFBBR0VfT0ZGU0VUID0gMHhmZmZmYWY4MDAwMDAwMDAwCj4gPiA+ID4gPiA+ ID4gPiA+ICDCoMKgICogTGludXggS2VybmVsIDQuMTkgfgo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCAqwqDCoMKgwqDCoCBQR1RBQkxFX0xFVkVMUyA9IDMKPiA+ID4gPiA+ID4gPiA+ID4gIMKgwqAg KsKgwqDCoMKgwqAgUEFHRV9PRkZTRVQgPSAweGZmZmZmZmUwMDAwMDAwMDAKPiA+ID4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFNpbmNlIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGNoYW5n ZSBmcm9tIHRpbWUgdG8gdGltZSBhbmQKPiA+ID4gPiA+ID4gPiA+ID4gdmVyc2lvbiB0byB2ZXJz aW9uLAo+ID4gPiA+ID4gPiA+ID4gPiBpdCBpcyBwcmVmZXJhYmxlIHRvIGV4cG9ydCB0aGVtIHZp YSB2bWNvcmVpbmZvIHRoYW4gdG8KPiA+ID4gPiA+ID4gPiA+ID4gY2hhbmdlIHRoZSBjcmFzaCdz Cj4gPiA+ID4gPiA+ID4gPiA+IGNvZGUgZnJlcXVlbnRseSwgaXQgY2FuIHNpbXBsaWZ5IHRoZSBk ZXZlbG9wbWVudCBvZiBjcmFzaCB0b29sLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiA+ID4gU2lnbmVkLW9mZi1ieTogWGlhbnRpbmcgVGlhbiA8eGlhbnRpbmcudGlhbkBsaW51eC5h bGliYWJhLmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKg IGFyY2gvcmlzY3Yva2VybmVsL01ha2VmaWxlwqDCoMKgwqAgfMKgIDEgKwo+ID4gPiA+ID4gPiA+ ID4gPiAgwqDCoCBhcmNoL3Jpc2N2L2tlcm5lbC9jcmFzaF9jb3JlLmMgfCAyMyArKysrKysrKysr KysrKysrKysrKysrKwo+ID4gPiA+ID4gPiA+ID4gPiAgwqDCoCAyIGZpbGVzIGNoYW5nZWQsIDI0 IGluc2VydGlvbnMoKykKPiA+ID4gPiA+ID4gPiA+ID4gIMKgwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGFyY2gvcmlzY3Yva2VybmVsL2NyYXNoX2NvcmUuYwo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL01ha2VmaWxlIGIvYXJj aC9yaXNjdi9rZXJuZWwvTWFrZWZpbGUKPiA+ID4gPiA+ID4gPiA+ID4gaW5kZXggZGI2ZTRiMTI5 NGJhLi40Y2YzMDNhNzc5YWIgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2FyY2gvcmlz Y3Yva2VybmVsL01ha2VmaWxlCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2FyY2gvcmlzY3Yva2Vy bmVsL01ha2VmaWxlCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC04MSw2ICs4MSw3IEBAIG9iai0kKENP TkZJR19LR0RCKcKgwqDCoMKgwqDCoMKgICs9IGtnZGIubwo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCBvYmotJChDT05GSUdfS0VYRUNfQ09SRSnCoMKgwqAgKz0ga2V4ZWNfcmVsb2NhdGUubwo+ID4g PiA+ID4gPiA+ID4gPiBjcmFzaF9zYXZlX3JlZ3MubyBtYWNoaW5lX2tleGVjLm8KPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgb2JqLSQoQ09ORklHX0tFWEVDX0ZJTEUpwqDCoMKgICs9IGVsZl9rZXhl Yy5vIG1hY2hpbmVfa2V4ZWNfZmlsZS5vCj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKgIG9iai0kKENP TkZJR19DUkFTSF9EVU1QKcKgwqDCoCArPSBjcmFzaF9kdW1wLm8KPiA+ID4gPiA+ID4gPiA+ID4g K29iai0kKENPTkZJR19DUkFTSF9DT1JFKcKgwqDCoCArPSBjcmFzaF9jb3JlLm8KPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgb2JqLSQoQ09ORklHX0pVTVBfTEFCRUwpwqDCoMKgICs9IGp1bXBfbGFi ZWwubwo+ID4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvY3Jh c2hfY29yZS5jCj4gPiA+ID4gPiA+ID4gPiA+IGIvYXJjaC9yaXNjdi9rZXJuZWwvY3Jhc2hfY29y ZS5jCj4gPiA+ID4gPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4g PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uM2U4ODlkMGVkN2JkCj4gPiA+ID4gPiA+ID4gPiA+IC0t LSAvZGV2L251bGwKPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3Jh c2hfY29yZS5jCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC0wLDAgKzEsMjMgQEAKPiA+ID4gPiA+ID4g PiA+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiA+ID4gPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2NvcmUu aD4KPiA+ID4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+Cj4gPiA+ID4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gK3ZvaWQgYXJjaF9jcmFzaF9zYXZlX3ZtY29y ZWluZm8odm9pZCkKPiA+ID4gPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gPiA+ID4gK8KgwqDC oCBWTUNPUkVJTkZPX05VTUJFUihWQV9CSVRTKTsKPiA+ID4gPiA+ID4gPiA+ID4gK8KgwqDCoCBW TUNPUkVJTkZPX05VTUJFUihwaHlzX3JhbV9iYXNlKTsKPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigi TlVNQkVSKFBBR0VfT0ZGU0VUKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gUEFHRV9PRkZT RVQpOwo+ID4gPiA+ID4gPiA+ID4gPiArIHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKFZN QUxMT0NfU1RBUlQpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBWTUFMTE9DX1NUQVJUKTsK PiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gPiB2bWNvcmVpbmZvX2FwcGVuZF9z dHIoIk5VTUJFUihWTUFMTE9DX0VORCk9MHglbHhcbiIsCj4gPiA+ID4gPiA+ID4gPiA+IFZNQUxM T0NfRU5EKTsKPiA+ID4gPiA+ID4gPiA+ID4gKyB2bWNvcmVpbmZvX2FwcGVuZF9zdHIoIk5VTUJF UihWTUVNTUFQX1NUQVJUKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gVk1FTU1BUF9TVEFS VCk7Cj4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gdm1jb3JlaW5mb19hcHBl bmRfc3RyKCJOVU1CRVIoVk1FTU1BUF9FTkQpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBW TUVNTUFQX0VORCk7Cj4gPiA+ID4gPiA+ID4gPiA+ICsjaWZkZWYgQ09ORklHXzY0QklUCj4gPiA+ ID4gPiA+ID4gPiA+ICsgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoTU9EVUxFU19WQURE Uik9MHglbHhcbiIsCj4gPiA+ID4gPiA+ID4gPiA+IE1PRFVMRVNfVkFERFIpOwo+ID4gPiA+ID4g PiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVS KE1PRFVMRVNfRU5EKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gTU9EVUxFU19FTkQpOwo+ ID4gPiA+ID4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4g PiA+ID4gK8KgwqDCoCBpZiAoSVNfRU5BQkxFRChDT05GSUdfNjRCSVQpKQo+ID4gPiA+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKEtF Uk5FTF9MSU5LX0FERFIpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBLRVJORUxfTElOS19B RERSKTsKPiA+ID4gPiA+ID4gPiA+IFdvbmRlcmluZyB3aHkgeW91IGRvbid0IHB1dCBLRVJORUxf TElOS19BRERSIGV4cG9ydGluZyBpbnRvIHRoZSBhYm92ZQo+ID4gPiA+ID4gPiA+ID4gaWZkZWZm ZXJ5IHNjb3BlLCB3aXRoIHRoYXQgeW91IGNhbiBzYXZlIG9uZSBsaW5lIG9mCj4gPiA+ID4gPiA+ ID4gPiAiSVNfRU5BQkxFRChDT05GSUdfNjRCSVQpIi4KPiA+ID4gPiA+ID4gPiBJIGZvbGxvd2Vk IHRoZSBydWxlIGluIHByaW50X3ZtX2xheW91dCgpIG9mCj4gPiA+ID4gPiA+ID4gYXJjaC9yaXNj di9tbS9pbml0LmMsIHdoaWNoIHVzZWQKPiA+ID4gPiA+ID4gPiBJU19FTkFCTEVEIHdoZW4gcHJp bnQgdGhlIHZhbHVlIG9mIEtFUk5FTF9MSU5LX0FERFIuCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+IEkgc2VlLiBUaGVyZSdzIFBBR0VfT0ZGU0VUIGluIHRoZSBtaWRkbGUuIFRoYW5rcy4KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICDCoMKgwqDCoMKgwqDCoMKgIHByaW50X21sKCJsb3dtZW0i LCAodW5zaWduZWQgbG9uZylQQUdFX09GRlNFVCwKPiA+ID4gPiA+ID4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICh1bnNpZ25lZCBsb25nKWhpZ2hfbWVtb3J5KQo+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gU28gbm93LCBkbyB5b3UgdGhpbmsgaWYgaXQncyBuZWNlc3NhcnkgdG8g aGF2ZSBhbm90aGVyCj4gPiA+ID4gPiA+IElTX0VOQUJMRUQoQ09ORklHXzY0QklUKSBpbiB0aGUg Y3VycmVudCBhcmNoX2NyYXNoX3NhdmVfdm1jb3JlaW5mbygpPwo+ID4gPiA+ID4gRm9yIHdoaWNo IE1BQ1JPP8KgIEkgdGhpbmsgY3VycmVudCBjb2RlIGZvciBQQUdFX09GRlNFVCBpcyBPSy4KPiA+ ID4gPiA+IAo+ID4gCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwprZXhlYyBtYWlsaW5nIGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg== 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6826FFA373E for ; Wed, 26 Oct 2022 13:48:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233690AbiJZNsj (ORCPT ); Wed, 26 Oct 2022 09:48:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233707AbiJZNsH (ORCPT ); Wed, 26 Oct 2022 09:48:07 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D28E96217; Wed, 26 Oct 2022 06:48:03 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8946061EF3; Wed, 26 Oct 2022 13:48:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34A03C433D6; Wed, 26 Oct 2022 13:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666792082; bh=SkX3XtxgR1zy4caR8MbkPlYta849/mA6RYgIbF/oKgA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eTR0foZhIwpQDcfbQH6ooJQ606jLxTehYcguth6XgtOQdVGcfevMfdRMgcysEDM3k g7BNxkNAO8kwYIxV3goeLpkfPY8gKJZrCkXcqw5Pp7UDrMDXpaMq438LZOmvf4OPyK /+nPIlUfmVgasKf7J/v7w4OwDvtlN43O4sIS4gDlMyCerfe78s875NpO8296lvg4K9 6X0UoiFG7Aj839rw7moVnuKckd4tVeNuv9PrWI5zbvIVn0W+Mfpo0xZN7NBWQIanEh tKLmAvtP2B+MvzawQ81RBLEo5amoYQFxOSiLfd4+6XSz/4X+Lt9an3tdS57rZJZkTD ttpyIiA5N1WdA== Date: Wed, 26 Oct 2022 14:47:55 +0100 From: Conor Dooley To: Baoquan He Cc: Xianting Tian , Conor Dooley , Palmer Dabbelt , paul.walmsley@sifive.com, aou@eecs.berkeley.edu, anup@brainfault.org, heiko@sntech.de, guoren@kernel.org, mick@ics.forth.gr, alexandre.ghiti@canonical.com, vgoyal@redhat.com, dyoung@redhat.com, corbet@lwn.net, bagasdotme@gmail.com, k-hagio-ab@nec.com, lijiang@redhat.com, kexec@lists.infradead.org, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, crash-utility@redhat.com, heinrich.schuchardt@canonical.com, hschauhan@nulltrace.org, yixun.lan@gmail.com Subject: Re: [PATCH V4 1/2] RISC-V: Add arch_crash_save_vmcoreinfo support Message-ID: References: <20221019103623.7008-1-xianting.tian@linux.alibaba.com> <20221019103623.7008-2-xianting.tian@linux.alibaba.com> <30621b3b-47ba-d612-cfb0-583d779691a3@linux.alibaba.com> <6af05838-fa58-8197-f3ce-ca95457077a7@linux.alibaba.com> <5df30e57-88ae-0a3b-2c1a-b962363d8670@linux.alibaba.com> <3c8beab1-3ca7-c3d7-6f31-c28a0ae008a3@linux.alibaba.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On Wed, Oct 26, 2022 at 08:05:41PM +0800, Baoquan He wrote: > Hi Xianting, > > On 10/26/22 at 05:44pm, Xianting Tian wrote: > > > > 在 2022/10/26 下午5:25, Conor Dooley 写道: > > > On Wed, Oct 26, 2022 at 05:08:11PM +0800, Xianting Tian wrote: > > > > Hi Palmer, Conor > > > > > > > > Is this version OK for you? > > > The weird ifdef/IS_ENABLED thing was the only comment I had. It's a bit > > > odd & I notice Baoquan brought it up too. I didn't (and won't) give you > > > a reviewed by on these patches because I don't understand the area well > > > enough. The general nitpickery seems to be sorted though. > > > > I checked the KERNEL_LINK_ADDR definition of riscv,  it is valid for > > CONFIG_64BIT and !CONFIG_64BIT. > > This series looks good to me. My only minor concern is if we can make > the arch_crash_save_vmcoreinfo() as below. I don't understand why we > have to have the CONFIG_64BIT ifdeffery and the IS_ENABLED(CONFIG_64BIT) > between two adjacent code blocks. Not sure if we are saying the same > thing. I think we can just go and drop the IS_ENABLED(). From looking at it last time, one bit is compileable (but not usable) for !64BIT and the other isn't hence the IS_ENABLED(). I think it would make sense to drop the IS_ENABLED() - I don't think we're too likely to hit some compile testing edge cases that IS_ENABLED() would help with & only having one makes the code look a lot less odd and a lot more intentional. > > +void arch_crash_save_vmcoreinfo(void) > +{ > + VMCOREINFO_NUMBER(VA_BITS); > + VMCOREINFO_NUMBER(phys_ram_base); > + > + vmcoreinfo_append_str("NUMBER(PAGE_OFFSET)=0x%lx\n", PAGE_OFFSET); > + vmcoreinfo_append_str("NUMBER(VMALLOC_START)=0x%lx\n", VMALLOC_START); > + vmcoreinfo_append_str("NUMBER(VMALLOC_END)=0x%lx\n", VMALLOC_END); > + vmcoreinfo_append_str("NUMBER(VMEMMAP_START)=0x%lx\n", VMEMMAP_START); > + vmcoreinfo_append_str("NUMBER(VMEMMAP_END)=0x%lx\n", VMEMMAP_END); > +#ifdef CONFIG_64BIT > + vmcoreinfo_append_str("NUMBER(MODULES_VADDR)=0x%lx\n", MODULES_VADDR); > + vmcoreinfo_append_str("NUMBER(MODULES_END)=0x%lx\n", MODULES_END); > + vmcoreinfo_append_str("NUMBER(KERNEL_LINK_ADDR)=0x%lx\n", KERNEL_LINK_ADDR); > +#endif > +} > > > > > Maybe we can remove IS_ENABLED(CONFIG_64BIT) > > > > arch/riscv/include/asm/pgtable.h > > #define ADDRESS_SPACE_END       (UL(-1)) > > #ifdef CONFIG_64BIT > > /* Leave 2GB for kernel and BPF at the end of the address space */ > > #define KERNEL_LINK_ADDR        (ADDRESS_SPACE_END - SZ_2G + 1) > > #else > > #define KERNEL_LINK_ADDR        PAGE_OFFSET > > #endif > > > > arch/riscv/include/asm/page.h > > #ifdef CONFIG_64BIT > > #ifdef CONFIG_MMU > > #define PAGE_OFFSET             kernel_map.page_offset > > #else > > #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL) > > #endif > > /* > >  * By default, CONFIG_PAGE_OFFSET value corresponds to SV48 address space so > >  * define the PAGE_OFFSET value for SV39. > >  */ > > #define PAGE_OFFSET_L4          _AC(0xffffaf8000000000, UL) > > #define PAGE_OFFSET_L3          _AC(0xffffffd800000000, UL) > > #else > > #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL) > > #endif /* CONFIG_64BIT */ > > > > > > > > Thanks, > > > Conor. > > > > > > > 在 2022/10/20 下午12:40, Xianting Tian 写道: > > > > > 在 2022/10/20 上午11:05, Baoquan He 写道: > > > > > > On 10/20/22 at 10:17am, Xianting Tian wrote: > > > > > > > 在 2022/10/20 上午10:08, Baoquan He 写道: > > > > > > > > On 10/19/22 at 06:36pm, Xianting Tian wrote: > > > > > > > > > Add arch_crash_save_vmcoreinfo(), which exports VM > > > > > > > > > layout(MODULES, VMALLOC, > > > > > > > > > VMEMMAP ranges and KERNEL_LINK_ADDR), va bits and ram > > > > > > > > > base for vmcore. > > > > > > > > > > > > > > > > > > Default pagetable levels and PAGE_OFFSET aren't same for > > > > > > > > > different kernel > > > > > > > > > version as below. For pagetable levels, it sets sv57 by > > > > > > > > > default and falls > > > > > > > > > back to setting sv48 at boot time if sv57 is not > > > > > > > > > supported by the hardware. > > > > > > > > > > > > > > > > > > For ram base, the default value is 0x80200000 for qemu > > > > > > > > > riscv64 env and, > > > > > > > > > for example, is 0x200000 on the XuanTie 910 CPU. > > > > > > > > > > > > > > > > > >    * Linux Kernel 5.18 ~ > > > > > > > > >    *      PGTABLE_LEVELS = 5 > > > > > > > > >    *      PAGE_OFFSET = 0xff60000000000000 > > > > > > > > >    * Linux Kernel 5.17 ~ > > > > > > > > >    *      PGTABLE_LEVELS = 4 > > > > > > > > >    *      PAGE_OFFSET = 0xffffaf8000000000 > > > > > > > > >    * Linux Kernel 4.19 ~ > > > > > > > > >    *      PGTABLE_LEVELS = 3 > > > > > > > > >    *      PAGE_OFFSET = 0xffffffe000000000 > > > > > > > > > > > > > > > > > > Since these configurations change from time to time and > > > > > > > > > version to version, > > > > > > > > > it is preferable to export them via vmcoreinfo than to > > > > > > > > > change the crash's > > > > > > > > > code frequently, it can simplify the development of crash tool. > > > > > > > > > > > > > > > > > > Signed-off-by: Xianting Tian > > > > > > > > > --- > > > > > > > > >    arch/riscv/kernel/Makefile     |  1 + > > > > > > > > >    arch/riscv/kernel/crash_core.c | 23 +++++++++++++++++++++++ > > > > > > > > >    2 files changed, 24 insertions(+) > > > > > > > > >    create mode 100644 arch/riscv/kernel/crash_core.c > > > > > > > > > > > > > > > > > > diff --git a/arch/riscv/kernel/Makefile b/arch/riscv/kernel/Makefile > > > > > > > > > index db6e4b1294ba..4cf303a779ab 100644 > > > > > > > > > --- a/arch/riscv/kernel/Makefile > > > > > > > > > +++ b/arch/riscv/kernel/Makefile > > > > > > > > > @@ -81,6 +81,7 @@ obj-$(CONFIG_KGDB)        += kgdb.o > > > > > > > > >    obj-$(CONFIG_KEXEC_CORE)    += kexec_relocate.o > > > > > > > > > crash_save_regs.o machine_kexec.o > > > > > > > > >    obj-$(CONFIG_KEXEC_FILE)    += elf_kexec.o machine_kexec_file.o > > > > > > > > >    obj-$(CONFIG_CRASH_DUMP)    += crash_dump.o > > > > > > > > > +obj-$(CONFIG_CRASH_CORE)    += crash_core.o > > > > > > > > >    obj-$(CONFIG_JUMP_LABEL)    += jump_label.o > > > > > > > > > diff --git a/arch/riscv/kernel/crash_core.c > > > > > > > > > b/arch/riscv/kernel/crash_core.c > > > > > > > > > new file mode 100644 > > > > > > > > > index 000000000000..3e889d0ed7bd > > > > > > > > > --- /dev/null > > > > > > > > > +++ b/arch/riscv/kernel/crash_core.c > > > > > > > > > @@ -0,0 +1,23 @@ > > > > > > > > > +// SPDX-License-Identifier: GPL-2.0-only > > > > > > > > > + > > > > > > > > > +#include > > > > > > > > > +#include > > > > > > > > > + > > > > > > > > > +void arch_crash_save_vmcoreinfo(void) > > > > > > > > > +{ > > > > > > > > > +    VMCOREINFO_NUMBER(VA_BITS); > > > > > > > > > +    VMCOREINFO_NUMBER(phys_ram_base); > > > > > > > > > + > > > > > > > > > + > > > > > > > > > vmcoreinfo_append_str("NUMBER(PAGE_OFFSET)=0x%lx\n", > > > > > > > > > PAGE_OFFSET); > > > > > > > > > + vmcoreinfo_append_str("NUMBER(VMALLOC_START)=0x%lx\n", > > > > > > > > > VMALLOC_START); > > > > > > > > > + > > > > > > > > > vmcoreinfo_append_str("NUMBER(VMALLOC_END)=0x%lx\n", > > > > > > > > > VMALLOC_END); > > > > > > > > > + vmcoreinfo_append_str("NUMBER(VMEMMAP_START)=0x%lx\n", > > > > > > > > > VMEMMAP_START); > > > > > > > > > + > > > > > > > > > vmcoreinfo_append_str("NUMBER(VMEMMAP_END)=0x%lx\n", > > > > > > > > > VMEMMAP_END); > > > > > > > > > +#ifdef CONFIG_64BIT > > > > > > > > > + vmcoreinfo_append_str("NUMBER(MODULES_VADDR)=0x%lx\n", > > > > > > > > > MODULES_VADDR); > > > > > > > > > + > > > > > > > > > vmcoreinfo_append_str("NUMBER(MODULES_END)=0x%lx\n", > > > > > > > > > MODULES_END); > > > > > > > > > +#endif > > > > > > > > > + > > > > > > > > > +    if (IS_ENABLED(CONFIG_64BIT)) > > > > > > > > > + > > > > > > > > > vmcoreinfo_append_str("NUMBER(KERNEL_LINK_ADDR)=0x%lx\n", > > > > > > > > > KERNEL_LINK_ADDR); > > > > > > > > Wondering why you don't put KERNEL_LINK_ADDR exporting into the above > > > > > > > > ifdeffery scope, with that you can save one line of > > > > > > > > "IS_ENABLED(CONFIG_64BIT)". > > > > > > > I followed the rule in print_vm_layout() of > > > > > > > arch/riscv/mm/init.c, which used > > > > > > > IS_ENABLED when print the value of KERNEL_LINK_ADDR. > > > > > > > > > > > > > I see. There's PAGE_OFFSET in the middle. Thanks. > > > > > > > > > > > >          print_ml("lowmem", (unsigned long)PAGE_OFFSET, > > > > > >                  (unsigned long)high_memory) > > > > > > > > > > > > So now, do you think if it's necessary to have another > > > > > > IS_ENABLED(CONFIG_64BIT) in the current arch_crash_save_vmcoreinfo()? > > > > > For which MACRO?  I think current code for PAGE_OFFSET is OK. > > > > > > > > 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id C0927C38A2D for ; Wed, 26 Oct 2022 13:49:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=SBI3nToiUs3lwlB9OZ0mM8Rcjp1IpzHLptoz+dSOak4=; b=eZ3MnoUddO3hYF KwS+QS3MygWtzol7OYr4lK3q2ajMg3snioSQ+CtY3HgULBgUFTfpwsbejp3SQ3BOydtR2ybCQ2jmp TEsGx0iXS/XGbKNKqgDdA4bn2STryfErYqDYdLnhBwBiCvWAn1DEfEYdlMfhu8+xDtpAiNjn+WIM3 fhBVEYOD541GIctKpF9fR/Aw9coCfAYIhrXAPqgR8ugUJOutTlJ2mCAl5TeMeGSBFC+UlFZ2ht1zn d6g5qN1br5IT59U/fXWzkPmmW+dJnxGxIIxqqpYzgdZoAvuOMeXJ5eAvXSFDK2gQ4f0nlg+YXKjHh 7H4BbSpjVDwRGgQMV7MA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ongmD-009Xid-I0; Wed, 26 Oct 2022 13:49:01 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1onglJ-009XHB-TJ; Wed, 26 Oct 2022 13:48:09 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 3B79BB82254; Wed, 26 Oct 2022 13:48:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34A03C433D6; Wed, 26 Oct 2022 13:47:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666792082; bh=SkX3XtxgR1zy4caR8MbkPlYta849/mA6RYgIbF/oKgA=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=eTR0foZhIwpQDcfbQH6ooJQ606jLxTehYcguth6XgtOQdVGcfevMfdRMgcysEDM3k g7BNxkNAO8kwYIxV3goeLpkfPY8gKJZrCkXcqw5Pp7UDrMDXpaMq438LZOmvf4OPyK /+nPIlUfmVgasKf7J/v7w4OwDvtlN43O4sIS4gDlMyCerfe78s875NpO8296lvg4K9 6X0UoiFG7Aj839rw7moVnuKckd4tVeNuv9PrWI5zbvIVn0W+Mfpo0xZN7NBWQIanEh tKLmAvtP2B+MvzawQ81RBLEo5amoYQFxOSiLfd4+6XSz/4X+Lt9an3tdS57rZJZkTD ttpyIiA5N1WdA== Date: Wed, 26 Oct 2022 14:47:55 +0100 From: Conor Dooley To: Baoquan He Cc: Xianting Tian , Conor Dooley , Palmer Dabbelt , paul.walmsley@sifive.com, aou@eecs.berkeley.edu, anup@brainfault.org, heiko@sntech.de, guoren@kernel.org, mick@ics.forth.gr, alexandre.ghiti@canonical.com, vgoyal@redhat.com, dyoung@redhat.com, corbet@lwn.net, bagasdotme@gmail.com, k-hagio-ab@nec.com, lijiang@redhat.com, kexec@lists.infradead.org, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, crash-utility@redhat.com, heinrich.schuchardt@canonical.com, hschauhan@nulltrace.org, yixun.lan@gmail.com Subject: Re: [PATCH V4 1/2] RISC-V: Add arch_crash_save_vmcoreinfo support Message-ID: References: <20221019103623.7008-1-xianting.tian@linux.alibaba.com> <20221019103623.7008-2-xianting.tian@linux.alibaba.com> <30621b3b-47ba-d612-cfb0-583d779691a3@linux.alibaba.com> <6af05838-fa58-8197-f3ce-ca95457077a7@linux.alibaba.com> <5df30e57-88ae-0a3b-2c1a-b962363d8670@linux.alibaba.com> <3c8beab1-3ca7-c3d7-6f31-c28a0ae008a3@linux.alibaba.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221026_064806_283057_E7296D2C X-CRM114-Status: GOOD ( 48.29 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCBPY3QgMjYsIDIwMjIgYXQgMDg6MDU6NDFQTSArMDgwMCwgQmFvcXVhbiBIZSB3cm90 ZToKPiBIaSBYaWFudGluZywgCj4gCj4gT24gMTAvMjYvMjIgYXQgMDU6NDRwbSwgWGlhbnRpbmcg VGlhbiB3cm90ZToKPiA+IAo+ID4g5ZyoIDIwMjIvMTAvMjYg5LiL5Y2INToyNSwgQ29ub3IgRG9v bGV5IOWGmemBkzoKPiA+ID4gT24gV2VkLCBPY3QgMjYsIDIwMjIgYXQgMDU6MDg6MTFQTSArMDgw MCwgWGlhbnRpbmcgVGlhbiB3cm90ZToKPiA+ID4gPiBIaSBQYWxtZXIsIENvbm9yCj4gPiA+ID4g Cj4gPiA+ID4gSXMgdGhpcyB2ZXJzaW9uIE9LIGZvciB5b3U/Cj4gPiA+IFRoZSB3ZWlyZCBpZmRl Zi9JU19FTkFCTEVEIHRoaW5nIHdhcyB0aGUgb25seSBjb21tZW50IEkgaGFkLiBJdCdzIGEgYml0 Cj4gPiA+IG9kZCAmIEkgbm90aWNlIEJhb3F1YW4gYnJvdWdodCBpdCB1cCB0b28uIEkgZGlkbid0 IChhbmQgd29uJ3QpIGdpdmUgeW91Cj4gPiA+IGEgcmV2aWV3ZWQgYnkgb24gdGhlc2UgcGF0Y2hl cyBiZWNhdXNlIEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGUgYXJlYSB3ZWxsCj4gPiA+IGVub3VnaC4g VGhlIGdlbmVyYWwgbml0cGlja2VyeSBzZWVtcyB0byBiZSBzb3J0ZWQgdGhvdWdoLgo+ID4gCj4g PiBJIGNoZWNrZWQgdGhlIEtFUk5FTF9MSU5LX0FERFIgZGVmaW5pdGlvbiBvZiByaXNjdizCoCBp dCBpcyB2YWxpZCBmb3IKPiA+IENPTkZJR182NEJJVCBhbmQgIUNPTkZJR182NEJJVC4KPiAKPiBU aGlzIHNlcmllcyBsb29rcyBnb29kIHRvIG1lLiBNeSBvbmx5IG1pbm9yIGNvbmNlcm4gaXMgaWYg d2UgY2FuIG1ha2UKPiB0aGUgYXJjaF9jcmFzaF9zYXZlX3ZtY29yZWluZm8oKSBhcyBiZWxvdy4g SSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZQo+IGhhdmUgdG8gaGF2ZSB0aGUgQ09ORklHXzY0QklU IGlmZGVmZmVyeSBhbmQgdGhlIElTX0VOQUJMRUQoQ09ORklHXzY0QklUKQo+IGJldHdlZW4gdHdv IGFkamFjZW50IGNvZGUgYmxvY2tzLiBOb3Qgc3VyZSBpZiB3ZSBhcmUgc2F5aW5nIHRoZSBzYW1l Cj4gdGhpbmcuCgpJIHRoaW5rIHdlIGNhbiBqdXN0IGdvIGFuZCBkcm9wIHRoZSBJU19FTkFCTEVE KCkuIEZyb20gbG9va2luZyBhdCBpdApsYXN0IHRpbWUsIG9uZSBiaXQgaXMgY29tcGlsZWFibGUg KGJ1dCBub3QgdXNhYmxlKSBmb3IgITY0QklUIGFuZCB0aGUKb3RoZXIgaXNuJ3QgaGVuY2UgdGhl IElTX0VOQUJMRUQoKS4gSSB0aGluayBpdCB3b3VsZCBtYWtlIHNlbnNlIHRvIGRyb3AKdGhlIElT X0VOQUJMRUQoKSAtIEkgZG9uJ3QgdGhpbmsgd2UncmUgdG9vIGxpa2VseSB0byBoaXQgc29tZSBj b21waWxlCnRlc3RpbmcgZWRnZSBjYXNlcyB0aGF0IElTX0VOQUJMRUQoKSB3b3VsZCBoZWxwIHdp dGggJiBvbmx5IGhhdmluZyBvbmUKbWFrZXMgdGhlIGNvZGUgbG9vayBhIGxvdCBsZXNzIG9kZCBh bmQgYSBsb3QgbW9yZSBpbnRlbnRpb25hbC4KCj4gCj4gK3ZvaWQgYXJjaF9jcmFzaF9zYXZlX3Zt Y29yZWluZm8odm9pZCkKPiArewo+ICsgICAgICAgVk1DT1JFSU5GT19OVU1CRVIoVkFfQklUUyk7 Cj4gKyAgICAgICBWTUNPUkVJTkZPX05VTUJFUihwaHlzX3JhbV9iYXNlKTsKPiArCj4gKyAgICAg ICB2bWNvcmVpbmZvX2FwcGVuZF9zdHIoIk5VTUJFUihQQUdFX09GRlNFVCk9MHglbHhcbiIsIFBB R0VfT0ZGU0VUKTsKPiArICAgICAgIHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKFZNQUxM T0NfU1RBUlQpPTB4JWx4XG4iLCBWTUFMTE9DX1NUQVJUKTsKPiArICAgICAgIHZtY29yZWluZm9f YXBwZW5kX3N0cigiTlVNQkVSKFZNQUxMT0NfRU5EKT0weCVseFxuIiwgVk1BTExPQ19FTkQpOwo+ ICsgICAgICAgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoVk1FTU1BUF9TVEFSVCk9MHgl bHhcbiIsIFZNRU1NQVBfU1RBUlQpOwo+ICsgICAgICAgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJO VU1CRVIoVk1FTU1BUF9FTkQpPTB4JWx4XG4iLCBWTUVNTUFQX0VORCk7Cj4gKyNpZmRlZiBDT05G SUdfNjRCSVQKPiArCXZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKE1PRFVMRVNfVkFERFIp PTB4JWx4XG4iLCBNT0RVTEVTX1ZBRERSKTsKPiArICAgICAgIHZtY29yZWluZm9fYXBwZW5kX3N0 cigiTlVNQkVSKE1PRFVMRVNfRU5EKT0weCVseFxuIiwgTU9EVUxFU19FTkQpOwo+ICsgICAgICAg dm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoS0VSTkVMX0xJTktfQUREUik9MHglbHhcbiIs IEtFUk5FTF9MSU5LX0FERFIpOwo+ICsjZW5kaWYKPiArfQo+IAo+ID4gCj4gPiBNYXliZSB3ZSBj YW4gcmVtb3ZlIElTX0VOQUJMRUQoQ09ORklHXzY0QklUKQo+ID4gCj4gPiBhcmNoL3Jpc2N2L2lu Y2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gI2RlZmluZSBBRERSRVNTX1NQQUNFX0VORMKgwqDCoMKg wqDCoCAoVUwoLTEpKQo+ID4gI2lmZGVmIENPTkZJR182NEJJVAo+ID4gLyogTGVhdmUgMkdCIGZv ciBrZXJuZWwgYW5kIEJQRiBhdCB0aGUgZW5kIG9mIHRoZSBhZGRyZXNzIHNwYWNlICovCj4gPiAj ZGVmaW5lIEtFUk5FTF9MSU5LX0FERFLCoMKgwqDCoMKgwqDCoCAoQUREUkVTU19TUEFDRV9FTkQg LSBTWl8yRyArIDEpCj4gPiAjZWxzZQo+ID4gI2RlZmluZSBLRVJORUxfTElOS19BRERSwqDCoMKg wqDCoMKgwqAgUEFHRV9PRkZTRVQKPiA+ICNlbmRpZgo+ID4gCj4gPiBhcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL3BhZ2UuaAo+ID4gI2lmZGVmIENPTkZJR182NEJJVAo+ID4gI2lmZGVmIENPTkZJR19N TVUKPiA+ICNkZWZpbmUgUEFHRV9PRkZTRVTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2VybmVs X21hcC5wYWdlX29mZnNldAo+ID4gI2Vsc2UKPiA+ICNkZWZpbmUgUEFHRV9PRkZTRVTCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX0FDKENPTkZJR19QQUdFX09GRlNFVCwgVUwpCj4gPiAjZW5kaWYK PiA+IC8qCj4gPiDCoCogQnkgZGVmYXVsdCwgQ09ORklHX1BBR0VfT0ZGU0VUIHZhbHVlIGNvcnJl c3BvbmRzIHRvIFNWNDggYWRkcmVzcyBzcGFjZSBzbwo+ID4gwqAqIGRlZmluZSB0aGUgUEFHRV9P RkZTRVQgdmFsdWUgZm9yIFNWMzkuCj4gPiDCoCovCj4gPiAjZGVmaW5lIFBBR0VfT0ZGU0VUX0w0 wqDCoMKgwqDCoMKgwqDCoMKgIF9BQygweGZmZmZhZjgwMDAwMDAwMDAsIFVMKQo+ID4gI2RlZmlu ZSBQQUdFX09GRlNFVF9MM8KgwqDCoMKgwqDCoMKgwqDCoCBfQUMoMHhmZmZmZmZkODAwMDAwMDAw LCBVTCkKPiA+ICNlbHNlCj4gPiAjZGVmaW5lIFBBR0VfT0ZGU0VUwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9BQyhDT05GSUdfUEFHRV9PRkZTRVQsIFVMKQo+ID4gI2VuZGlmIC8qIENPTkZJR182 NEJJVCAqLwo+ID4gCj4gPiA+IAo+ID4gPiBUaGFua3MsCj4gPiA+IENvbm9yLgo+ID4gPiAKPiA+ ID4gPiDlnKggMjAyMi8xMC8yMCDkuIvljYgxMjo0MCwgWGlhbnRpbmcgVGlhbiDlhpnpgZM6Cj4g PiA+ID4gPiDlnKggMjAyMi8xMC8yMCDkuIrljYgxMTowNSwgQmFvcXVhbiBIZSDlhpnpgZM6Cj4g PiA+ID4gPiA+IE9uIDEwLzIwLzIyIGF0IDEwOjE3YW0sIFhpYW50aW5nIFRpYW4gd3JvdGU6Cj4g PiA+ID4gPiA+ID4g5ZyoIDIwMjIvMTAvMjAg5LiK5Y2IMTA6MDgsIEJhb3F1YW4gSGUg5YaZ6YGT Ogo+ID4gPiA+ID4gPiA+ID4gT24gMTAvMTkvMjIgYXQgMDY6MzZwbSwgWGlhbnRpbmcgVGlhbiB3 cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gQWRkIGFyY2hfY3Jhc2hfc2F2ZV92bWNvcmVpbmZvKCks IHdoaWNoIGV4cG9ydHMgVk0KPiA+ID4gPiA+ID4gPiA+ID4gbGF5b3V0KE1PRFVMRVMsIFZNQUxM T0MsCj4gPiA+ID4gPiA+ID4gPiA+IFZNRU1NQVAgcmFuZ2VzIGFuZCBLRVJORUxfTElOS19BRERS KSwgdmEgYml0cyBhbmQgcmFtCj4gPiA+ID4gPiA+ID4gPiA+IGJhc2UgZm9yIHZtY29yZS4KPiA+ ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IERlZmF1bHQgcGFnZXRhYmxlIGxldmVs cyBhbmQgUEFHRV9PRkZTRVQgYXJlbid0IHNhbWUgZm9yCj4gPiA+ID4gPiA+ID4gPiA+IGRpZmZl cmVudCBrZXJuZWwKPiA+ID4gPiA+ID4gPiA+ID4gdmVyc2lvbiBhcyBiZWxvdy4gRm9yIHBhZ2V0 YWJsZSBsZXZlbHMsIGl0IHNldHMgc3Y1NyBieQo+ID4gPiA+ID4gPiA+ID4gPiBkZWZhdWx0IGFu ZCBmYWxscwo+ID4gPiA+ID4gPiA+ID4gPiBiYWNrIHRvIHNldHRpbmcgc3Y0OCBhdCBib290IHRp bWUgaWYgc3Y1NyBpcyBub3QKPiA+ID4gPiA+ID4gPiA+ID4gc3VwcG9ydGVkIGJ5IHRoZSBoYXJk d2FyZS4KPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IEZvciByYW0gYmFzZSwg dGhlIGRlZmF1bHQgdmFsdWUgaXMgMHg4MDIwMDAwMCBmb3IgcWVtdQo+ID4gPiA+ID4gPiA+ID4g PiByaXNjdjY0IGVudiBhbmQsCj4gPiA+ID4gPiA+ID4gPiA+IGZvciBleGFtcGxlLCBpcyAweDIw MDAwMCBvbiB0aGUgWHVhblRpZSA5MTAgQ1BVLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgKiBMaW51eCBLZXJuZWwgNS4xOCB+Cj4gPiA+ID4gPiA+ID4gPiA+ICDC oMKgICrCoMKgwqDCoMKgIFBHVEFCTEVfTEVWRUxTID0gNQo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCAqwqDCoMKgwqDCoCBQQUdFX09GRlNFVCA9IDB4ZmY2MDAwMDAwMDAwMDAwMAo+ID4gPiA+ID4g PiA+ID4gPiAgwqDCoCAqIExpbnV4IEtlcm5lbCA1LjE3IH4KPiA+ID4gPiA+ID4gPiA+ID4gIMKg wqAgKsKgwqDCoMKgwqAgUEdUQUJMRV9MRVZFTFMgPSA0Cj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKg ICrCoMKgwqDCoMKgIFBBR0VfT0ZGU0VUID0gMHhmZmZmYWY4MDAwMDAwMDAwCj4gPiA+ID4gPiA+ ID4gPiA+ICDCoMKgICogTGludXggS2VybmVsIDQuMTkgfgo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCAqwqDCoMKgwqDCoCBQR1RBQkxFX0xFVkVMUyA9IDMKPiA+ID4gPiA+ID4gPiA+ID4gIMKgwqAg KsKgwqDCoMKgwqAgUEFHRV9PRkZTRVQgPSAweGZmZmZmZmUwMDAwMDAwMDAKPiA+ID4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFNpbmNlIHRoZXNlIGNvbmZpZ3VyYXRpb25zIGNoYW5n ZSBmcm9tIHRpbWUgdG8gdGltZSBhbmQKPiA+ID4gPiA+ID4gPiA+ID4gdmVyc2lvbiB0byB2ZXJz aW9uLAo+ID4gPiA+ID4gPiA+ID4gPiBpdCBpcyBwcmVmZXJhYmxlIHRvIGV4cG9ydCB0aGVtIHZp YSB2bWNvcmVpbmZvIHRoYW4gdG8KPiA+ID4gPiA+ID4gPiA+ID4gY2hhbmdlIHRoZSBjcmFzaCdz Cj4gPiA+ID4gPiA+ID4gPiA+IGNvZGUgZnJlcXVlbnRseSwgaXQgY2FuIHNpbXBsaWZ5IHRoZSBk ZXZlbG9wbWVudCBvZiBjcmFzaCB0b29sLgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4g PiA+ID4gU2lnbmVkLW9mZi1ieTogWGlhbnRpbmcgVGlhbiA8eGlhbnRpbmcudGlhbkBsaW51eC5h bGliYWJhLmNvbT4KPiA+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKg IGFyY2gvcmlzY3Yva2VybmVsL01ha2VmaWxlwqDCoMKgwqAgfMKgIDEgKwo+ID4gPiA+ID4gPiA+ ID4gPiAgwqDCoCBhcmNoL3Jpc2N2L2tlcm5lbC9jcmFzaF9jb3JlLmMgfCAyMyArKysrKysrKysr KysrKysrKysrKysrKwo+ID4gPiA+ID4gPiA+ID4gPiAgwqDCoCAyIGZpbGVzIGNoYW5nZWQsIDI0 IGluc2VydGlvbnMoKykKPiA+ID4gPiA+ID4gPiA+ID4gIMKgwqAgY3JlYXRlIG1vZGUgMTAwNjQ0 IGFyY2gvcmlzY3Yva2VybmVsL2NyYXNoX2NvcmUuYwo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4g PiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL01ha2VmaWxlIGIvYXJj aC9yaXNjdi9rZXJuZWwvTWFrZWZpbGUKPiA+ID4gPiA+ID4gPiA+ID4gaW5kZXggZGI2ZTRiMTI5 NGJhLi40Y2YzMDNhNzc5YWIgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4gPiA+IC0tLSBhL2FyY2gvcmlz Y3Yva2VybmVsL01ha2VmaWxlCj4gPiA+ID4gPiA+ID4gPiA+ICsrKyBiL2FyY2gvcmlzY3Yva2Vy bmVsL01ha2VmaWxlCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC04MSw2ICs4MSw3IEBAIG9iai0kKENP TkZJR19LR0RCKcKgwqDCoMKgwqDCoMKgICs9IGtnZGIubwo+ID4gPiA+ID4gPiA+ID4gPiAgwqDC oCBvYmotJChDT05GSUdfS0VYRUNfQ09SRSnCoMKgwqAgKz0ga2V4ZWNfcmVsb2NhdGUubwo+ID4g PiA+ID4gPiA+ID4gPiBjcmFzaF9zYXZlX3JlZ3MubyBtYWNoaW5lX2tleGVjLm8KPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgb2JqLSQoQ09ORklHX0tFWEVDX0ZJTEUpwqDCoMKgICs9IGVsZl9rZXhl Yy5vIG1hY2hpbmVfa2V4ZWNfZmlsZS5vCj4gPiA+ID4gPiA+ID4gPiA+ICDCoMKgIG9iai0kKENP TkZJR19DUkFTSF9EVU1QKcKgwqDCoCArPSBjcmFzaF9kdW1wLm8KPiA+ID4gPiA+ID4gPiA+ID4g K29iai0kKENPTkZJR19DUkFTSF9DT1JFKcKgwqDCoCArPSBjcmFzaF9jb3JlLm8KPiA+ID4gPiA+ ID4gPiA+ID4gIMKgwqAgb2JqLSQoQ09ORklHX0pVTVBfTEFCRUwpwqDCoMKgICs9IGp1bXBfbGFi ZWwubwo+ID4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvY3Jh c2hfY29yZS5jCj4gPiA+ID4gPiA+ID4gPiA+IGIvYXJjaC9yaXNjdi9rZXJuZWwvY3Jhc2hfY29y ZS5jCj4gPiA+ID4gPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gPiA+ID4g PiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uM2U4ODlkMGVkN2JkCj4gPiA+ID4gPiA+ID4gPiA+IC0t LSAvZGV2L251bGwKPiA+ID4gPiA+ID4gPiA+ID4gKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvY3Jh c2hfY29yZS5jCj4gPiA+ID4gPiA+ID4gPiA+IEBAIC0wLDAgKzEsMjMgQEAKPiA+ID4gPiA+ID4g PiA+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiA+ID4gPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2NyYXNoX2NvcmUu aD4KPiA+ID4gPiA+ID4gPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+Cj4gPiA+ID4g PiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gK3ZvaWQgYXJjaF9jcmFzaF9zYXZlX3ZtY29y ZWluZm8odm9pZCkKPiA+ID4gPiA+ID4gPiA+ID4gK3sKPiA+ID4gPiA+ID4gPiA+ID4gK8KgwqDC oCBWTUNPUkVJTkZPX05VTUJFUihWQV9CSVRTKTsKPiA+ID4gPiA+ID4gPiA+ID4gK8KgwqDCoCBW TUNPUkVJTkZPX05VTUJFUihwaHlzX3JhbV9iYXNlKTsKPiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4g PiA+ID4gPiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigi TlVNQkVSKFBBR0VfT0ZGU0VUKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gUEFHRV9PRkZT RVQpOwo+ID4gPiA+ID4gPiA+ID4gPiArIHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKFZN QUxMT0NfU1RBUlQpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBWTUFMTE9DX1NUQVJUKTsK PiA+ID4gPiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gPiB2bWNvcmVpbmZvX2FwcGVuZF9z dHIoIk5VTUJFUihWTUFMTE9DX0VORCk9MHglbHhcbiIsCj4gPiA+ID4gPiA+ID4gPiA+IFZNQUxM T0NfRU5EKTsKPiA+ID4gPiA+ID4gPiA+ID4gKyB2bWNvcmVpbmZvX2FwcGVuZF9zdHIoIk5VTUJF UihWTUVNTUFQX1NUQVJUKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gVk1FTU1BUF9TVEFS VCk7Cj4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4gPiA+ID4gdm1jb3JlaW5mb19hcHBl bmRfc3RyKCJOVU1CRVIoVk1FTU1BUF9FTkQpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBW TUVNTUFQX0VORCk7Cj4gPiA+ID4gPiA+ID4gPiA+ICsjaWZkZWYgQ09ORklHXzY0QklUCj4gPiA+ ID4gPiA+ID4gPiA+ICsgdm1jb3JlaW5mb19hcHBlbmRfc3RyKCJOVU1CRVIoTU9EVUxFU19WQURE Uik9MHglbHhcbiIsCj4gPiA+ID4gPiA+ID4gPiA+IE1PRFVMRVNfVkFERFIpOwo+ID4gPiA+ID4g PiA+ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVS KE1PRFVMRVNfRU5EKT0weCVseFxuIiwKPiA+ID4gPiA+ID4gPiA+ID4gTU9EVUxFU19FTkQpOwo+ ID4gPiA+ID4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiA+ID4gPiA+ICsKPiA+ID4gPiA+ID4g PiA+ID4gK8KgwqDCoCBpZiAoSVNfRU5BQkxFRChDT05GSUdfNjRCSVQpKQo+ID4gPiA+ID4gPiA+ ID4gPiArCj4gPiA+ID4gPiA+ID4gPiA+IHZtY29yZWluZm9fYXBwZW5kX3N0cigiTlVNQkVSKEtF Uk5FTF9MSU5LX0FERFIpPTB4JWx4XG4iLAo+ID4gPiA+ID4gPiA+ID4gPiBLRVJORUxfTElOS19B RERSKTsKPiA+ID4gPiA+ID4gPiA+IFdvbmRlcmluZyB3aHkgeW91IGRvbid0IHB1dCBLRVJORUxf TElOS19BRERSIGV4cG9ydGluZyBpbnRvIHRoZSBhYm92ZQo+ID4gPiA+ID4gPiA+ID4gaWZkZWZm ZXJ5IHNjb3BlLCB3aXRoIHRoYXQgeW91IGNhbiBzYXZlIG9uZSBsaW5lIG9mCj4gPiA+ID4gPiA+ ID4gPiAiSVNfRU5BQkxFRChDT05GSUdfNjRCSVQpIi4KPiA+ID4gPiA+ID4gPiBJIGZvbGxvd2Vk IHRoZSBydWxlIGluIHByaW50X3ZtX2xheW91dCgpIG9mCj4gPiA+ID4gPiA+ID4gYXJjaC9yaXNj di9tbS9pbml0LmMsIHdoaWNoIHVzZWQKPiA+ID4gPiA+ID4gPiBJU19FTkFCTEVEIHdoZW4gcHJp bnQgdGhlIHZhbHVlIG9mIEtFUk5FTF9MSU5LX0FERFIuCj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiA+IEkgc2VlLiBUaGVyZSdzIFBBR0VfT0ZGU0VUIGluIHRoZSBtaWRkbGUuIFRoYW5rcy4KPiA+ ID4gPiA+ID4gCj4gPiA+ID4gPiA+ICDCoMKgwqDCoMKgwqDCoMKgIHByaW50X21sKCJsb3dtZW0i LCAodW5zaWduZWQgbG9uZylQQUdFX09GRlNFVCwKPiA+ID4gPiA+ID4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICh1bnNpZ25lZCBsb25nKWhpZ2hfbWVtb3J5KQo+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gU28gbm93LCBkbyB5b3UgdGhpbmsgaWYgaXQncyBuZWNlc3NhcnkgdG8g aGF2ZSBhbm90aGVyCj4gPiA+ID4gPiA+IElTX0VOQUJMRUQoQ09ORklHXzY0QklUKSBpbiB0aGUg Y3VycmVudCBhcmNoX2NyYXNoX3NhdmVfdm1jb3JlaW5mbygpPwo+ID4gPiA+ID4gRm9yIHdoaWNo IE1BQ1JPP8KgIEkgdGhpbmsgY3VycmVudCBjb2RlIGZvciBQQUdFX09GRlNFVCBpcyBPSy4KPiA+ ID4gPiA+IAo+ID4gCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LXJpc2N2Cg==