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 E6B28ECE58E for ; Thu, 10 Oct 2019 11:04:31 +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 A811120B7C for ; Thu, 10 Oct 2019 11:04:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="R0Pf56u4" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A811120B7C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=citrix.com 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 1iIWEp-0006yf-CJ; Thu, 10 Oct 2019 11:04:07 +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 1iIWEn-0006xq-TZ for xen-devel@lists.xenproject.org; Thu, 10 Oct 2019 11:04:05 +0000 X-Inumbo-ID: abded814-eb4d-11e9-9800-12813bfff9fa Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id abded814-eb4d-11e9-9800-12813bfff9fa; Thu, 10 Oct 2019 11:04:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1570705444; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=VJ+eNzJg3w6G9LgrbYkzOMKvORC0WkpX/C+Ntg/gB28=; b=R0Pf56u45rMIebFgvYc3d80HdPWEdMq660rfxagtuXfblNdqMotEVVOd H95RQNOKKqHAwwVWPhd5O1VxR7sQ4+DYL0H5jjSQQKWEPrQQX+VPJhBh9 l1OsSeewrgogcBQHG4WJkSPZbRZwxQwxI00PHkp4OvhruQZWB4aP2yASx M=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa3.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa3.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa3.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: mF1CA1AWAbHUHk4MlTKuqzGUAsELROpk4KzZ60p5x0ipNdshNZz76ayx8ydzkiCF6Oe9Y5oNBu TYIjjbC0vgd+6N0a2sMyN79n+Y2uxSbYGZ4W+uns/c5af7U5nNMAfOG1LCaNYgwK3E7TJrRKbO c9pG4EAwzbDCnYtgEUTCQnie6Gk4e96vp6H4g+79AviPmzgiH/1Rmw28R9AOYuT3RSIDelI6q3 rE9Bpgls6selSdFKYQDk9+DgjUewe6wyyoUvJWFAweSI6SPziWwATJ8PteJiIJoW6VWddO4hC+ S9U= X-SBRS: 2.7 X-MesageID: 6708681 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.67,279,1566878400"; d="scan'208";a="6708681" From: Roger Pau Monne To: Date: Thu, 10 Oct 2019 13:03:39 +0200 Message-ID: <20191010110339.6447-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191010110339.6447-1-roger.pau@citrix.com> References: <20191010110339.6447-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/2] iommu: translate IO-APIC pins when enabling interrupt remapping 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: Juergen Gross , Suravee Suthikulpanit , Wei Liu , Andrew Cooper , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gSW50ZWwgaGFyZHdhcmUgdGhlcmUncyBjdXJyZW50bHkgbm8gdHJhbnNsYXRpb24gb2YgYWxy ZWFkeSBlbmFibGVkCklPLUFQSUMgcGlucyB3aGVuIGludGVycnVwdCByZW1hcHBpbmcgaXMgZW5h YmxlZCBvbiB0aGUgSU9NTVUsIGhlbmNlCmludHJvZHVjZSBhIGxvZ2ljIHNpbWlsYXIgdG8gdGhl IG9uZSB1c2VkIGluIHgyYXBpY19ic3Bfc2V0dXAgaW4gb3JkZXIKdG8gc2F2ZSBhbmQgbWFzayBh bGwgSU8tQVBJQyBwaW5zLCBhbmQgdGhlbiB0cmFuc2xhdGUgYW5kIHJlc3RvcmUgdGhlbQphZnRl ciBpbnRlcnJ1cHQgcmVtYXBwaW5nIGhhcyBiZWVuIGVuYWJsZWQuCgpXaXRoIHRoaXMgY2hhbmdl IHRoZSBBTUQgc3BlY2lmaWMgbG9naWMgdG8gZGVhbCB3aXRoIGVuYWJsZWQgcGlucwooYW1kX2lv bW11X3NldHVwX2lvYXBpY19yZW1hcHBpbmcpIGNhbiBiZSByZW1vdmVkLCB0aHVzIHVuaWZ5aW5n IHRoZQpoYW5kbGluZyBvZiBJTy1BUElDIHdoZW4gZW5hYmxpbmcgaW50ZXJydXB0IHJlbWFwcGlu ZyByZWdhcmRsZXNzIG9mCnRoZSBJT01NVSB2ZW5kb3IuCgpSZXBvcnRlZC1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1 IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSnVlcmdlbiBHcm9zcyA8amdy b3NzQHN1c2UuY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0 LmMgICAgICB8IDExICsrLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2ludHIu YyAgICAgIHwgOTAgKy0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv eDg2L2lvbW11LmMgICAgICAgICAgIHwgMzQgKysrKysrLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vc3ZtL2FtZC1pb21tdS1wcm90by5oIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNl cnRpb25zKCspLCA5NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lv bW11X2luaXQuYwppbmRleCA2ZjUzYzdlYzA4Li4zYzI0NDYxOWI5IDEwMDY0NAotLS0gYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKQEAgLTE5LDYgKzE5LDcgQEAKIAogI2luY2x1ZGUg PHhlbi9lcnJuby5oPgogI2luY2x1ZGUgPHhlbi9hY3BpLmg+CisjaW5jbHVkZSA8eGVuL2tleWhh bmRsZXIuaD4KICNpbmNsdWRlIDx4ZW4vcGNpLmg+CiAjaW5jbHVkZSA8eGVuL3BjaV9yZWdzLmg+ CiAjaW5jbHVkZSA8eGVuL2lycS5oPgpAQCAtMTQzNSwxMiArMTQzNiw2IEBAIGludCBfX2luaXQg YW1kX2lvbW11X2luaXQoYm9vbCB4dCkKICAgICBpZiAoIHJjICkKICAgICAgICAgZ290byBlcnJv cl9vdXQ7CiAKLSAgICAvKiBpbml0aWFsaXplIGlvLWFwaWMgaW50ZXJydXB0IHJlbWFwcGluZyBl bnRyaWVzICovCi0gICAgaWYgKCBpb21tdV9pbnRyZW1hcCApCi0gICAgICAgIHJjID0gYW1kX2lv bW11X3NldHVwX2lvYXBpY19yZW1hcHBpbmcoKTsKLSAgICBpZiAoIHJjICkKLSAgICAgICAgZ290 byBlcnJvcl9vdXQ7Ci0KICAgICAvKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBkZXZpY2UgdGFi bGUocykuICovCiAgICAgcGNpX2luaXQgPSAheHQ7CiAgICAgcmMgPSBpdGVyYXRlX2l2cnNfbWFw cGluZ3MoYW1kX2lvbW11X3NldHVwX2RldmljZV90YWJsZSk7CkBAIC0xNDY5LDYgKzE0NjQsMTAg QEAgaW50IF9faW5pdCBhbWRfaW9tbXVfaW5pdChib29sIHh0KQogICAgICAgICAgICAgZ290byBl cnJvcl9vdXQ7CiAgICAgfQogCisgICAgaWYgKCBpb21tdV9pbnRyZW1hcCApCisgICAgICAgIHJl Z2lzdGVyX2tleWhhbmRsZXIoJ1YnLCAmYW1kX2lvbW11X2R1bXBfaW50cmVtYXBfdGFibGVzLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkdW1wIElPTU1VIGludHJlbWFwIHRhYmxlcyIs IDApOworCiAgICAgcmV0dXJuIDA7CiAKIGVycm9yX291dDoKZGlmZiAtLWdpdCBhL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbnRyLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hbWQvaW9tbXVfaW50ci5jCmluZGV4IGZiNzEwNzNjODQuLjFlZWQ2MGYyNjUgMTAwNjQ0Ci0t LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbnRyLmMKKysrIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2ludHIuYwpAQCAtMjEsNyArMjEsNiBAQAogI2lu Y2x1ZGUgPGFzbS9hbWQtaW9tbXUuaD4KICNpbmNsdWRlIDxhc20vaHZtL3N2bS9hbWQtaW9tbXUt cHJvdG8uaD4KICNpbmNsdWRlIDxhc20vaW9fYXBpYy5oPgotI2luY2x1ZGUgPHhlbi9rZXloYW5k bGVyLmg+CiAjaW5jbHVkZSA8eGVuL3NvZnRpcnEuaD4KIAogdW5pb24gaXJ0ZTMyIHsKQEAgLTc5 LDggKzc4LDYgQEAgdW5zaWduZWQgbG9uZyAqc2hhcmVkX2ludHJlbWFwX2ludXNlOwogc3RhdGlj IERFRklORV9TUElOTE9DSyhzaGFyZWRfaW50cmVtYXBfbG9jayk7CiB1bnNpZ25lZCBpbnQgbnJf aW9hcGljX3NiZGY7CiAKLXN0YXRpYyB2b2lkIGR1bXBfaW50cmVtYXBfdGFibGVzKHVuc2lnbmVk IGNoYXIga2V5KTsKLQogI2RlZmluZSBpbnRyZW1hcF9wYWdlX29yZGVyKGlydCkgUEZOX09SREVS KHZpcnRfdG9fcGFnZShpcnQpKQogCiB1bnNpZ25lZCBpbnQgYW1kX2lvbW11X2ludHJlbWFwX3Rh YmxlX29yZGVyKApAQCAtMzU0LDkxICszNTEsNiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9pbnRyZW1h cF9lbnRyeV9mcm9tX2lvYXBpYygKICAgICByZXR1cm4gMDsKIH0KIAotaW50IF9faW5pdCBhbWRf aW9tbXVfc2V0dXBfaW9hcGljX3JlbWFwcGluZyh2b2lkKQotewotICAgIHN0cnVjdCBJT19BUElD X3JvdXRlX2VudHJ5IHJ0ZTsKLSAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwotICAgIHVuaW9uIGly dGVfcHRyIGVudHJ5OwotICAgIGludCBhcGljLCBwaW47Ci0gICAgdTggZGVsaXZlcnlfbW9kZSwg ZGVzdCwgdmVjdG9yLCBkZXN0X21vZGU7Ci0gICAgdTE2IHNlZywgYmRmLCByZXFfaWQ7Ci0gICAg c3RydWN0IGFtZF9pb21tdSAqaW9tbXU7Ci0gICAgc3BpbmxvY2tfdCAqbG9jazsKLSAgICB1bnNp Z25lZCBpbnQgb2Zmc2V0OwotCi0gICAgLyogUmVhZCBpb2FwaWMgZW50cmllcyBhbmQgdXBkYXRl IGludGVycnVwdCByZW1hcHBpbmcgdGFibGUgYWNjb3JkaW5nbHkgKi8KLSAgICBmb3IgKCBhcGlj ID0gMDsgYXBpYyA8IG5yX2lvYXBpY3M7IGFwaWMrKyApCi0gICAgewotICAgICAgICBmb3IgKCBw aW4gPSAwOyBwaW4gPCBucl9pb2FwaWNfZW50cmllc1thcGljXTsgcGluKysgKQotICAgICAgICB7 Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgaWR4OwotCi0gICAgICAgICAgICBydGUgPSBfX2lv YXBpY19yZWFkX2VudHJ5KGFwaWMsIHBpbiwgMSk7Ci0gICAgICAgICAgICBpZiAoIHJ0ZS5tYXNr ID09IDEgKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICAvKiBnZXQg ZGV2aWNlIGlkIG9mIGlvYXBpYyBkZXZpY2VzICovCi0gICAgICAgICAgICBpZHggPSBpb2FwaWNf aWRfdG9faW5kZXgoSU9fQVBJQ19JRChhcGljKSk7Ci0gICAgICAgICAgICBpZiAoIGlkeCA9PSBN QVhfSU9fQVBJQ1MgKQotICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwotCi0gICAgICAg ICAgICBiZGYgPSBpb2FwaWNfc2JkZltpZHhdLmJkZjsKLSAgICAgICAgICAgIHNlZyA9IGlvYXBp Y19zYmRmW2lkeF0uc2VnOwotICAgICAgICAgICAgaW9tbXUgPSBmaW5kX2lvbW11X2Zvcl9kZXZp Y2Uoc2VnLCBiZGYpOwotICAgICAgICAgICAgaWYgKCAhaW9tbXUgKQotICAgICAgICAgICAgewot ICAgICAgICAgICAgICAgIEFNRF9JT01NVV9ERUJVRygiRmFpbCB0byBmaW5kIGlvbW11IGZvciBp b2FwaWMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGV2aWNlIGlkID0gJTA0 eDolMDR4XG4iLCBzZWcsIGJkZik7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg ICAgICB9Ci0KLSAgICAgICAgICAgIHJlcV9pZCA9IGdldF9pbnRyZW1hcF9yZXF1ZXN0b3JfaWQo aW9tbXUtPnNlZywgYmRmKTsKLSAgICAgICAgICAgIGxvY2sgPSBnZXRfaW50cmVtYXBfbG9jayhp b21tdS0+c2VnLCByZXFfaWQpOwotCi0gICAgICAgICAgICBkZWxpdmVyeV9tb2RlID0gcnRlLmRl bGl2ZXJ5X21vZGU7Ci0gICAgICAgICAgICB2ZWN0b3IgPSBydGUudmVjdG9yOwotICAgICAgICAg ICAgZGVzdF9tb2RlID0gcnRlLmRlc3RfbW9kZTsKLSAgICAgICAgICAgIGRlc3QgPSBydGUuZGVz dC5sb2dpY2FsLmxvZ2ljYWxfZGVzdDsKLQotICAgICAgICAgICAgaWYgKCBpb21tdS0+Y3RybC54 dF9lbiApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAg ICAgKiBJbiB4MkFQSUMgbW9kZSB3ZSBoYXZlIG5vIHdheSBvZiBkaXNjb3ZlcmluZyB0aGUgaGln aCAyNAotICAgICAgICAgICAgICAgICAqIGJpdHMgb2YgdGhlIGRlc3RpbmF0aW9uIG9mIGFuIGFs cmVhZHkgZW5hYmxlZCBpbnRlcnJ1cHQuCi0gICAgICAgICAgICAgICAgICogV2UgY29tZSBoZXJl IGVhcmxpZXIgdGhhbiBmb3IgeEFQSUMgbW9kZSwgc28gbm8gaW50ZXJydXB0cwotICAgICAgICAg ICAgICAgICAqIHNob3VsZCBoYXZlIGJlZW4gc2V0IHVwIGJlZm9yZS4KLSAgICAgICAgICAgICAg ICAgKi8KLSAgICAgICAgICAgICAgICBBTURfSU9NTVVfREVCVUcoIlVubWFza2VkIElPLUFQSUMj JXUgZW50cnkgJXUgaW4geDJBUElDIG1vZGVcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElPX0FQSUNfSUQoYXBpYyksIHBpbik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg ICAgIHNwaW5fbG9ja19pcnFzYXZlKGxvY2ssIGZsYWdzKTsKLSAgICAgICAgICAgIG9mZnNldCA9 IGFsbG9jX2ludHJlbWFwX2VudHJ5KGlvbW11LCByZXFfaWQsIDEpOwotICAgICAgICAgICAgQlVH X09OKG9mZnNldCA+PSBJTlRSRU1BUF9NQVhfRU5UUklFUyk7Ci0gICAgICAgICAgICBlbnRyeSA9 IGdldF9pbnRyZW1hcF9lbnRyeShpb21tdSwgcmVxX2lkLCBvZmZzZXQpOwotICAgICAgICAgICAg dXBkYXRlX2ludHJlbWFwX2VudHJ5KGlvbW11LCBlbnRyeSwgdmVjdG9yLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5X21vZGUsIGRlc3RfbW9kZSwgZGVzdCk7Ci0g ICAgICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZsYWdzKTsKLQotICAgICAg ICAgICAgc2V0X3J0ZV9pbmRleCgmcnRlLCBvZmZzZXQpOwotICAgICAgICAgICAgaW9hcGljX3Ni ZGZbaWR4XS5waW5fMl9pZHhbcGluXSA9IG9mZnNldDsKLSAgICAgICAgICAgIF9faW9hcGljX3dy aXRlX2VudHJ5KGFwaWMsIHBpbiwgMSwgcnRlKTsKLQotICAgICAgICAgICAgaWYgKCBpb21tdS0+ ZW5hYmxlZCApCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNh dmUoJmlvbW11LT5sb2NrLCBmbGFncyk7Ci0gICAgICAgICAgICAgICAgYW1kX2lvbW11X2ZsdXNo X2ludHJlbWFwKGlvbW11LCByZXFfaWQpOwotICAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0K LSAgICB9Ci0KLSAgICByZWdpc3Rlcl9rZXloYW5kbGVyKCdWJywgJmR1bXBfaW50cmVtYXBfdGFi bGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgImR1bXAgSU9NTVUgaW50cmVtYXAgdGFibGVz IiwgMCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQogdm9pZCBhbWRfaW9tbXVfaW9hcGljX3VwZGF0 ZV9pcmUoCiAgICAgdW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVk IGludCB2YWx1ZSkKIHsKQEAgLTk4Miw3ICs4OTQsNyBAQCBzdGF0aWMgaW50IGR1bXBfaW50cmVt YXBfbWFwcGluZyhjb25zdCBzdHJ1Y3QgYW1kX2lvbW11ICppb21tdSwKICAgICByZXR1cm4gMDsK IH0KIAotc3RhdGljIHZvaWQgZHVtcF9pbnRyZW1hcF90YWJsZXModW5zaWduZWQgY2hhciBrZXkp Cit2b2lkIGFtZF9pb21tdV9kdW1wX2ludHJlbWFwX3RhYmxlcyh1bnNpZ25lZCBjaGFyIGtleSkK IHsKICAgICBpZiAoICFzaGFyZWRfaW50cmVtYXBfdGFibGUgKQogICAgIHsKZGlmZiAtLWdpdCBh L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gveDg2L2lvbW11LmMKaW5kZXggNTk5MDU2MjllMS4uMmNmNTI4ZTc2MCAxMDA2NDQKLS0t IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gveDg2L2lvbW11LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDx4c20v eHNtLmg+CiAKICNpbmNsdWRlIDxhc20vaHZtL2lvLmg+CisjaW5jbHVkZSA8YXNtL2lvX2FwaWMu aD4KICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KIAogY29uc3Qgc3RydWN0IGlvbW11X2luaXRfb3Bz ICpfX2luaXRkYXRhIGlvbW11X2luaXRfb3BzOwpAQCAtMjgsNiArMjksNyBAQCBzdHJ1Y3QgaW9t bXVfb3BzIF9fcmVhZF9tb3N0bHkgaW9tbXVfb3BzOwogCiBpbnQgX19pbml0IGlvbW11X2hhcmR3 YXJlX3NldHVwKHZvaWQpCiB7CisgICAgc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgKippb2Fw aWNfZW50cmllcyA9IE5VTEw7CiAgICAgaW50IHJjOwogCiAgICAgaWYgKCAhaW9tbXVfaW5pdF9v cHMgKQpAQCAtNDMsNyArNDUsMzcgQEAgaW50IF9faW5pdCBpb21tdV9oYXJkd2FyZV9zZXR1cCh2 b2lkKQogICAgICAgICAvKiB4MmFwaWMgc2V0dXAgbWF5IGhhdmUgcHJldmlvdXNseSBpbml0aWFs aXNlZCB0aGUgc3RydWN0LiAqLwogICAgICAgICBBU1NFUlQoaW9tbXVfb3BzLmluaXQgPT0gaW9t bXVfaW5pdF9vcHMtPm9wcy0+aW5pdCk7CiAKLSAgICByZXR1cm4gaW9tbXVfaW5pdF9vcHMtPnNl dHVwKCk7CisgICAgaWYgKCAheDJhcGljX2VuYWJsZWQgJiYgaW9tbXVfaW50cmVtYXAgKQorICAg IHsKKyAgICAgICAgLyoKKyAgICAgICAgICogSWYgeDJBUElDIGlzIGVuYWJsZWQgaW50ZXJydXB0 IHJlbWFwcGluZyBpcyBhbHJlYWR5IGVuYWJsZWQsIHNvCisgICAgICAgICAqIHRoZXJlJ3Mgbm8g bmVlZCB0byBtZXNzIHdpdGggdGhlIElPLUFQSUMgYmVjYXVzZSB0aGUgcmVtYXBwaW5nCisgICAg ICAgICAqIGVudHJpZXMgYXJlIGFscmVhZHkgY29ycmVjdGx5IHNldHVwIGJ5IHgyYXBpY19ic3Bf c2V0dXAuCisgICAgICAgICAqLworICAgICAgICBpb2FwaWNfZW50cmllcyA9IGFsbG9jX2lvYXBp Y19lbnRyaWVzKCk7CisgICAgICAgIGlmICggIWlvYXBpY19lbnRyaWVzICkKKyAgICAgICAgICAg IHJldHVybiAtRU5PTUVNOworICAgICAgICByYyA9IHNhdmVfSU9fQVBJQ19zZXR1cChpb2FwaWNf ZW50cmllcyk7CisgICAgICAgIGlmICggcmMgKQorICAgICAgICB7CisgICAgICAgICAgICBmcmVl X2lvYXBpY19lbnRyaWVzKGlvYXBpY19lbnRyaWVzKTsKKyAgICAgICAgICAgIHJldHVybiByYzsK KyAgICAgICAgfQorCisgICAgICAgIG1hc2tfODI1OUEoKTsKKyAgICAgICAgbWFza19JT19BUElD X3NldHVwKGlvYXBpY19lbnRyaWVzKTsKKyAgICB9CisKKyAgICByYyA9IGlvbW11X2luaXRfb3Bz LT5zZXR1cCgpOworCisgICAgaWYgKCBpb2FwaWNfZW50cmllcyApCisgICAgeworICAgICAgICBy ZXN0b3JlX0lPX0FQSUNfc2V0dXAoaW9hcGljX2VudHJpZXMsIHJjKTsKKyAgICAgICAgdW5tYXNr XzgyNTlBKCk7CisgICAgICAgIGZyZWVfaW9hcGljX2VudHJpZXMoaW9hcGljX2VudHJpZXMpOwor ICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAogaW50IGlvbW11X2VuYWJsZV94MmFwaWModm9p ZCkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJv dG8uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaAppbmRl eCAwN2QyNWE1ODVkLi44ZWQ5NDgyNzkxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0v c3ZtL2FtZC1pb21tdS1wcm90by5oCkBAIC0xMTQsNiArMTE0LDcgQEAgaW50IGFtZF9pb21tdV9t c2lfbXNnX3VwZGF0ZV9pcmUoCiB2b2lkIGFtZF9pb21tdV9yZWFkX21zaV9mcm9tX2lyZSgKICAg ICBzdHJ1Y3QgbXNpX2Rlc2MgKm1zaV9kZXNjLCBzdHJ1Y3QgbXNpX21zZyAqbXNnKTsKIGludCBh bWRfc2V0dXBfaHBldF9tc2koc3RydWN0IG1zaV9kZXNjICptc2lfZGVzYyk7Cit2b2lkIGFtZF9p b21tdV9kdW1wX2ludHJlbWFwX3RhYmxlcyh1bnNpZ25lZCBjaGFyIGtleSk7CiAKIGV4dGVybiBz dHJ1Y3QgaW9hcGljX3NiZGYgewogICAgIHUxNiBiZGYsIHNlZzsKLS0gCjIuMjMuMAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=