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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 2889EC3A59F for ; Mon, 26 Aug 2019 12:20:49 +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 E50B0217F5 for ; Mon, 26 Aug 2019 12:20:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="qI6UsAN/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E50B0217F5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de 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 1i2DzA-0006ef-Fj; Mon, 26 Aug 2019 12:20:36 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i2Dz9-0006dr-Ag for xen-devel@lists.xenproject.org; Mon, 26 Aug 2019 12:20:35 +0000 X-Inumbo-ID: dc4ff1ec-c7fb-11e9-b95f-bc764e2007e4 Received: from bombadil.infradead.org (unknown [2607:7c80:54:e::133]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id dc4ff1ec-c7fb-11e9-b95f-bc764e2007e4; Mon, 26 Aug 2019 12:20:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=5kUQsiS3uD467gtrTClN52przkC4y7zDb6aeiBPxt6c=; b=qI6UsAN/Q2x5oEtT7qd8bYZVoJ UQzcQkWOupYPLgWbN8LwVJD8S3SevnpzjD7BP5Wn5gcS+T2/oVSWQSVleFqnJDtLkWfaj/DEAeWgY 5IIciJ7CrKD8eeVo7SgRZR+A11RTts4Zh6hWzi9vjB4pfSnUVwEz52ovKFFTqsAbXWId2pebIK4jm USNlt3Iywysf3K+Zcu/5mR9Ns7CtKYU7Pjts6yeWDuYP+UJ88/GftbgBDpZF5FxeT66CpjbHDxryQ 3i9koRVkc7CJcWLhTLOlVJD63fhdT4339L7ejk0eOZBA8lQuVB1E8+5Z6dL02V4xlTiC4+cZJE4jn o7C1/vhQ==; Received: from clnet-p19-102.ikbnet.co.at ([83.175.77.102] helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1i2Dyi-000388-OG; Mon, 26 Aug 2019 12:20:09 +0000 From: Christoph Hellwig To: Stefano Stabellini , Konrad Rzeszutek Wilk Date: Mon, 26 Aug 2019 14:19:41 +0200 Message-Id: <20190826121944.515-9-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190826121944.515-1-hch@lst.de> References: <20190826121944.515-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Subject: [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: xen-devel@lists.xenproject.org, iommu@lists.linux-foundation.org, x86@kernel.org, linux-kernel@vger.kernel.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" Tm93IHRoYXQgd2Uga25vdyB3ZSBhbHdheXMgaGF2ZSB0aGUgZG1hLW5vbmNvaGVyZW50LmggaGVs cGVycyBhdmFpbGFibGUKaWYgd2UgYXJlIG9uIGFuIGFyY2hpdGVjdHVyZSB3aXRoIHN1cHBvcnQg Zm9yIG5vbi1jb2hlcmVudCBkZXZpY2VzLAp3ZSBjYW4ganVzdCBjYWxsIHRoZW0gZGlyZWN0bHks IGFuZCByZW1vdmUgdGhlIGNhbGxzIHRvIHRoZSBkbWEtZGlyZWN0CnJvdXRpbmVzLCBpbmNsdWRp bmcgdGhlIGZhY3QgdGhhdCB3ZSBjYWxsIHRoZSBkbWFfZGlyZWN0X21hcF9wYWdlCnJvdXRpbmVz IGJ1dCBpZ25vcmUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gaXQuICBJbnN0ZWFkIHdlIG5vdyBo YXZlClhlbiB3cmFwcGVycyBmb3IgdGhlIGFyY2hfc3luY19kbWFfZm9yX3tkZXZpY2UsY3B1fSBo ZWxwZXJzIHRoYXQgY2FsbAp0aGUgc3BlY2lhbCBYZW4gdmVyc2lvbnMgb2YgdGhvc2Ugcm91dGlu ZXMgZm9yIGZvcmVpZ24gcGFnZXMuCgpOb3RlIHRoYXQgdGhlIG5ldyBoZWxwZXJzIGdldCB0aGUg cGh5c2ljYWwgYWRkcmVzcyBwYXNzZWQgaW4gYWRkaXRpb24KdG8gdGhlIGRtYSBhZGRyZXNzIHRv IGF2b2lkIGFub3RoZXIgdHJhbnNsYXRpb24gZm9yIHRoZSBsb2NhbCBjYWNoZQptYWludGFpbmFu Y2UuICBUaGUgcGZuX3ZhbGlkIGNoZWNrcyByZW1haW4gb24gdGhlIGRtYSBhZGRyZXNzIGFzIGlu CnRoZSBvbGQgY29kZSwgZXZlbiBpZiB0aGF0IGxvb2tzIGEgbGl0dGxlIGZ1bm55LgoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+Ci0tLQogYXJjaC9hcm0veGVu L21tLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDY0ICsrKysrKy0tLS0tLS0tLS0tLS0tLS0K IGFyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50LmggfCAxMSAtLS0tCiBkcml2 ZXJzL3hlbi9zd2lvdGxiLXhlbi5jICAgICAgICAgICAgICAgIHwgMjAgKysrLS0tLQogaW5jbHVk ZS94ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaCAgICAgICAgICB8IDY5ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMzMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0veGVuL21tLmMgYi9hcmNoL2FybS94ZW4vbW0uYwpp bmRleCBiN2Q1MzQxNTUzMmIuLjcwOTY2NTJmNWExZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0veGVu L21tLmMKKysrIGIvYXJjaC9hcm0veGVuL21tLmMKQEAgLTYxLDYzICs2MSwzMyBAQCBzdGF0aWMg dm9pZCBkbWFfY2FjaGVfbWFpbnQoZG1hX2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCB1MzIg b3ApCiAJfSB3aGlsZSAoc2l6ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIF9feGVuX2RtYV9wYWdlX2Rl dl90b19jcHUoc3RydWN0IGRldmljZSAqaHdkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAotCQlzaXpl X3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQorLyoKKyAqIERvbTAgaXMgbWFw cGVkIDE6MSwgYW5kIHdoaWxlIHRoZSBMaW51eCBwYWdlIGNhbiBzcGFuIGFjcm9zcyBtdWx0aXBs ZSBYZW4KKyAqIHBhZ2VzLCBpdCBpcyBub3QgcG9zc2libGUgZm9yIGl0IHRvIGNvbnRhaW4gYSBt aXggb2YgbG9jYWwgYW5kIGZvcmVpZ24gWGVuCisgKiBwYWdlcy4gIENhbGxpbmcgcGZuX3ZhbGlk IG9uIGEgZm9yZWlnbiBtZm4gd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlLCBzbyBpZgorICogcGZu X3ZhbGlkIHJldHVybnMgdHJ1ZSB0aGUgcGFnZXMgaXMgbG9jYWwgYW5kIHdlIGNhbiB1c2UgdGhl IG5hdGl2ZQorICogZG1hLWRpcmVjdCBmdW5jdGlvbnMsIG90aGVyd2lzZSB3ZSBjYWxsIHRoZSBY ZW4gc3BlY2lmaWMgdmVyc2lvbi4KKyAqLwordm9pZCB4ZW5fZG1hX3N5bmNfZm9yX2NwdShzdHJ1 Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAorCQlwaHlzX2FkZHJfdCBwYWRkciwg c2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKIHsKLQlpZiAoZGlyICE9 IERNQV9UT19ERVZJQ0UpCisJaWYgKHBmbl92YWxpZChQRk5fRE9XTihoYW5kbGUpKSkKKwkJYXJj aF9zeW5jX2RtYV9mb3JfY3B1KGRldiwgcGFkZHIsIHNpemUsIGRpcik7CisJZWxzZSBpZiAoZGly ICE9IERNQV9UT19ERVZJQ0UpCiAJCWRtYV9jYWNoZV9tYWludChoYW5kbGUsIHNpemUsIEdOVFRB Ql9DQUNIRV9JTlZBTCk7CiB9CiAKLXN0YXRpYyB2b2lkIF9feGVuX2RtYV9wYWdlX2NwdV90b19k ZXYoc3RydWN0IGRldmljZSAqaHdkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAotCQlzaXplX3Qgc2l6 ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQordm9pZCB4ZW5fZG1hX3N5bmNfZm9yX2Rl dmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgaGFuZGxlLAorCQlwaHlzX2FkZHJf dCBwYWRkciwgc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKIHsKLQlp ZiAoZGlyID09IERNQV9GUk9NX0RFVklDRSkKKwlpZiAocGZuX3ZhbGlkKFBGTl9ET1dOKGhhbmRs ZSkpKQorCQlhcmNoX3N5bmNfZG1hX2Zvcl9kZXZpY2UoZGV2LCBwYWRkciwgc2l6ZSwgZGlyKTsK KwllbHNlIGlmIChkaXIgPT0gRE1BX0ZST01fREVWSUNFKQogCQlkbWFfY2FjaGVfbWFpbnQoaGFu ZGxlLCBzaXplLCBHTlRUQUJfQ0FDSEVfSU5WQUwpOwogCWVsc2UKIAkJZG1hX2NhY2hlX21haW50 KGhhbmRsZSwgc2l6ZSwgR05UVEFCX0NBQ0hFX0NMRUFOKTsKIH0KIAotdm9pZCBfX3hlbl9kbWFf bWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCSAgICAg ZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemVfdCBzaXplLAot CSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25lZCBsb25nIGF0dHJzKQot ewotCWlmIChkZXZfaXNfZG1hX2NvaGVyZW50KGh3ZGV2KSkKLQkJcmV0dXJuOwotCWlmIChhdHRy cyAmIERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMpCi0JCXJldHVybjsKLQotCV9feGVuX2RtYV9wYWdl X2NwdV90b19kZXYoaHdkZXYsIGRldl9hZGRyLCBzaXplLCBkaXIpOwotfQotCi12b2lkIF9feGVu X2RtYV91bm1hcF9wYWdlKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwK LQkJc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwKLQkJdW5zaWduZWQg bG9uZyBhdHRycykKLQotewotCWlmIChkZXZfaXNfZG1hX2NvaGVyZW50KGh3ZGV2KSkKLQkJcmV0 dXJuOwotCWlmIChhdHRycyAmIERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMpCi0JCXJldHVybjsKLQot CV9feGVuX2RtYV9wYWdlX2Rldl90b19jcHUoaHdkZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsKLX0K LQotdm9pZCBfX3hlbl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShzdHJ1Y3QgZGV2aWNlICpod2Rl diwKLQkJZG1hX2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVj dGlvbiBkaXIpCi17Ci0JaWYgKGRldl9pc19kbWFfY29oZXJlbnQoaHdkZXYpKQotCQlyZXR1cm47 Ci0JX194ZW5fZG1hX3BhZ2VfZGV2X3RvX2NwdShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIpOwot fQotCi12b2lkIF9feGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfZGV2aWNlKHN0cnVjdCBkZXZpY2Ug Kmh3ZGV2LAotCQlkbWFfYWRkcl90IGhhbmRsZSwgc2l6ZV90IHNpemUsIGVudW0gZG1hX2RhdGFf ZGlyZWN0aW9uIGRpcikKLXsKLQlpZiAoZGV2X2lzX2RtYV9jb2hlcmVudChod2RldikpCi0JCXJl dHVybjsKLQlfX3hlbl9kbWFfcGFnZV9jcHVfdG9fZGV2KGh3ZGV2LCBoYW5kbGUsIHNpemUsIGRp cik7Ci19Ci0KIGJvb2wgeGVuX2FyY2hfbmVlZF9zd2lvdGxiKHN0cnVjdCBkZXZpY2UgKmRldiwK IAkJCSAgIHBoeXNfYWRkcl90IHBoeXMsCiAJCQkgICBkbWFfYWRkcl90IGRldl9hZGRyKQpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaCBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNvaGVyZW50LmgKaW5kZXggOGVlMzNjNWVkZGVkLi5j OWM4Mzk4YTMxZmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9wYWdlLWNv aGVyZW50LmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL3BhZ2UtY29oZXJlbnQuaApA QCAtMiwxNyArMiw2IEBACiAjaWZuZGVmIF9BU01fWDg2X1hFTl9QQUdFX0NPSEVSRU5UX0gKICNk ZWZpbmUgX0FTTV9YODZfWEVOX1BBR0VfQ09IRVJFTlRfSAogCi0jaW5jbHVkZSA8YXNtL3BhZ2Uu aD4KLSNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgotCi1zdGF0aWMgaW5saW5lIHZvaWQg eGVuX2RtYV9tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2Rldiwgc3RydWN0IHBhZ2UgKnBhZ2Us Ci0JICAgICBkbWFfYWRkcl90IGRldl9hZGRyLCB1bnNpZ25lZCBsb25nIG9mZnNldCwgc2l6ZV90 IHNpemUsCi0JICAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVuc2lnbmVkIGxvbmcg YXR0cnMpIHsgfQotCi1zdGF0aWMgaW5saW5lIHZvaWQgeGVuX2RtYV91bm1hcF9wYWdlKHN0cnVj dCBkZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwKLQkJc2l6ZV90IHNpemUsIGVudW0g ZG1hX2RhdGFfZGlyZWN0aW9uIGRpciwKLQkJdW5zaWduZWQgbG9uZyBhdHRycykgeyB9Ci0KIHN0 YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoc3RydWN0IGRldmlj ZSAqaHdkZXYsCiAJCWRtYV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0 YV9kaXJlY3Rpb24gZGlyKSB7IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vc3dpb3RsYi14 ZW4uYyBiL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMKaW5kZXggZjlkZDRjYjZlNGIzLi5hNjQy ZTI4NGYxZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3N3aW90bGIteGVuLmMKKysrIGIvZHJp dmVycy94ZW4vc3dpb3RsYi14ZW4uYwpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSA8bGlu dXgvbWVtYmxvY2suaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtZGlyZWN0Lmg+CisjaW5jbHVkZSA8 bGludXgvZG1hLW5vbmNvaGVyZW50Lmg+CiAjaW5jbHVkZSA8bGludXgvZXhwb3J0Lmg+CiAjaW5j bHVkZSA8eGVuL3N3aW90bGIteGVuLmg+CiAjaW5jbHVkZSA8eGVuL3BhZ2UuaD4KQEAgLTM5MCw2 ICszOTEsNyBAQCBzdGF0aWMgZG1hX2FkZHJfdCB4ZW5fc3dpb3RsYl9tYXBfcGFnZShzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAogCWlmIChtYXAgPT0gKHBoeXNfYWRkcl90 KURNQV9NQVBQSU5HX0VSUk9SKQogCQlyZXR1cm4gRE1BX01BUFBJTkdfRVJST1I7CiAKKwlwaHlz ID0gbWFwOwogCWRldl9hZGRyID0geGVuX3BoeXNfdG9fYnVzKG1hcCk7CiAKIAkvKgpAQCAtNDAx LDE0ICs0MDMsOSBAQCBzdGF0aWMgZG1hX2FkZHJfdCB4ZW5fc3dpb3RsYl9tYXBfcGFnZShzdHJ1 Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAogCQlyZXR1cm4gRE1BX01BUFBJTkdf RVJST1I7CiAJfQogCi0JcGFnZSA9IHBmbl90b19wYWdlKG1hcCA+PiBQQUdFX1NISUZUKTsKLQlv ZmZzZXQgPSBtYXAgJiB+UEFHRV9NQVNLOwogZG9uZToKLQkvKgotCSAqIHdlIGFyZSBub3QgaW50 ZXJlc3RlZCBpbiB0aGUgZG1hX2FkZHIgcmV0dXJuZWQgYnkgeGVuX2RtYV9tYXBfcGFnZSwKLQkg KiBvbmx5IGluIHRoZSBwb3RlbnRpYWwgY2FjaGUgZmx1c2hlcyBleGVjdXRlZCBieSB0aGUgZnVu Y3Rpb24uCi0JICovCi0JeGVuX2RtYV9tYXBfcGFnZShkZXYsIHBhZ2UsIGRldl9hZGRyLCBvZmZz ZXQsIHNpemUsIGRpciwgYXR0cnMpOworCWlmICghZGV2X2lzX2RtYV9jb2hlcmVudChkZXYpICYm ICEoYXR0cnMgJiBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKSkKKwkJeGVuX2RtYV9zeW5jX2Zvcl9k ZXZpY2UoZGV2LCBkZXZfYWRkciwgcGh5cywgc2l6ZSwgZGlyKTsKIAlyZXR1cm4gZGV2X2FkZHI7 CiB9CiAKQEAgLTQyOCw3ICs0MjUsOCBAQCBzdGF0aWMgdm9pZCB4ZW5fdW5tYXBfc2luZ2xlKHN0 cnVjdCBkZXZpY2UgKmh3ZGV2LCBkbWFfYWRkcl90IGRldl9hZGRyLAogCiAJQlVHX09OKGRpciA9 PSBETUFfTk9ORSk7CiAKLQl4ZW5fZG1hX3VubWFwX3BhZ2UoaHdkZXYsIGRldl9hZGRyLCBzaXpl LCBkaXIsIGF0dHJzKTsKKwlpZiAoIWRldl9pc19kbWFfY29oZXJlbnQoaHdkZXYpICYmICEoYXR0 cnMgJiBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKSkKKwkJeGVuX2RtYV9zeW5jX2Zvcl9jcHUoaHdk ZXYsIGRldl9hZGRyLCBwYWRkciwgc2l6ZSwgZGlyKTsKIAogCS8qIE5PVEU6IFdlIHVzZSBkZXZf YWRkciBoZXJlLCBub3QgcGFkZHIhICovCiAJaWYgKGlzX3hlbl9zd2lvdGxiX2J1ZmZlcihkZXZf YWRkcikpCkBAIC00NDgsNyArNDQ2LDggQEAgeGVuX3N3aW90bGJfc3luY19zaW5nbGVfZm9yX2Nw dShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9hZGRyX3QgZG1hX2FkZHIsCiB7CiAJcGh5c19hZGRy X3QgcGFkZHIgPSB4ZW5fYnVzX3RvX3BoeXMoZG1hX2FkZHIpOwogCi0JeGVuX2RtYV9zeW5jX3Np bmdsZV9mb3JfY3B1KGRldiwgZG1hX2FkZHIsIHNpemUsIGRpcik7CisJaWYgKCFkZXZfaXNfZG1h X2NvaGVyZW50KGRldikpCisJCXhlbl9kbWFfc3luY19mb3JfY3B1KGRldiwgZG1hX2FkZHIsIHBh ZGRyLCBzaXplLCBkaXIpOwogCiAJaWYgKGlzX3hlbl9zd2lvdGxiX2J1ZmZlcihkbWFfYWRkcikp CiAJCXN3aW90bGJfdGJsX3N5bmNfc2luZ2xlKGRldiwgcGFkZHIsIHNpemUsIGRpciwgU1lOQ19G T1JfQ1BVKTsKQEAgLTQ2Myw3ICs0NjIsOCBAQCB4ZW5fc3dpb3RsYl9zeW5jX3NpbmdsZV9mb3Jf ZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldiwgZG1hX2FkZHJfdCBkbWFfYWRkciwKIAlpZiAoaXNf eGVuX3N3aW90bGJfYnVmZmVyKGRtYV9hZGRyKSkKIAkJc3dpb3RsYl90Ymxfc3luY19zaW5nbGUo ZGV2LCBwYWRkciwgc2l6ZSwgZGlyLCBTWU5DX0ZPUl9ERVZJQ0UpOwogCi0JeGVuX2RtYV9zeW5j X3NpbmdsZV9mb3JfZGV2aWNlKGRldiwgZG1hX2FkZHIsIHNpemUsIGRpcik7CisJaWYgKCFkZXZf aXNfZG1hX2NvaGVyZW50KGRldikpCisJCXhlbl9kbWFfc3luY19mb3JfZGV2aWNlKGRldiwgZG1h X2FkZHIsIHBhZGRyLCBzaXplLCBkaXIpOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94 ZW4vYXJtL3BhZ2UtY29oZXJlbnQuaCBiL2luY2x1ZGUveGVuL2FybS9wYWdlLWNvaGVyZW50LmgK aW5kZXggMDdjMTA0ZGJjMjFmLi42MzU0OTJkNDFlYmUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVu L2FybS9wYWdlLWNvaGVyZW50LmgKKysrIGIvaW5jbHVkZS94ZW4vYXJtL3BhZ2UtY29oZXJlbnQu aApAQCAtMiw3MCArMiw5IEBACiAjaWZuZGVmIF9YRU5fQVJNX1BBR0VfQ09IRVJFTlRfSAogI2Rl ZmluZSBfWEVOX0FSTV9QQUdFX0NPSEVSRU5UX0gKIAotI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBw aW5nLmg+Ci0jaW5jbHVkZSA8YXNtL3BhZ2UuaD4KLQotdm9pZCBfX3hlbl9kbWFfbWFwX3BhZ2Uo c3RydWN0IGRldmljZSAqaHdkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCSAgICAgZG1hX2FkZHJf dCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemVfdCBzaXplLAotCSAgICAgZW51 bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25lZCBsb25nIGF0dHJzKTsKLXZvaWQgX194 ZW5fZG1hX3VubWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIGRtYV9hZGRyX3QgaGFuZGxl LAotCQlzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLAotCQl1bnNpZ25l ZCBsb25nIGF0dHJzKTsKLXZvaWQgX194ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9jcHUoc3RydWN0 IGRldmljZSAqaHdkZXYsCi0JCWRtYV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBk bWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKLXZvaWQgX194ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9k ZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCi0JCWRtYV9hZGRyX3QgaGFuZGxlLCBzaXplX3Qg c2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKLQotc3RhdGljIGlubGluZSB2b2lk IHhlbl9kbWFfc3luY19zaW5nbGVfZm9yX2NwdShzdHJ1Y3QgZGV2aWNlICpod2RldiwKLQkJZG1h X2FkZHJfdCBoYW5kbGUsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIp Ci17Ci0JdW5zaWduZWQgbG9uZyBwZm4gPSBQRk5fRE9XTihoYW5kbGUpOwotCi0JaWYgKHBmbl92 YWxpZChwZm4pKQotCQlkbWFfZGlyZWN0X3N5bmNfc2luZ2xlX2Zvcl9jcHUoaHdkZXYsIGhhbmRs ZSwgc2l6ZSwgZGlyKTsKLQllbHNlCi0JCV9feGVuX2RtYV9zeW5jX3NpbmdsZV9mb3JfY3B1KGh3 ZGV2LCBoYW5kbGUsIHNpemUsIGRpcik7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZG1h X3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2Uoc3RydWN0IGRldmljZSAqaHdkZXYsCi0JCWRtYV9hZGRy X3QgaGFuZGxlLCBzaXplX3Qgc2l6ZSwgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQotewot CXVuc2lnbmVkIGxvbmcgcGZuID0gUEZOX0RPV04oaGFuZGxlKTsKLQlpZiAocGZuX3ZhbGlkKHBm bikpCi0JCWRtYV9kaXJlY3Rfc3luY19zaW5nbGVfZm9yX2RldmljZShod2RldiwgaGFuZGxlLCBz aXplLCBkaXIpOwotCWVsc2UKLQkJX194ZW5fZG1hX3N5bmNfc2luZ2xlX2Zvcl9kZXZpY2UoaHdk ZXYsIGhhbmRsZSwgc2l6ZSwgZGlyKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIHhlbl9kbWFf bWFwX3BhZ2Uoc3RydWN0IGRldmljZSAqaHdkZXYsIHN0cnVjdCBwYWdlICpwYWdlLAotCSAgICAg ZG1hX2FkZHJfdCBkZXZfYWRkciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHNpemVfdCBzaXplLAot CSAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyLCB1bnNpZ25lZCBsb25nIGF0dHJzKQot ewotCXVuc2lnbmVkIGxvbmcgcGZuID0gUEZOX0RPV04oZGV2X2FkZHIpOwotCi0JLyoKLQkgKiBE b20wIGlzIG1hcHBlZCAxOjEsIGFuZCB3aGlsZSB0aGUgTGludXggcGFnZSBjYW4gc3BhbiBhY3Jv c3MgbXVsdGlwbGUKLQkgKiBYZW4gcGFnZXMsIGl0IGlzIG5vdCBwb3NzaWJsZSBmb3IgaXQgdG8g Y29udGFpbiBhIG1peCBvZiBsb2NhbCBhbmQKLQkgKiBmb3JlaWduIFhlbiBwYWdlcy4gIENhbGxp bmcgcGZuX3ZhbGlkIG9uIGEgZm9yZWlnbiBtZm4gd2lsbCBhbHdheXMKLQkgKiByZXR1cm4gZmFs c2UsIHNvIGlmIHBmbl92YWxpZCByZXR1cm5zIHRydWUgdGhlIHBhZ2VzIGlzIGxvY2FsIGFuZCB3 ZQotCSAqIGNhbiB1c2UgdGhlIG5hdGl2ZSBkbWEtZGlyZWN0IGZ1bmN0aW9ucywgb3RoZXJ3aXNl IHdlIGNhbGwgdGhlIFhlbgotCSAqIHNwZWNpZmljIHZlcnNpb24uCi0JICovCi0JaWYgKHBmbl92 YWxpZChwZm4pKQotCQlkbWFfZGlyZWN0X21hcF9wYWdlKGh3ZGV2LCBwYWdlLCBvZmZzZXQsIHNp emUsIGRpciwgYXR0cnMpOwotCWVsc2UKLQkJX194ZW5fZG1hX21hcF9wYWdlKGh3ZGV2LCBwYWdl LCBkZXZfYWRkciwgb2Zmc2V0LCBzaXplLCBkaXIsIGF0dHJzKTsKLX0KLQotc3RhdGljIGlubGlu ZSB2b2lkIHhlbl9kbWFfdW5tYXBfcGFnZShzdHJ1Y3QgZGV2aWNlICpod2RldiwgZG1hX2FkZHJf dCBoYW5kbGUsCi0JCXNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIsIHVu c2lnbmVkIGxvbmcgYXR0cnMpCi17Ci0JdW5zaWduZWQgbG9uZyBwZm4gPSBQRk5fRE9XTihoYW5k bGUpOwotCi0JaWYgKHBmbl92YWxpZChwZm4pKQotCQlkbWFfZGlyZWN0X3VubWFwX3BhZ2UoaHdk ZXYsIGhhbmRsZSwgc2l6ZSwgZGlyLCBhdHRycyk7Ci0JZWxzZQotCQlfX3hlbl9kbWFfdW5tYXBf cGFnZShod2RldiwgaGFuZGxlLCBzaXplLCBkaXIsIGF0dHJzKTsKLX0KK3ZvaWQgeGVuX2RtYV9z eW5jX2Zvcl9jcHUoc3RydWN0IGRldmljZSAqZGV2LCBkbWFfYWRkcl90IGhhbmRsZSwKKwkJcGh5 c19hZGRyX3QgcGFkZHIsIHNpemVfdCBzaXplLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIp Owordm9pZCB4ZW5fZG1hX3N5bmNfZm9yX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYsIGRtYV9h ZGRyX3QgaGFuZGxlLAorCQlwaHlzX2FkZHJfdCBwYWRkciwgc2l6ZV90IHNpemUsIGVudW0gZG1h X2RhdGFfZGlyZWN0aW9uIGRpcik7CiAKICNlbmRpZiAvKiBfWEVOX0FSTV9QQUdFX0NPSEVSRU5U X0ggKi8KLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=