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 1E1C5C49ED6 for ; Tue, 10 Sep 2019 00:19:05 +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 D914721670 for ; Tue, 10 Sep 2019 00:19:04 +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="ICKCzJ/t" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D914721670 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 1i7Trf-0007XQ-P8; Tue, 10 Sep 2019 00:18:35 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i7Tre-0007XL-S5 for xen-devel@lists.xenproject.org; Tue, 10 Sep 2019 00:18:34 +0000 X-Inumbo-ID: 86307208-d360-11e9-a337-bc764e2007e4 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 86307208-d360-11e9-a337-bc764e2007e4; Tue, 10 Sep 2019 00:18:33 +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 993D421924; Tue, 10 Sep 2019 00:18:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568074713; bh=dKUKP3JPu7hVaTGP/S7YYTxBafVoENZ0MqGtavG/XfE=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=ICKCzJ/tQcgzvr4AuWWrSSWAMgo/0zHUMkF/TlGCj70+2xzfS3uf/i3xzDUbh8xmQ 1Z6ktOKxbMzN89BMGZl+7e6Jg3qHxS/ZguCel7w3EqnaqShpDKLeJnt3o/I8SLqYfH gqdTVOzVv1KrLeujtImQbq/9LKuweVBSM8lx0hkw= Date: Mon, 9 Sep 2019 17:18:32 -0700 (PDT) From: Stefano Stabellini X-X-Sender: sstabellini@sstabellini-ThinkPad-T480s To: Christoph Hellwig In-Reply-To: <20190905113408.3104-3-hch@lst.de> Message-ID: References: <20190905113408.3104-1-hch@lst.de> <20190905113408.3104-3-hch@lst.de> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Subject: Re: [Xen-devel] [PATCH 02/11] xen/arm: consolidate page-coherent.h 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 , gross@suse.com, x86@kernel.org, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, 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" T24gVGh1LCA1IFNlcCAyMDE5LCBDaHJpc3RvcGggSGVsbHdpZyB3cm90ZToKPiBTaGFyZWQgdGhl IGR1cGxpY2F0ZSBhcm0vYXJtNjQgY29kZSBpbiBpbmNsdWRlL3hlbi9hcm0vcGFnZS1jb2hlcmVu dC5oLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0LmRlPgoK UmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4K Cgo+IC0tLQo+ICBhcmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oICAgfCA3 NSAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3hlbi9wYWdl LWNvaGVyZW50LmggfCA3NSAtLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBpbmNsdWRlL3hlbi9hcm0v cGFnZS1jb2hlcmVudC5oICAgICAgICAgICAgfCA4MCArKysrKysrKysrKysrKysrKysrKysrCj4g IDMgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMTUwIGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vcGFnZS1jb2hlcmVudC5oIGIv YXJjaC9hcm0vaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaAo+IGluZGV4IDYwMmFjMDJm MTU0Yy4uMjdlOTg0OTc3NDAyIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3hl bi9wYWdlLWNvaGVyZW50LmgKPiArKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vcGFnZS1j b2hlcmVudC5oCj4gQEAgLTEsNzcgKzEsMiBAQAo+ICAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCAqLwo+IC0jaWZuZGVmIF9BU01fQVJNX1hFTl9QQUdFX0NPSEVSRU5UX0gKPiAt I2RlZmluZSBfQVNNX0FSTV9YRU5fUEFHRV9DT0hFUkVOVF9ICj4gLQo+IC0jaW5jbHVkZSA8bGlu dXgvZG1hLW1hcHBpbmcuaD4KPiAtI2luY2x1ZGUgPGFzbS9wYWdlLmg+Cj4gICNpbmNsdWRlIDx4 ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaD4KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCAqeGVuX2Fs bG9jX2NvaGVyZW50X3BhZ2VzKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzaXplX3Qgc2l6ZSwKPiAt CQlkbWFfYWRkcl90ICpkbWFfaGFuZGxlLCBnZnBfdCBmbGFncywgdW5zaWduZWQgbG9uZyBhdHRy cykKPiAtewo+IC0JcmV0dXJuIGRtYV9kaXJlY3RfYWxsb2MoaHdkZXYsIHNpemUsIGRtYV9oYW5k bGUsIGZsYWdzLCBhdHRycyk7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZnJl ZV9jb2hlcmVudF9wYWdlcyhzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc2l6ZV90IHNpemUsCj4gLQkJ dm9pZCAqY3B1X2FkZHIsIGRtYV9hZGRyX3QgZG1hX2hhbmRsZSwgdW5zaWduZWQgbG9uZyBhdHRy cykKPiAtewo+IC0JZG1hX2RpcmVjdF9mcmVlKGh3ZGV2LCBzaXplLCBjcHVfYWRkciwgZG1hX2hh bmRsZSwgYXR0cnMpOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9zeW5j X3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+IC0JCWRtYV9hZGRyX3QgaGFu ZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+IC17Cj4gLQl1 bnNpZ25lZCBsb25nIHBmbiA9IFBGTl9ET1dOKGhhbmRsZSk7Cj4gLQo+IC0JaWYgKHBmbl92YWxp ZChwZm4pKQo+IC0JCWRtYV9kaXJlY3Rfc3luY19zaW5nbGVfZm9yX2NwdShod2RldiwgaGFuZGxl LCBzaXplLCBkaXIpOwo+IC0JZWxzZQo+IC0JCV9feGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1 KGh3ZGV2LCBoYW5kbGUsIHNpemUsIGRpcik7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9p ZCB4ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCj4g LQkJZG1hX2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlv biBkaXIpCj4gLXsKPiAtCXVuc2lnbmVkIGxvbmcgcGZuID0gUEZOX0RPV04oaGFuZGxlKTsKPiAt CWlmIChwZm5fdmFsaWQocGZuKSkKPiAtCQlkbWFfZGlyZWN0X3N5bmNfc2luZ2xlX2Zvcl9kZXZp Y2UoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsKPiAtCWVsc2UKPiAtCQlfX3hlbl9kbWFfc3lu Y19zaW5nbGVfZm9yX2RldmljZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIpOwo+IC19Cj4gLQo+ IC1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rl diwgc3RydWN0IHBhZ2UgKnBhZ2UsCj4gLQkgICAgIGRtYV9hZGRyX3QgZGV2X2FkZHIsIHVuc2ln bmVkIGxvbmcgb2Zmc2V0LCBzaXplX3Qgc2l6ZSwKPiAtCSAgICAgZW51bSBkbWFfZGF0YV9kaXJl Y3Rpb24gZGlyLCB1bnNpZ25lZCBsb25nIGF0dHJzKQo+IC17Cj4gLQl1bnNpZ25lZCBsb25nIHBh Z2VfcGZuID0gcGFnZV90b194ZW5fcGZuKHBhZ2UpOwo+IC0JdW5zaWduZWQgbG9uZyBkZXZfcGZu ID0gWEVOX1BGTl9ET1dOKGRldl9hZGRyKTsKPiAtCXVuc2lnbmVkIGxvbmcgY29tcG91bmRfcGFn ZXMgPQo+IC0JCSgxPDxjb21wb3VuZF9vcmRlcihwYWdlKSkgKiBYRU5fUEZOX1BFUl9QQUdFOwo+ IC0JYm9vbCBsb2NhbCA9IChwYWdlX3BmbiA8PSBkZXZfcGZuKSAmJgo+IC0JCShkZXZfcGZuIC0g cGFnZV9wZm4gPCBjb21wb3VuZF9wYWdlcyk7Cj4gLQo+IC0JaWYgKGxvY2FsKQo+IC0JCWRtYV9k aXJlY3RfbWFwX3BhZ2UoaHdkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgZGlyLCBhdHRycyk7Cj4g LQllbHNlCj4gLQkJX194ZW5fZG1hX21hcF9wYWdlKGh3ZGV2LCBwYWdlLCBkZXZfYWRkciwgb2Zm c2V0LCBzaXplLCBkaXIsIGF0dHJzKTsKPiAtfQo+IC0KPiAtc3RhdGljIGlubGluZSB2b2lkIHhl bl9kbWFfdW5tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2RldiwgZG1hX2FkZHJfdCBoYW5kbGUs Cj4gLQkJc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwgdW5zaWduZWQg bG9uZyBhdHRycykKPiAtewo+IC0JdW5zaWduZWQgbG9uZyBwZm4gPSBQRk5fRE9XTihoYW5kbGUp Owo+IC0JLyoKPiAtCSAqIERvbTAgaXMgbWFwcGVkIDE6MSwgd2hpbGUgdGhlIExpbnV4IHBhZ2Ug Y2FuIGJlIHNwYW5uZWQgYWNjcm9zcwo+IC0JICogbXVsdGlwbGUgWGVuIHBhZ2UsIGl0J3Mgbm90 IHBvc3NpYmxlIHRvIGhhdmUgYSBtaXggb2YgbG9jYWwgYW5kCj4gLQkgKiBmb3JlaWduIFhlbiBw YWdlLiBEb20wIGlzIG1hcHBlZCAxOjEsIHNvIGNhbGxpbmcgcGZuX3ZhbGlkIG9uIGEKPiAtCSAq IGZvcmVpZ24gbWZuIHdpbGwgYWx3YXlzIHJldHVybiBmYWxzZS4gSWYgdGhlIHBhZ2UgaXMgbG9j YWwgd2UgY2FuCj4gLQkgKiBzYWZlbHkgY2FsbCB0aGUgbmF0aXZlIGRtYV9vcHMgZnVuY3Rpb24s IG90aGVyd2lzZSB3ZSBjYWxsIHRoZSB4ZW4KPiAtCSAqIHNwZWNpZmljIGZ1bmN0aW9uLgo+IC0J ICovCj4gLQlpZiAocGZuX3ZhbGlkKHBmbikpCj4gLQkJZG1hX2RpcmVjdF91bm1hcF9wYWdlKGh3 ZGV2LCBoYW5kbGUsIHNpemUsIGRpciwgYXR0cnMpOwo+IC0JZWxzZQo+IC0JCV9feGVuX2RtYV91 bm1hcF9wYWdlKGh3ZGV2LCBoYW5kbGUsIHNpemUsIGRpciwgYXR0cnMpOwo+IC19Cj4gLQo+IC0j ZW5kaWYgLyogX0FTTV9BUk1fWEVOX1BBR0VfQ09IRVJFTlRfSCAqLwo+IGRpZmYgLS1naXQgYS9h cmNoL2FybTY0L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50LmggYi9hcmNoL2FybTY0L2lu Y2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50LmgKPiBpbmRleCBkODhlNTZiOTBiOTMuLjI3ZTk4 NDk3NzQwMiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNv aGVyZW50LmgKPiArKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50 LmgKPiBAQCAtMSw3NyArMSwyIEBACj4gIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wICovCj4gLSNpZm5kZWYgX0FTTV9BUk02NF9YRU5fUEFHRV9DT0hFUkVOVF9ICj4gLSNkZWZp bmUgX0FTTV9BUk02NF9YRU5fUEFHRV9DT0hFUkVOVF9ICj4gLQo+IC0jaW5jbHVkZSA8bGludXgv ZG1hLW1hcHBpbmcuaD4KPiAtI2luY2x1ZGUgPGFzbS9wYWdlLmg+Cj4gICNpbmNsdWRlIDx4ZW4v YXJtL3BhZ2UtY29oZXJlbnQuaD4KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCAqeGVuX2FsbG9j X2NvaGVyZW50X3BhZ2VzKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzaXplX3Qgc2l6ZSwKPiAtCQlk bWFfYWRkcl90ICpkbWFfaGFuZGxlLCBnZnBfdCBmbGFncywgdW5zaWduZWQgbG9uZyBhdHRycykK PiAtewo+IC0JcmV0dXJuIGRtYV9kaXJlY3RfYWxsb2MoaHdkZXYsIHNpemUsIGRtYV9oYW5kbGUs IGZsYWdzLCBhdHRycyk7Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZnJlZV9j b2hlcmVudF9wYWdlcyhzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc2l6ZV90IHNpemUsCj4gLQkJdm9p ZCAqY3B1X2FkZHIsIGRtYV9hZGRyX3QgZG1hX2hhbmRsZSwgdW5zaWduZWQgbG9uZyBhdHRycykK PiAtewo+IC0JZG1hX2RpcmVjdF9mcmVlKGh3ZGV2LCBzaXplLCBjcHVfYWRkciwgZG1hX2hhbmRs ZSwgYXR0cnMpOwo+IC19Cj4gLQo+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+IC17Cj4gLQl1bnNpZ25lZCBsb25nIHBhZ2Vf cGZuID0gcGFnZV90b194ZW5fcGZuKHBhZ2UpOwo+IC0JdW5zaWduZWQgbG9uZyBkZXZfcGZuID0g WEVOX1BGTl9ET1dOKGRldl9hZGRyKTsKPiAtCXVuc2lnbmVkIGxvbmcgY29tcG91bmRfcGFnZXMg PQo+IC0JCSgxPDxjb21wb3VuZF9vcmRlcihwYWdlKSkgKiBYRU5fUEZOX1BFUl9QQUdFOwo+IC0J Ym9vbCBsb2NhbCA9IChwYWdlX3BmbiA8PSBkZXZfcGZuKSAmJgo+IC0JCShkZXZfcGZuIC0gcGFn ZV9wZm4gPCBjb21wb3VuZF9wYWdlcyk7Cj4gLQo+IC0JaWYgKGxvY2FsKQo+IC0JCWRtYV9kaXJl Y3RfbWFwX3BhZ2UoaHdkZXYsIHBhZ2UsIG9mZnNldCwgc2l6ZSwgZGlyLCBhdHRycyk7Cj4gLQll bHNlCj4gLQkJX194ZW5fZG1hX21hcF9wYWdlKGh3ZGV2LCBwYWdlLCBkZXZfYWRkciwgb2Zmc2V0 LCBzaXplLCBkaXIsIGF0dHJzKTsKPiAtfQo+IC0KPiAtc3RhdGljIGlubGluZSB2b2lkIHhlbl9k bWFfdW5tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2RldiwgZG1hX2FkZHJfdCBoYW5kbGUsCj4g LQkJc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwgdW5zaWduZWQgbG9u ZyBhdHRycykKPiAtewo+IC0JdW5zaWduZWQgbG9uZyBwZm4gPSBQRk5fRE9XTihoYW5kbGUpOwo+ IC0JLyoKPiAtCSAqIERvbTAgaXMgbWFwcGVkIDE6MSwgd2hpbGUgdGhlIExpbnV4IHBhZ2UgY2Fu IGJlIHNwYW5uZWQgYWNjcm9zcwo+IC0JICogbXVsdGlwbGUgWGVuIHBhZ2UsIGl0J3Mgbm90IHBv c3NpYmxlIHRvIGhhdmUgYSBtaXggb2YgbG9jYWwgYW5kCj4gLQkgKiBmb3JlaWduIFhlbiBwYWdl LiBEb20wIGlzIG1hcHBlZCAxOjEsIHNvIGNhbGxpbmcgcGZuX3ZhbGlkIG9uIGEKPiAtCSAqIGZv cmVpZ24gbWZuIHdpbGwgYWx3YXlzIHJldHVybiBmYWxzZS4gSWYgdGhlIHBhZ2UgaXMgbG9jYWwg d2UgY2FuCj4gLQkgKiBzYWZlbHkgY2FsbCB0aGUgbmF0aXZlIGRtYV9vcHMgZnVuY3Rpb24sIG90 aGVyd2lzZSB3ZSBjYWxsIHRoZSB4ZW4KPiAtCSAqIHNwZWNpZmljIGZ1bmN0aW9uLgo+IC0JICov Cj4gLQlpZiAocGZuX3ZhbGlkKHBmbikpCj4gLQkJZG1hX2RpcmVjdF91bm1hcF9wYWdlKGh3ZGV2 LCBoYW5kbGUsIHNpemUsIGRpciwgYXR0cnMpOwo+IC0JZWxzZQo+IC0JCV9feGVuX2RtYV91bm1h cF9wYWdlKGh3ZGV2LCBoYW5kbGUsIHNpemUsIGRpciwgYXR0cnMpOwo+IC19Cj4gLQo+IC0jZW5k aWYgLyogX0FTTV9BUk02NF9YRU5fUEFHRV9DT0hFUkVOVF9IICovCj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUveGVuL2FybS9wYWdlLWNvaGVyZW50LmggYi9pbmNsdWRlL3hlbi9hcm0vcGFnZS1jb2hl cmVudC5oCj4gaW5kZXggMmNhOTE2NGE3OWJmLi5hODQwZDY5NDlhODcgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS94ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaAo+ICsrKyBiL2luY2x1ZGUveGVuL2FybS9w YWdlLWNvaGVyZW50LmgKPiBAQCAtMiw2ICsyLDkgQEAKPiAgI2lmbmRlZiBfWEVOX0FSTV9QQUdF X0NPSEVSRU5UX0gKPiAgI2RlZmluZSBfWEVOX0FSTV9QQUdFX0NPSEVSRU5UX0gKPiAgCj4gKyNp bmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgo+ICsjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KPiAr Cj4gIHZvaWQgX194ZW5fZG1hX21hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzdHJ1Y3Qg cGFnZSAqcGFnZSwKPiAgCSAgICAgZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBv ZmZzZXQsIHNpemVfdCBzaXplLAo+ICAJICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIs IHVuc2lnbmVkIGxvbmcgYXR0cnMpOwo+IEBAIC0xMyw0ICsxNiw4MSBAQCB2b2lkIF9feGVuX2Rt YV9zeW5jX3NpbmdsZV9mb3JfY3B1KHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+ICB2b2lkIF9feGVu X2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LAo+ICAJCWRt YV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGly KTsKPiAgCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCAqeGVuX2FsbG9jX2NvaGVyZW50X3BhZ2VzKHN0 cnVjdCBkZXZpY2UgKmh3ZGV2LCBzaXplX3Qgc2l6ZSwKPiArCQlkbWFfYWRkcl90ICpkbWFfaGFu ZGxlLCBnZnBfdCBmbGFncywgdW5zaWduZWQgbG9uZyBhdHRycykKPiArewo+ICsJcmV0dXJuIGRt YV9kaXJlY3RfYWxsb2MoaHdkZXYsIHNpemUsIGRtYV9oYW5kbGUsIGZsYWdzLCBhdHRycyk7Cj4g K30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZnJlZV9jb2hlcmVudF9wYWdlcyhzdHJ1 Y3QgZGV2aWNlICpod2Rldiwgc2l6ZV90IHNpemUsCj4gKwkJdm9pZCAqY3B1X2FkZHIsIGRtYV9h ZGRyX3QgZG1hX2hhbmRsZSwgdW5zaWduZWQgbG9uZyBhdHRycykKPiArewo+ICsJZG1hX2RpcmVj dF9mcmVlKGh3ZGV2LCBzaXplLCBjcHVfYWRkciwgZG1hX2hhbmRsZSwgYXR0cnMpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KHN0cnVj dCBkZXZpY2UgKmh3ZGV2LAo+ICsJCWRtYV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51 bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+ICt7Cj4gKwl1bnNpZ25lZCBsb25nIHBmbiA9IFBG Tl9ET1dOKGhhbmRsZSk7Cj4gKwo+ICsJaWYgKHBmbl92YWxpZChwZm4pKQo+ICsJCWRtYV9kaXJl Y3Rfc3luY19zaW5nbGVfZm9yX2NwdShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIpOwo+ICsJZWxz ZQo+ICsJCV9feGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KGh3ZGV2LCBoYW5kbGUsIHNpemUs IGRpcik7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZG1hX3N5bmNfc2luZ2xl X2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCj4gKwkJZG1hX2FkZHJfdCBoYW5kbGUs IHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpCj4gK3sKPiArCXVuc2ln bmVkIGxvbmcgcGZuID0gUEZOX0RPV04oaGFuZGxlKTsKPiArCWlmIChwZm5fdmFsaWQocGZuKSkK PiArCQlkbWFfZGlyZWN0X3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoaHdkZXYsIGhhbmRsZSwgc2l6 ZSwgZGlyKTsKPiArCWVsc2UKPiArCQlfX3hlbl9kbWFfc3luY19zaW5nbGVfZm9yX2RldmljZSho d2RldiwgaGFuZGxlLCBzaXplLCBkaXIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQg eGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc3RydWN0IHBhZ2UgKnBhZ2Us Cj4gKwkgICAgIGRtYV9hZGRyX3QgZGV2X2FkZHIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBzaXpl X3Qgc2l6ZSwKPiArCSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25lZCBs b25nIGF0dHJzKQo+ICt7Cj4gKwl1bnNpZ25lZCBsb25nIHBhZ2VfcGZuID0gcGFnZV90b194ZW5f cGZuKHBhZ2UpOwo+ICsJdW5zaWduZWQgbG9uZyBkZXZfcGZuID0gWEVOX1BGTl9ET1dOKGRldl9h ZGRyKTsKPiArCXVuc2lnbmVkIGxvbmcgY29tcG91bmRfcGFnZXMgPQo+ICsJCSgxPDxjb21wb3Vu ZF9vcmRlcihwYWdlKSkgKiBYRU5fUEZOX1BFUl9QQUdFOwo+ICsJYm9vbCBsb2NhbCA9IChwYWdl X3BmbiA8PSBkZXZfcGZuKSAmJgo+ICsJCShkZXZfcGZuIC0gcGFnZV9wZm4gPCBjb21wb3VuZF9w YWdlcyk7Cj4gKwo+ICsJLyoKPiArCSAqIERvbTAgaXMgbWFwcGVkIDE6MSwgd2hpbGUgdGhlIExp bnV4IHBhZ2UgY2FuIHNwYW4gYWNyb3NzCj4gKwkgKiBtdWx0aXBsZSBYZW4gcGFnZXMsIGl0J3Mg bm90IHBvc3NpYmxlIGZvciBpdCB0byBjb250YWluIGEKPiArCSAqIG1peCBvZiBsb2NhbCBhbmQg Zm9yZWlnbiBYZW4gcGFnZXMuIFNvIGlmIHRoZSBmaXJzdCB4ZW5fcGZuCj4gKwkgKiA9PSBtZm4g dGhlIHBhZ2UgaXMgbG9jYWwgb3RoZXJ3aXNlIGl0J3MgYSBmb3JlaWduIHBhZ2UKPiArCSAqIGdy YW50LW1hcHBlZCBpbiBkb20wLiBJZiB0aGUgcGFnZSBpcyBsb2NhbCB3ZSBjYW4gc2FmZWx5Cj4g KwkgKiBjYWxsIHRoZSBuYXRpdmUgZG1hX29wcyBmdW5jdGlvbiwgb3RoZXJ3aXNlIHdlIGNhbGwg dGhlIHhlbgo+ICsJICogc3BlY2lmaWMgZnVuY3Rpb24uCj4gKwkgKi8KPiArCWlmIChsb2NhbCkK PiArCQlkbWFfZGlyZWN0X21hcF9wYWdlKGh3ZGV2LCBwYWdlLCBvZmZzZXQsIHNpemUsIGRpciwg YXR0cnMpOwo+ICsJZWxzZQo+ICsJCV9feGVuX2RtYV9tYXBfcGFnZShod2RldiwgcGFnZSwgZGV2 X2FkZHIsIG9mZnNldCwgc2l6ZSwgZGlyLCBhdHRycyk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgdm9pZCB4ZW5fZG1hX3VubWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIGRtYV9hZGRy X3QgaGFuZGxlLAo+ICsJCXNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIs IHVuc2lnbmVkIGxvbmcgYXR0cnMpCj4gK3sKPiArCXVuc2lnbmVkIGxvbmcgcGZuID0gUEZOX0RP V04oaGFuZGxlKTsKPiArCS8qCj4gKwkgKiBEb20wIGlzIG1hcHBlZCAxOjEsIHdoaWxlIHRoZSBM aW51eCBwYWdlIGNhbiBiZSBzcGFubmVkIGFjY3Jvc3MKPiArCSAqIG11bHRpcGxlIFhlbiBwYWdl LCBpdCdzIG5vdCBwb3NzaWJsZSB0byBoYXZlIGEgbWl4IG9mIGxvY2FsIGFuZAo+ICsJICogZm9y ZWlnbiBYZW4gcGFnZS4gRG9tMCBpcyBtYXBwZWQgMToxLCBzbyBjYWxsaW5nIHBmbl92YWxpZCBv biBhCj4gKwkgKiBmb3JlaWduIG1mbiB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UuIElmIHRoZSBw YWdlIGlzIGxvY2FsIHdlIGNhbgo+ICsJICogc2FmZWx5IGNhbGwgdGhlIG5hdGl2ZSBkbWFfb3Bz IGZ1bmN0aW9uLCBvdGhlcndpc2Ugd2UgY2FsbCB0aGUgeGVuCj4gKwkgKiBzcGVjaWZpYyBmdW5j dGlvbi4KPiArCSAqLwo+ICsJaWYgKHBmbl92YWxpZChwZm4pKQo+ICsJCWRtYV9kaXJlY3RfdW5t YXBfcGFnZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIsIGF0dHJzKTsKPiArCWVsc2UKPiArCQlf X3hlbl9kbWFfdW5tYXBfcGFnZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIsIGF0dHJzKTsKPiAr fQo+ICsKPiAgI2VuZGlmIC8qIF9YRU5fQVJNX1BBR0VfQ09IRVJFTlRfSCAqLwo+IC0tIAo+IDIu MjAuMQo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==