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=-8.3 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham 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 3B203C3A59F for ; Thu, 29 Aug 2019 22:48:03 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 F013D21874 for ; Thu, 29 Aug 2019 22:48:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="mC20uFDv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F013D21874 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i3TCq-0001aW-BB; Thu, 29 Aug 2019 22:47:52 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i3TCo-0001aN-RG for xen-devel@lists.xenproject.org; Thu, 29 Aug 2019 22:47:50 +0000 X-Inumbo-ID: 0726898e-caaf-11e9-ae74-12813bfff9fa Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 0726898e-caaf-11e9-ae74-12813bfff9fa; Thu, 29 Aug 2019 22:47:50 +0000 (UTC) Received: from localhost (c-67-164-102-47.hsd1.ca.comcast.net [67.164.102.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5176E21874; Thu, 29 Aug 2019 22:47:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1567118869; bh=5HuSUM+1ADSY3mn/95Vd7pryktLmy7b2HnKbDfxjNWc=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=mC20uFDvUjMbNsrXK6+NPH0duT8dJ859vxTO1Mo0FdeG3qYY80Zbcx/T6/BHvR7XD VH5Ex31xgsDQO/htEb2Wtz7ET4+YCGNvyJEVZJFSl1Dj97pfvZ4ANtxEdto7PflLC3 D1PKu2hS9bV4GpzwV8fQ7Vrf9//Xgwt6mVwI585s= Date: Thu, 29 Aug 2019 15:47:48 -0700 (PDT) From: Stefano Stabellini X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s To: Christoph Hellwig In-Reply-To: <20190826121944.515-9-hch@lst.de> Message-ID: References: <20190826121944.515-1-hch@lst.de> <20190826121944.515-9-hch@lst.de> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Subject: Re: [Xen-devel] [PATCH 08/11] swiotlb-xen: simplify cache maintainance X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Konrad Rzeszutek Wilk , x86@kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gTW9uLCAyNiBBdWcgMjAxOSwgQ2hyaXN0b3BoIEhlbGx3aWcgd3JvdGU6Cj4gTm93IHRoYXQg d2Uga25vdyB3ZSBhbHdheXMgaGF2ZSB0aGUgZG1hLW5vbmNvaGVyZW50LmggaGVscGVycyBhdmFp bGFibGUKPiBpZiB3ZSBhcmUgb24gYW4gYXJjaGl0ZWN0dXJlIHdpdGggc3VwcG9ydCBmb3Igbm9u LWNvaGVyZW50IGRldmljZXMsCj4gd2UgY2FuIGp1c3QgY2FsbCB0aGVtIGRpcmVjdGx5LCBhbmQg cmVtb3ZlIHRoZSBjYWxscyB0byB0aGUgZG1hLWRpcmVjdAo+IHJvdXRpbmVzLCBpbmNsdWRpbmcg dGhlIGZhY3QgdGhhdCB3ZSBjYWxsIHRoZSBkbWFfZGlyZWN0X21hcF9wYWdlCj4gcm91dGluZXMg YnV0IGlnbm9yZSB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBpdC4gIEluc3RlYWQgd2Ugbm93IGhh dmUKPiBYZW4gd3JhcHBlcnMgZm9yIHRoZSBhcmNoX3N5bmNfZG1hX2Zvcl97ZGV2aWNlLGNwdX0g aGVscGVycyB0aGF0IGNhbGwKPiB0aGUgc3BlY2lhbCBYZW4gdmVyc2lvbnMgb2YgdGhvc2Ugcm91 dGluZXMgZm9yIGZvcmVpZ24gcGFnZXMuCj4gCj4gTm90ZSB0aGF0IHRoZSBuZXcgaGVscGVycyBn ZXQgdGhlIHBoeXNpY2FsIGFkZHJlc3MgcGFzc2VkIGluIGFkZGl0aW9uCj4gdG8gdGhlIGRtYSBh ZGRyZXNzIHRvIGF2b2lkIGFub3RoZXIgdHJhbnNsYXRpb24gZm9yIHRoZSBsb2NhbCBjYWNoZQo+ IG1haW50YWluYW5jZS4gIFRoZSBwZm5fdmFsaWQgY2hlY2tzIHJlbWFpbiBvbiB0aGUgZG1hIGFk ZHJlc3MgYXMgaW4KPiB0aGUgb2xkIGNvZGUsIGV2ZW4gaWYgdGhhdCBsb29rcyBhIGxpdHRsZSBm dW5ueS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4K Pgo+IC0tLQo+ICBhcmNoL2FybS94ZW4vbW0uYyAgICAgICAgICAgICAgICAgICAgICAgIHwgNjQg KysrKysrLS0tLS0tLS0tLS0tLS0tLQo+ICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vcGFnZS1j b2hlcmVudC5oIHwgMTEgLS0tLQo+ICBkcml2ZXJzL3hlbi9zd2lvdGxiLXhlbi5jICAgICAgICAg ICAgICAgIHwgMjAgKysrLS0tLQo+ICBpbmNsdWRlL3hlbi9hcm0vcGFnZS1jb2hlcmVudC5oICAg ICAgICAgIHwgNjkgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwg MzEgaW5zZXJ0aW9ucygrKSwgMTMzIGRlbGV0aW9ucygtKQoKV09XIG5pY2UhIE5vdyBJIHJlYWxs eSBjYW4gc2VlIHdoeSB0aGlzIHNlcmllcyB3YXMgd29ydGggZG9pbmcgOi0pCgpSZXZpZXdlZC1i eTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgoKCgoKPiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm0veGVuL21tLmMgYi9hcmNoL2FybS94ZW4vbW0uYwo+IGluZGV4IGI3 ZDUzNDE1NTMyYi4uNzA5NjY1MmY1YTFlIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL3hlbi9tbS5j Cj4gKysrIGIvYXJjaC9hcm0veGVuL21tLmMKPiBAQCAtNjEsNjMgKzYxLDMzIEBAIHN0YXRpYyB2 b2lkIGRtYV9jYWNoZV9tYWludChkbWFfYWRkcl90IGhhbmRsZSwgc2l6ZV90IHNpemUsIHUzMiBv cCkKPiAgCX0gd2hpbGUgKHNpemUpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBfX3hlbl9kbWFf cGFnZV9kZXZfdG9fY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwK PiAtCQlzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+ICsvKgo+ICsg KiBEb20wIGlzIG1hcHBlZCAxOjEsIGFuZCB3aGlsZSB0aGUgTGludXggcGFnZSBjYW4gc3BhbiBh Y3Jvc3MgbXVsdGlwbGUgWGVuCj4gKyAqIHBhZ2VzLCBpdCBpcyBub3QgcG9zc2libGUgZm9yIGl0 IHRvIGNvbnRhaW4gYSBtaXggb2YgbG9jYWwgYW5kIGZvcmVpZ24gWGVuCj4gKyAqIHBhZ2VzLiAg Q2FsbGluZyBwZm5fdmFsaWQgb24gYSBmb3JlaWduIG1mbiB3aWxsIGFsd2F5cyByZXR1cm4gZmFs c2UsIHNvIGlmCj4gKyAqIHBmbl92YWxpZCByZXR1cm5zIHRydWUgdGhlIHBhZ2VzIGlzIGxvY2Fs IGFuZCB3ZSBjYW4gdXNlIHRoZSBuYXRpdmUKPiArICogZG1hLWRpcmVjdCBmdW5jdGlvbnMsIG90 aGVyd2lzZSB3ZSBjYWxsIHRoZSBYZW4gc3BlY2lmaWMgdmVyc2lvbi4KPiArICovCj4gK3ZvaWQg eGVuX2RtYV9zeW5jX2Zvcl9jcHUoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGhhbmRs ZSwKPiArCQlwaHlzX2FkZHJfdCBwYWRkciwgc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGly ZWN0aW9uIGRpcikKPiAgewo+IC0JaWYgKGRpciAhPSBETUFfVE9fREVWSUNFKQo+ICsJaWYgKHBm bl92YWxpZChQRk5fRE9XTihoYW5kbGUpKSkKPiArCQlhcmNoX3N5bmNfZG1hX2Zvcl9jcHUoZGV2 LCBwYWRkciwgc2l6ZSwgZGlyKTsKPiArCWVsc2UgaWYgKGRpciAhPSBETUFfVE9fREVWSUNFKQo+ ICAJCWRtYV9jYWNoZV9tYWludChoYW5kbGUsIHNpemUsIEdOVFRBQl9DQUNIRV9JTlZBTCk7Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIF9feGVuX2RtYV9wYWdlX2NwdV90b19kZXYoc3RydWN0IGRl dmljZSAqaHdkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAo+IC0JCXNpemVfdCBzaXplLCBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXIpCj4gK3ZvaWQgeGVuX2RtYV9zeW5jX2Zvcl9kZXZpY2Uoc3Ry dWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwKPiArCQlwaHlzX2FkZHJfdCBwYWRk ciwgc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKPiAgewo+IC0JaWYg KGRpciA9PSBETUFfRlJPTV9ERVZJQ0UpCj4gKwlpZiAocGZuX3ZhbGlkKFBGTl9ET1dOKGhhbmRs ZSkpKQo+ICsJCWFyY2hfc3luY19kbWFfZm9yX2RldmljZShkZXYsIHBhZGRyLCBzaXplLCBkaXIp Owo+ICsJZWxzZSBpZiAoZGlyID09IERNQV9GUk9NX0RFVklDRSkKPiAgCQlkbWFfY2FjaGVfbWFp bnQoaGFuZGxlLCBzaXplLCBHTlRUQUJfQ0FDSEVfSU5WQUwpOwo+ICAJZWxzZQo+ICAJCWRtYV9j YWNoZV9tYWludChoYW5kbGUsIHNpemUsIEdOVFRBQl9DQUNIRV9DTEVBTik7Cj4gIH0KPiAgCj4g LXZvaWQgX194ZW5fZG1hX21hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzdHJ1Y3QgcGFn ZSAqcGFnZSwKPiAtCSAgICAgZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZz ZXQsIHNpemVfdCBzaXplLAo+IC0JICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVu c2lnbmVkIGxvbmcgYXR0cnMpCj4gLXsKPiAtCWlmIChkZXZfaXNfZG1hX2NvaGVyZW50KGh3ZGV2 KSkKPiAtCQlyZXR1cm47Cj4gLQlpZiAoYXR0cnMgJiBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKQo+ IC0JCXJldHVybjsKPiAtCj4gLQlfX3hlbl9kbWFfcGFnZV9jcHVfdG9fZGV2KGh3ZGV2LCBkZXZf YWRkciwgc2l6ZSwgZGlyKTsKPiAtfQo+IC0KPiAtdm9pZCBfX3hlbl9kbWFfdW5tYXBfcGFnZShz dHJ1Y3QgZGV2aWNlICpod2RldiwgZG1hX2FkZHJfdCBoYW5kbGUsCj4gLQkJc2l6ZV90IHNpemUs IGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwKPiAtCQl1bnNpZ25lZCBsb25nIGF0dHJzKQo+ IC0KPiAtewo+IC0JaWYgKGRldl9pc19kbWFfY29oZXJlbnQoaHdkZXYpKQo+IC0JCXJldHVybjsK PiAtCWlmIChhdHRycyAmIERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMpCj4gLQkJcmV0dXJuOwo+IC0K PiAtCV9feGVuX2RtYV9wYWdlX2Rldl90b19jcHUoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsK PiAtfQo+IC0KPiAtdm9pZCBfX3hlbl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShzdHJ1Y3QgZGV2 aWNlICpod2RldiwKPiAtCQlkbWFfYWRkcl90IGhhbmRsZSwgc2l6ZV90IHNpemUsIGVudW0gZG1h X2RhdGFfZGlyZWN0aW9uIGRpcikKPiAtewo+IC0JaWYgKGRldl9pc19kbWFfY29oZXJlbnQoaHdk ZXYpKQo+IC0JCXJldHVybjsKPiAtCV9feGVuX2RtYV9wYWdlX2Rldl90b19jcHUoaHdkZXYsIGhh bmRsZSwgc2l6ZSwgZGlyKTsKPiAtfQo+IC0KPiAtdm9pZCBfX3hlbl9kbWFfc3luY19zaW5nbGVf Zm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpod2RldiwKPiAtCQlkbWFfYWRkcl90IGhhbmRsZSwg c2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKPiAtewo+IC0JaWYgKGRl dl9pc19kbWFfY29oZXJlbnQoaHdkZXYpKQo+IC0JCXJldHVybjsKPiAtCV9feGVuX2RtYV9wYWdl X2NwdV90b19kZXYoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsKPiAtfQo+IC0KPiAgYm9vbCB4 ZW5fYXJjaF9uZWVkX3N3aW90bGIoc3RydWN0IGRldmljZSAqZGV2LAo+ICAJCQkgICBwaHlzX2Fk ZHJfdCBwaHlzLAo+ICAJCQkgICBkbWFfYWRkcl90IGRldl9hZGRyKQo+IGRpZmYgLS1naXQgYS9h cmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaAo+IGluZGV4IDhlZTMzYzVlZGRlZC4uYzljODM5OGEz MWZmIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50 LmgKPiArKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oCj4gQEAg LTIsMTcgKzIsNiBAQAo+ICAjaWZuZGVmIF9BU01fWDg2X1hFTl9QQUdFX0NPSEVSRU5UX0gKPiAg I2RlZmluZSBfQVNNX1g4Nl9YRU5fUEFHRV9DT0hFUkVOVF9ICj4gIAo+IC0jaW5jbHVkZSA8YXNt L3BhZ2UuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+Cj4gLQo+IC1zdGF0aWMg aW5saW5lIHZvaWQgeGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc3RydWN0 IHBhZ2UgKnBhZ2UsCj4gLQkgICAgIGRtYV9hZGRyX3QgZGV2X2FkZHIsIHVuc2lnbmVkIGxvbmcg b2Zmc2V0LCBzaXplX3Qgc2l6ZSwKPiAtCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGly LCB1bnNpZ25lZCBsb25nIGF0dHJzKSB7IH0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5f ZG1hX3VubWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAo+ IC0JCXNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsCj4gLQkJdW5zaWdu ZWQgbG9uZyBhdHRycykgeyB9Cj4gLQo+ICBzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9zeW5j X3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+ICAJCWRtYV9hZGRyX3QgaGFu ZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKSB7IH0KPiAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMgYi9kcml2ZXJzL3hlbi9zd2lv dGxiLXhlbi5jCj4gaW5kZXggZjlkZDRjYjZlNGIzLi5hNjQyZTI4NGYxZTIgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy94ZW4vc3dpb3RsYi14ZW4uYwo+ICsrKyBiL2RyaXZlcnMveGVuL3N3aW90bGIt eGVuLmMKPiBAQCAtMjgsNiArMjgsNyBAQAo+ICAKPiAgI2luY2x1ZGUgPGxpbnV4L21lbWJsb2Nr Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9kbWEtZGlyZWN0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9k bWEtbm9uY29oZXJlbnQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2V4cG9ydC5oPgo+ICAjaW5jbHVk ZSA8eGVuL3N3aW90bGIteGVuLmg+Cj4gICNpbmNsdWRlIDx4ZW4vcGFnZS5oPgo+IEBAIC0zOTAs NiArMzkxLDcgQEAgc3RhdGljIGRtYV9hZGRyX3QgeGVuX3N3aW90bGJfbWFwX3BhZ2Uoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3QgcGFnZSAqcGFnZSwKPiAgCWlmIChtYXAgPT0gKHBoeXNfYWRk cl90KURNQV9NQVBQSU5HX0VSUk9SKQo+ICAJCXJldHVybiBETUFfTUFQUElOR19FUlJPUjsKPiAg Cj4gKwlwaHlzID0gbWFwOwo+ICAJZGV2X2FkZHIgPSB4ZW5fcGh5c190b19idXMobWFwKTsKPiAg Cj4gIAkvKgo+IEBAIC00MDEsMTQgKzQwMyw5IEBAIHN0YXRpYyBkbWFfYWRkcl90IHhlbl9zd2lv dGxiX21hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHBhZ2UgKnBhZ2UsCj4gIAkJ cmV0dXJuIERNQV9NQVBQSU5HX0VSUk9SOwo+ICAJfQo+ICAKPiAtCXBhZ2UgPSBwZm5fdG9fcGFn ZShtYXAgPj4gUEFHRV9TSElGVCk7Cj4gLQlvZmZzZXQgPSBtYXAgJiB+UEFHRV9NQVNLOwo+ICBk b25lOgo+IC0JLyoKPiAtCSAqIHdlIGFyZSBub3QgaW50ZXJlc3RlZCBpbiB0aGUgZG1hX2FkZHIg cmV0dXJuZWQgYnkgeGVuX2RtYV9tYXBfcGFnZSwKPiAtCSAqIG9ubHkgaW4gdGhlIHBvdGVudGlh bCBjYWNoZSBmbHVzaGVzIGV4ZWN1dGVkIGJ5IHRoZSBmdW5jdGlvbi4KPiAtCSAqLwo+IC0JeGVu X2RtYV9tYXBfcGFnZShkZXYsIHBhZ2UsIGRldl9hZGRyLCBvZmZzZXQsIHNpemUsIGRpciwgYXR0 cnMpOwo+ICsJaWYgKCFkZXZfaXNfZG1hX2NvaGVyZW50KGRldikgJiYgIShhdHRycyAmIERNQV9B VFRSX1NLSVBfQ1BVX1NZTkMpKQo+ICsJCXhlbl9kbWFfc3luY19mb3JfZGV2aWNlKGRldiwgZGV2 X2FkZHIsIHBoeXMsIHNpemUsIGRpcik7Cj4gIAlyZXR1cm4gZGV2X2FkZHI7Cj4gIH0KPiAgCj4g QEAgLTQyOCw3ICs0MjUsOCBAQCBzdGF0aWMgdm9pZCB4ZW5fdW5tYXBfc2luZ2xlKHN0cnVjdCBk ZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGRldl9hZGRyLAo+ICAKPiAgCUJVR19PTihkaXIgPT0g RE1BX05PTkUpOwo+ICAKPiAtCXhlbl9kbWFfdW5tYXBfcGFnZShod2RldiwgZGV2X2FkZHIsIHNp emUsIGRpciwgYXR0cnMpOwo+ICsJaWYgKCFkZXZfaXNfZG1hX2NvaGVyZW50KGh3ZGV2KSAmJiAh KGF0dHJzICYgRE1BX0FUVFJfU0tJUF9DUFVfU1lOQykpCj4gKwkJeGVuX2RtYV9zeW5jX2Zvcl9j cHUoaHdkZXYsIGRldl9hZGRyLCBwYWRkciwgc2l6ZSwgZGlyKTsKPiAgCj4gIAkvKiBOT1RFOiBX ZSB1c2UgZGV2X2FkZHIgaGVyZSwgbm90IHBhZGRyISAqLwo+ICAJaWYgKGlzX3hlbl9zd2lvdGxi X2J1ZmZlcihkZXZfYWRkcikpCj4gQEAgLTQ0OCw3ICs0NDYsOCBAQCB4ZW5fc3dpb3RsYl9zeW5j X3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmRldiwgZG1hX2FkZHJfdCBkbWFfYWRkciwK PiAgewo+ICAJcGh5c19hZGRyX3QgcGFkZHIgPSB4ZW5fYnVzX3RvX3BoeXMoZG1hX2FkZHIpOwo+ ICAKPiAtCXhlbl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShkZXYsIGRtYV9hZGRyLCBzaXplLCBk aXIpOwo+ICsJaWYgKCFkZXZfaXNfZG1hX2NvaGVyZW50KGRldikpCj4gKwkJeGVuX2RtYV9zeW5j X2Zvcl9jcHUoZGV2LCBkbWFfYWRkciwgcGFkZHIsIHNpemUsIGRpcik7Cj4gIAo+ICAJaWYgKGlz X3hlbl9zd2lvdGxiX2J1ZmZlcihkbWFfYWRkcikpCj4gIAkJc3dpb3RsYl90Ymxfc3luY19zaW5n bGUoZGV2LCBwYWRkciwgc2l6ZSwgZGlyLCBTWU5DX0ZPUl9DUFUpOwo+IEBAIC00NjMsNyArNDYy LDggQEAgeGVuX3N3aW90bGJfc3luY19zaW5nbGVfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpk ZXYsIGRtYV9hZGRyX3QgZG1hX2FkZHIsCj4gIAlpZiAoaXNfeGVuX3N3aW90bGJfYnVmZmVyKGRt YV9hZGRyKSkKPiAgCQlzd2lvdGxiX3RibF9zeW5jX3NpbmdsZShkZXYsIHBhZGRyLCBzaXplLCBk aXIsIFNZTkNfRk9SX0RFVklDRSk7Cj4gIAo+IC0JeGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2 aWNlKGRldiwgZG1hX2FkZHIsIHNpemUsIGRpcik7Cj4gKwlpZiAoIWRldl9pc19kbWFfY29oZXJl bnQoZGV2KSkKPiArCQl4ZW5fZG1hX3N5bmNfZm9yX2RldmljZShkZXYsIGRtYV9hZGRyLCBwYWRk ciwgc2l6ZSwgZGlyKTsKPiAgfQo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4v YXJtL3BhZ2UtY29oZXJlbnQuaCBiL2luY2x1ZGUveGVuL2FybS9wYWdlLWNvaGVyZW50LmgKPiBp bmRleCAwN2MxMDRkYmMyMWYuLjYzNTQ5MmQ0MWViZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3hl bi9hcm0vcGFnZS1jb2hlcmVudC5oCj4gKysrIGIvaW5jbHVkZS94ZW4vYXJtL3BhZ2UtY29oZXJl bnQuaAo+IEBAIC0yLDcwICsyLDkgQEAKPiAgI2lmbmRlZiBfWEVOX0FSTV9QQUdFX0NPSEVSRU5U X0gKPiAgI2RlZmluZSBfWEVOX0FSTV9QQUdFX0NPSEVSRU5UX0gKPiAgCj4gLSNpbmNsdWRlIDxs aW51eC9kbWEtbWFwcGluZy5oPgo+IC0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KPiAtCj4gLXZvaWQg X194ZW5fZG1hX21hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzdHJ1Y3QgcGFnZSAqcGFn ZSwKPiAtCSAgICAgZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNp emVfdCBzaXplLAo+IC0JICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVuc2lnbmVk IGxvbmcgYXR0cnMpOwo+IC12b2lkIF9feGVuX2RtYV91bm1hcF9wYWdlKHN0cnVjdCBkZXZpY2Ug Kmh3ZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwKPiAtCQlzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0 YV9kaXJlY3Rpb24gZGlyLAo+IC0JCXVuc2lnbmVkIGxvbmcgYXR0cnMpOwo+IC12b2lkIF9feGVu X2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+IC0JCWRtYV9h ZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsK PiAtdm9pZCBfX3hlbl9kbWFfc3luY19zaW5nbGVfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpo d2RldiwKPiAtCQlkbWFfYWRkcl90IGhhbmRsZSwgc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFf ZGlyZWN0aW9uIGRpcik7Cj4gLQo+IC1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9zeW5jX3Np bmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+IC0JCWRtYV9hZGRyX3QgaGFuZGxl LCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+IC17Cj4gLQl1bnNp Z25lZCBsb25nIHBmbiA9IFBGTl9ET1dOKGhhbmRsZSk7Cj4gLQo+IC0JaWYgKHBmbl92YWxpZChw Zm4pKQo+IC0JCWRtYV9kaXJlY3Rfc3luY19zaW5nbGVfZm9yX2NwdShod2RldiwgaGFuZGxlLCBz aXplLCBkaXIpOwo+IC0JZWxzZQo+IC0JCV9feGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KGh3 ZGV2LCBoYW5kbGUsIHNpemUsIGRpcik7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB4 ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCj4gLQkJ ZG1hX2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBk aXIpCj4gLXsKPiAtCXVuc2lnbmVkIGxvbmcgcGZuID0gUEZOX0RPV04oaGFuZGxlKTsKPiAtCWlm IChwZm5fdmFsaWQocGZuKSkKPiAtCQlkbWFfZGlyZWN0X3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2Uo aHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsKPiAtCWVsc2UKPiAtCQlfX3hlbl9kbWFfc3luY19z aW5nbGVfZm9yX2RldmljZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIpOwo+IC19Cj4gLQo+IC1z dGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwg c3RydWN0IHBhZ2UgKnBhZ2UsCj4gLQkgICAgIGRtYV9hZGRyX3QgZGV2X2FkZHIsIHVuc2lnbmVk IGxvbmcgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwKPiAtCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyLCB1bnNpZ25lZCBsb25nIGF0dHJzKQo+IC17Cj4gLQl1bnNpZ25lZCBsb25nIHBmbiA9 IFBGTl9ET1dOKGRldl9hZGRyKTsKPiAtCj4gLQkvKgo+IC0JICogRG9tMCBpcyBtYXBwZWQgMTox LCBhbmQgd2hpbGUgdGhlIExpbnV4IHBhZ2UgY2FuIHNwYW4gYWNyb3NzIG11bHRpcGxlCj4gLQkg KiBYZW4gcGFnZXMsIGl0IGlzIG5vdCBwb3NzaWJsZSBmb3IgaXQgdG8gY29udGFpbiBhIG1peCBv ZiBsb2NhbCBhbmQKPiAtCSAqIGZvcmVpZ24gWGVuIHBhZ2VzLiAgQ2FsbGluZyBwZm5fdmFsaWQg b24gYSBmb3JlaWduIG1mbiB3aWxsIGFsd2F5cwo+IC0JICogcmV0dXJuIGZhbHNlLCBzbyBpZiBw Zm5fdmFsaWQgcmV0dXJucyB0cnVlIHRoZSBwYWdlcyBpcyBsb2NhbCBhbmQgd2UKPiAtCSAqIGNh biB1c2UgdGhlIG5hdGl2ZSBkbWEtZGlyZWN0IGZ1bmN0aW9ucywgb3RoZXJ3aXNlIHdlIGNhbGwg dGhlIFhlbgo+IC0JICogc3BlY2lmaWMgdmVyc2lvbi4KPiAtCSAqLwo+IC0JaWYgKHBmbl92YWxp ZChwZm4pKQo+IC0JCWRtYV9kaXJlY3RfbWFwX3BhZ2UoaHdkZXYsIHBhZ2UsIG9mZnNldCwgc2l6 ZSwgZGlyLCBhdHRycyk7Cj4gLQllbHNlCj4gLQkJX194ZW5fZG1hX21hcF9wYWdlKGh3ZGV2LCBw YWdlLCBkZXZfYWRkciwgb2Zmc2V0LCBzaXplLCBkaXIsIGF0dHJzKTsKPiAtfQo+IC0KPiAtc3Rh dGljIGlubGluZSB2b2lkIHhlbl9kbWFfdW5tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwg ZG1hX2FkZHJfdCBoYW5kbGUsCj4gLQkJc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0 aW9uIGRpciwgdW5zaWduZWQgbG9uZyBhdHRycykKPiAtewo+IC0JdW5zaWduZWQgbG9uZyBwZm4g PSBQRk5fRE9XTihoYW5kbGUpOwo+IC0KPiAtCWlmIChwZm5fdmFsaWQocGZuKSkKPiAtCQlkbWFf ZGlyZWN0X3VubWFwX3BhZ2UoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyLCBhdHRycyk7Cj4gLQll bHNlCj4gLQkJX194ZW5fZG1hX3VubWFwX3BhZ2UoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyLCBh dHRycyk7Cj4gLX0KPiArdm9pZCB4ZW5fZG1hX3N5bmNfZm9yX2NwdShzdHJ1Y3QgZGV2aWNlICpk ZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAo+ICsJCXBoeXNfYWRkcl90IHBhZGRyLCBzaXplX3Qgc2l6 ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKPiArdm9pZCB4ZW5fZG1hX3N5bmNfZm9y X2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAo+ICsJCXBoeXNf YWRkcl90IHBhZGRyLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsK PiAgCj4gICNlbmRpZiAvKiBfWEVOX0FSTV9QQUdFX0NPSEVSRU5UX0ggKi8KPiAtLSAKPiAyLjIw LjEKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=