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.8 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_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 11CF6C31E40 for ; Wed, 7 Aug 2019 00:23:35 +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 CCEFF214C6 for ; Wed, 7 Aug 2019 00:23:34 +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="aaGEG+cw" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CCEFF214C6 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 1hv9ja-0004gK-2w; Wed, 07 Aug 2019 00:23:18 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hv9jY-0004fA-Jd for xen-devel@lists.xenproject.org; Wed, 07 Aug 2019 00:23:16 +0000 X-Inumbo-ID: 8bcc28cb-b8a9-11e9-8980-bc764e045a96 Received: from mail.kernel.org (unknown [198.145.29.99]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 8bcc28cb-b8a9-11e9-8980-bc764e045a96; Wed, 07 Aug 2019 00:23:14 +0000 (UTC) Received: from sstabellini-ThinkPad-T480s.xilinx.com (c-67-164-102-47.hsd1.ca.comcast.net [67.164.102.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1B0F7217F4; Wed, 7 Aug 2019 00:23:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565137394; bh=JETEGkAaZ3TGtOfvtVMH7SmZ/HozO6XDy93NN1nnekg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aaGEG+cw70ZIJEHv/hBuApoMOmWvYb1zU0LK1SbEqcKKcwd6pMPmobxMM8G5YQkaO 3K3YTljxY80/z7KzeBAGRU1elhzXfsXtzKN7TaAgwLTpwW3ooqWHgjIIGyAI04Mst1 8wy+PAzMNUMAke77cs+mofTdXabF3GiIQ+MTtCAE= From: Stefano Stabellini To: xen-devel@lists.xenproject.org Date: Tue, 6 Aug 2019 17:23:10 -0700 Message-Id: <20190807002311.9906-5-sstabellini@kernel.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: Subject: [Xen-devel] [PATCH v4 5/6] libxl/xl: add memory policy option to iomem 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 , julien.grall@arm.com, sstabellini@kernel.org, ian.jackson@eu.citrix.com, wei.liu2@citrix.com MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QWRkIGEgbmV3IG1lbW9yeSBwb2xpY3kgb3B0aW9uIGZvciB0aGUgaW9tZW0gcGFyYW1ldGVyLgpQ b3NzaWJsZSB2YWx1ZXMgYXJlOgotIGFybV9kZXZfbkduUkUsIERldmljZS1uR25SRSwgdGhlIGRl ZmF1bHQgb24gQXJtCi0gYXJtX21lbV9XQiwgV0IgY2FjaGFibGUgbWVtb3J5Ci0gZGVmYXVsdAoK U3RvcmUgdGhlIHBhcmFtZXRlciBpbiBhIG5ldyBmaWVsZCBpbiBsaWJ4bF9pb21lbV9yYW5nZS4K ClBhc3MgdGhlIG1lbW9yeSBwb2xpY3kgb3B0aW9uIHRvIHhjX2RvbWFpbl9tZW1fbWFwX3BvbGlj eS4KCkRvIHRoZSBsaWJ4bCB0byBsaWJ4YyB2YWx1ZSBjb252ZXJzaW9uIGluIHBlci1hcmNoIGZ1 bmN0aW9ucyBzbyB0aGF0IHdlCmNhbiByZXR1cm4gZXJyb3IgZm9yIHg4NiBwYXJhbWV0ZXJzIG9u IEFybSBhcmNoaXRlY3R1cmVzIGFuZCB2aWNlIHZlcnNhLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFu byBTdGFiZWxsaW5pIDxzdGVmYW5vc0B4aWxpbnguY29tPgpDQzogaWFuLmphY2tzb25AZXUuY2l0 cml4LmNvbQpDQzogd2VpLmxpdTJAY2l0cml4LmNvbQotLS0KQ2hhbmdlcyBpbiB2NDoKLSBBUk0g LT4gQXJtCi0gbGlieGxfX21lbW9yeV9wb2xpY3lfdG9feGMgLT4gbGlieGxfX2FyY2hfbWVtb3J5 X3BvbGljeV90b194YwotIGtlZXAgQXJtIHBvbGljaWVzIHRvZ2V0aGVyCgpDaGFuZ2VzIGluIHYz OgotIHMvbkdSRS9uR25SRS9nCi0gcy9MSUJYTF9NRU1PUllfUE9MSUNZX0FSTV9ERVZfTkdSRS9M SUJYTF9NRU1PUllfUE9MSUNZX0FSTV9ERVZfTkdOUkUvZwotIHMvYXJtX2Rldm1lbS9hcm1fZGV2 X25HblJFL2cKLSBzL2FybV9tZW1vcnkvYXJtX21lbV9XQi9nCi0gaW1wcm92ZSBjb21taXQgbWVz c2FnZQotIGltcHJvdmUgbWFuIHBhZ2UKLSBzL01FTU9SWV9QT0xJQ1lfWDg2X1VDL01FTU9SWV9Q T0xJQ1lfWDg2X1VDX01JTlVTL2cKLSBzL3g4Nl91Yy94ODZfVUNfbWludXMvZwotIG1vdmUgc2Vj dXJpdHkgc3VwcG9ydCBjbGFyaWZpY2F0aW9uIHRvIGEgc2VwYXJhdGUgcGF0Y2gKCkNoYW5nZXMg aW4gdjI6Ci0gYWRkICNkZWZpbmUgTElCWExfSEFWRV9NRU1PUllfUE9MSUNZCi0gYWJpbGl0eSB0 byBwYXJ0IHRoZSBtZW1vcnkgcG9saWN5IHBhcmFtZXRlciBldmVuIGlmIGdmbiBpcyBub3QgcGFz c2VkCi0gcmVuYW1lIGNhY2hlX3BvbGljeSB0byBtZW1vcnkgcG9saWN5Ci0gcmVuYW1lIE1FTU9S WV9QT0xJQ1lfREVWTUVNIHRvIE1FTU9SWV9QT0xJQ1lfQVJNX0RFVl9uR1JFCi0gcmVuYW1lIE1F TU9SWV9QT0xJQ1lfTUVNT1JZIHRvIE1FTU9SWV9QT0xJQ1lfQVJNX01FTV9XQgotIHJlbmFtZSBt ZW1vcnkgdG8gYXJtX21lbW9yeSBhbmQgZGV2bWVtIHRvIGFybV9kZXZtZW0KLSBleHBhbmQgdGhl IG5vbi1zZWN1cml0eSBzdXBwb3J0IHN0YXR1cyB0byBub24gZGV2aWNlIHBhc3N0aHJvdWdoIGlv bWVtCiAgY29uZmlndXJhdGlvbnMKLSByZW5hbWUgaW9tZW0gb3B0aW9ucwotIGFkZCB4ODYgc3Bl Y2lmaWMgaW9tZW0gb3B0aW9uCi0tLQogZG9jcy9tYW4veGwuY2ZnLjUucG9kLmluICAgIHwgMTAg KysrKysrKysrLQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgIHwgIDUgKysrKysKIHRvb2xz L2xpYnhsL2xpYnhsX2FyY2guaCAgICB8ICAzICsrKwogdG9vbHMvbGlieGwvbGlieGxfYXJtLmMg ICAgIHwgMTQgKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICB8IDEy ICsrKysrKysrKystLQogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIHwgIDggKysrKysrKysK IHRvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jICAgICB8IDEwICsrKysrKysrKysKIHRvb2xzL3hsL3hs X3BhcnNlLmMgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKysrKy0KIDggZmlsZXMgY2hh bmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Nz L21hbi94bC5jZmcuNS5wb2QuaW4gYi9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW4KaW5kZXggYzk5 ZDQwMzA3ZS4uNzdkZjljMWJkYiAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLjUucG9kLmlu CisrKyBiL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbgpAQCAtMTIyMiw3ICsxMjIyLDcgQEAgaXMg Z2l2ZW4gaW4gaGV4YWRlY2ltYWwgZm9ybWF0IGFuZCBtYXkgZWl0aGVyIGJlIGEgcmFuZ2UsIGUu Zy4gQzwyZjgtMmZmPgogSXQgaXMgcmVjb21tZW5kZWQgdG8gb25seSB1c2UgdGhpcyBvcHRpb24g Zm9yIHRydXN0ZWQgVk1zIHVuZGVyCiBhZG1pbmlzdHJhdG9yJ3MgY29udHJvbC4KIAotPWl0ZW0g Qjxpb21lbT1bICJJT01FTV9TVEFSVCxOVU1fUEFHRVNbQEdGTl0iLCAiSU9NRU1fU1RBUlQsTlVN X1BBR0VTW0BHRk5dIiwgLi4uXT4KKz1pdGVtIEI8aW9tZW09WyAiSU9NRU1fU1RBUlQsTlVNX1BB R0VTW0BHRk5dLE1FTU9SWV9QT0xJQ1kiLCAiSU9NRU1fU1RBUlQsTlVNX1BBR0VTW0BHRk5dWyxN RU1PUllfUE9MSUNZXSIsIC4uLl0+CiAKIEFsbG93IGF1dG8tdHJhbnNsYXRlZCBkb21haW5zIHRv IGFjY2VzcyBzcGVjaWZpYyBoYXJkd2FyZSBJL08gbWVtb3J5IHBhZ2VzLgogCkBAIC0xMjMzLDYg KzEyMzMsMTQgQEAgQjxHRk4+IGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBtYXBwaW5nIHdpbGwgYmUg cGVyZm9ybWVkIHVzaW5nIEI8SU9NRU1fU1RBUlQ+CiBhcyBhIHN0YXJ0IGluIHRoZSBndWVzdCdz IGFkZHJlc3Mgc3BhY2UsIHRoZXJlZm9yZSBwZXJmb3JtaW5nIGEgMToxIG1hcHBpbmcKIGJ5IGRl ZmF1bHQuCiBBbGwgb2YgdGhlc2UgdmFsdWVzIG11c3QgYmUgZ2l2ZW4gaW4gaGV4YWRlY2ltYWwg Zm9ybWF0LgorQjxNRU1PUllfUE9MSUNZPiBmb3IgQXJtIHBsYXRmb3JtczoKKyAgLSAiYXJtX2Rl dl9uR25SRSIgZm9yIERldmljZS1uR25SRSAoRGV2aWNlIE1lbW9yeSBvbiBBcm12NyksIHRoZSBk ZWZhdWx0IG9uIEFybQorICAtICJhcm1fbWVtX1dCIiBmb3IgT3V0ZXIgU2hhcmVhYmxlIFdyaXRl LUJhY2sgQ2FjaGVhYmxlIE1lbW9yeQorVGhleSBzZWxlY3QgdGhlIHN0YWdlLTIgbWVtb3J5IGF0 dHJpYnV0ZXMsIGJ1dCBub3RlIHRoYXQgdGhlIHJlc3VsdGluZworbWVtb3J5IGF0dHJpYnV0ZXMg d2lsbCBiZSBhIGNvbWJpbmF0aW9uIG9mIHN0YWdlLTIgYW5kIHN0YWdlLTEgbWVtb3J5CithdHRy aWJ1dGVzOiBpdCB3aWxsIGJlIHRoZSBzdHJvbmdlc3QgYmV0d2VlbiB0aGUgMiBzdGFnZXMgYXR0 cmlidXRlcy4KK0I8TUVNT1JZX1BPTElDWT4gY2FuIGJlIGZvciBib3RoIEFybSBhbmQgeDg2IHBs YXRmb3JtczoKKyAgLSAiZGVmYXVsdCIgd2hpY2ggaXMgVW5jYWNoYWJsZSBNZW1vcnkgb24geDg2 LCBhbmQgYXJtX2Rldl9uR25SRSBvbiBBcm0KIAogTm90ZSB0aGF0IHRoZSBJT01NVSB3b24ndCBi ZSB1cGRhdGVkIHdpdGggdGhlIG1hcHBpbmdzIHNwZWNpZmllZCB3aXRoIHRoaXMKIG9wdGlvbi4g VGhpcyBvcHRpb24gdGhlcmVmb3JlIHNob3VsZCBub3QgYmUgdXNlZCB0byBwYXNzIHRocm91Z2gg YW55CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5oIGIvdG9vbHMvbGlieGwvbGlieGwu aAppbmRleCA5YmFjZmI5N2YwLi5jZjEyZjFkM2JkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKQEAgLTM3OCw2ICszNzgsMTEgQEAKICNk ZWZpbmUgTElCWExfSEFWRV9CVUlMRElORk9fQk9PVExPQURFUiAxCiAjZGVmaW5lIExJQlhMX0hB VkVfQlVJTERJTkZPX0JPT1RMT0FERVJfQVJHUyAxCiAKKy8qCisgKiBTdXBwb3J0IHNwZWNpZnlp bmcgbWVtb3J5IHBvbGljeSBpbmZvcm1hdGlvbiBmb3IgbWVtb3J5IG1hcHBpbmdzLgorICovCisj ZGVmaW5lIExJQlhMX0hBVkVfTUVNT1JZX1BPTElDWSAxCisKIC8qCiAgKiBMSUJYTF9IQVZFX0VY VEVOREVEX1ZLQiBpbmRpY2F0ZXMgdGhhdCBsaWJ4bF9kZXZpY2VfdmtiIGhhcyBleHRlbmRlZCBm aWVsZHM6CiAgKiAgLSB1bmlxdWVfaWQ7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9h cmNoLmggYi90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKaW5kZXggZDYyNDE1OWU1My4uNzk2Yzk2 MTU2OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2FyY2guaApAQCAtNzcsNiArNzcsOSBAQCBpbnQgbGlieGxfX2FyY2hfZXh0cmFf bWVtb3J5KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCAqb3V0KTsKIAorX2hpZGRlbgoraW50IGxpYnhsX19hcmNoX21lbW9yeV9w b2xpY3lfdG9feGMobGlieGxfbWVtb3J5X3BvbGljeSBjKTsKKwogI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKIAogI2RlZmluZSBMQVBJQ19CQVNFX0FERFJFU1Mg IDB4ZmVlMDAwMDAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMv bGlieGwvbGlieGxfYXJtLmMKaW5kZXggMTQxZTE1OTA0My4uNmI4ZTdkZGIwNiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMK QEAgLTExNDksNiArMTE0OSwyMCBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZv X3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19p bml0X3R5cGUoYl9pbmZvLCBMSUJYTF9ET01BSU5fVFlQRV9QVkgpOwogfQogCitpbnQgbGlieGxf X2FyY2hfbWVtb3J5X3BvbGljeV90b194YyhsaWJ4bF9tZW1vcnlfcG9saWN5IGMpCit7CisgICAg c3dpdGNoIChjKSB7CisgICAgY2FzZSBMSUJYTF9NRU1PUllfUE9MSUNZX0FSTV9NRU1fV0I6Cisg ICAgICAgIHJldHVybiBNRU1PUllfUE9MSUNZX0FSTV9NRU1fV0I7CisgICAgY2FzZSBMSUJYTF9N RU1PUllfUE9MSUNZX0FSTV9ERVZfTkdOUkU6CisgICAgICAgIHJldHVybiBNRU1PUllfUE9MSUNZ X0FSTV9ERVZfbkduUkU7CisgICAgY2FzZSBMSUJYTF9NRU1PUllfUE9MSUNZX0RFRkFVTFQ6Cisg ICAgICAgIHJldHVybiBNRU1PUllfUE9MSUNZX0RFRkFVTFQ7CisgICAgZGVmYXVsdDoKKyAgICAg ICAgcmV0dXJuIEVSUk9SX0lOVkFMOworICAgIH0KK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxl czoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jIGIv dG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggMDNjZTE2NmY0Zi4uOWIzNzVjZGY2OSAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfY3JlYXRlLmMKQEAgLTEzNTcsNiArMTM1Nyw3IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0 ZV9sYXVuY2hfZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAog CiAgICAgZm9yIChpID0gMDsgaSA8IGRfY29uZmlnLT5iX2luZm8ubnVtX2lvbWVtOyBpKyspIHsK ICAgICAgICAgbGlieGxfaW9tZW1fcmFuZ2UgKmlvID0gJmRfY29uZmlnLT5iX2luZm8uaW9tZW1b aV07CisgICAgICAgIGludCBtZW1vcnlfcG9saWN5OwogCiAgICAgICAgIExPR0QoREVCVUcsIGRv bWlkLCAiaW9tZW0gJSJQUkl4NjQiLSUiUFJJeDY0LAogICAgICAgICAgICAgIGlvLT5zdGFydCwg aW8tPnN0YXJ0ICsgaW8tPm51bWJlciAtIDEpOwpAQCAtMTM3MCw5ICsxMzcxLDE2IEBAIHN0YXRp YyB2b2lkIGRvbWNyZWF0ZV9sYXVuY2hfZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlk ZXYgKm11bHRpZGV2LAogICAgICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKICAgICAgICAgICAg IGdvdG8gZXJyb3Jfb3V0OwogICAgICAgICB9Ci0gICAgICAgIHJldCA9IHhjX2RvbWFpbl9tZW1v cnlfbWFwcGluZyhDVFgtPnhjaCwgZG9taWQsCisgICAgICAgIG1lbW9yeV9wb2xpY3kgPSBsaWJ4 bF9fYXJjaF9tZW1vcnlfcG9saWN5X3RvX3hjKGlvLT5tZW1vcnlfcG9saWN5KTsKKyAgICAgICAg aWYgKG1lbW9yeV9wb2xpY3kgPCAwKSB7CisgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQs CisgICAgICAgICAgICAgICAgICAiaW52YWxpZCBtZW1vcnkgcG9saWN5ICV1IiwgaW8tPm1lbW9y eV9wb2xpY3kpOworICAgICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdv dG8gZXJyb3Jfb3V0OworICAgICAgICB9CisgICAgICAgIHJldCA9IHhjX2RvbWFpbl9tZW1fbWFw X3BvbGljeShDVFgtPnhjaCwgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpby0+Z2ZuLCBpby0+c3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpby0+bnVtYmVyLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlvLT5udW1iZXIsIDEsIG1lbW9yeV9wb2xpY3kpOwogICAgICAgICBpZiAocmV0 IDwgMCkgewogICAgICAgICAgICAgTE9HRUQoRVJST1IsIGRvbWlkLAogICAgICAgICAgICAgICAg ICAgImZhaWxlZCB0byBtYXAgdG8gZG9tYWluIGlvbWVtIHJhbmdlICUiUFJJeDY0Ii0lIlBSSXg2 NApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsCmluZGV4IGI2MTM5OWNlMzYuLmFkNWQ5Y2RhZTIgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBl cy5pZGwKQEAgLTI3Miw2ICsyNzIsMTIgQEAgbGlieGxfaW9wb3J0X3JhbmdlID0gU3RydWN0KCJp b3BvcnRfcmFuZ2UiLCBbCiAgICAgKCJudW1iZXIiLCB1aW50MzIpLAogICAgIF0pCiAKK2xpYnhs X21lbW9yeV9wb2xpY3kgPSBFbnVtZXJhdGlvbigibWVtb3J5X3BvbGljeSIsIFsKKyAgICAoMCwg ImRlZmF1bHQiKSwKKyAgICAoMSwgIkFSTV9EZXZfbkduUkUiKSwKKyAgICAoMiwgIkFSTV9NZW1f V0IiKSwKKyAgICBdLCBpbml0X3ZhbCA9ICJMSUJYTF9NRU1PUllfUE9MSUNZX0RFRkFVTFQiKQor CiBsaWJ4bF9pb21lbV9yYW5nZSA9IFN0cnVjdCgiaW9tZW1fcmFuZ2UiLCBbCiAgICAgIyBzdGFy dCBob3N0IGZyYW1lIG51bWJlciB0byBiZSBtYXBwZWQgdG8gdGhlIGd1ZXN0CiAgICAgKCJzdGFy dCIsIHVpbnQ2NCksCkBAIC0yNzksNiArMjg1LDggQEAgbGlieGxfaW9tZW1fcmFuZ2UgPSBTdHJ1 Y3QoImlvbWVtX3JhbmdlIiwgWwogICAgICgibnVtYmVyIiwgdWludDY0KSwKICAgICAjIGd1ZXN0 IGZyYW1lIG51bWJlciB1c2VkIGFzIGEgc3RhcnQgZm9yIHRoZSBtYXBwaW5nCiAgICAgKCJnZm4i LCB1aW50NjQsIHsnaW5pdF92YWwnOiAiTElCWExfSU5WQUxJRF9HRk4ifSksCisgICAgIyBtZW1v cnlfcG9saWN5IG9mIHRoZSBtZW1vcnkgcmVnaW9uCisgICAgKCJtZW1vcnlfcG9saWN5IiwgbGli eGxfbWVtb3J5X3BvbGljeSksCiAgICAgXSkKIAogbGlieGxfdmdhX2ludGVyZmFjZV9pbmZvID0g U3RydWN0KCJ2Z2FfaW50ZXJmYWNlX2luZm8iLCBbCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF94ODYuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCmluZGV4IGMwZjg4YTdlYWEuLjMy YzIxMWMzYWUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Ni5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX3g4Ni5jCkBAIC02MzEsNiArNjMxLDE2IEBAIHZvaWQgbGlieGxfX2FyY2hf ZG9tYWluX2J1aWxkX2luZm9fc2V0ZGVmYXVsdChsaWJ4bF9fZ2MgKmdjLAogICAgIGxpYnhsX2Rl ZmJvb2xfc2V0ZGVmYXVsdCgmYl9pbmZvLT5hY3BpLCB0cnVlKTsKIH0KIAoraW50IGxpYnhsX19h cmNoX21lbW9yeV9wb2xpY3lfdG9feGMobGlieGxfbWVtb3J5X3BvbGljeSBjKQoreworICAgIHN3 aXRjaCAoYykgeworICAgIGNhc2UgTElCWExfTUVNT1JZX1BPTElDWV9ERUZBVUxUOgorICAgICAg ICByZXR1cm4gTUVNT1JZX1BPTElDWV9ERUZBVUxUOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJl dHVybiBFUlJPUl9JTlZBTDsKKyAgICB9Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAg KiBtb2RlOiBDCmRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJzZS5jIGIvdG9vbHMveGwveGxf cGFyc2UuYwppbmRleCBlMTA1YmRhMmJiLi5jMDE5YmNhNzI4IDEwMDY0NAotLS0gYS90b29scy94 bC94bF9wYXJzZS5jCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMKQEAgLTE4ODMsNiArMTg4Myw3 IEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwKICAg ICAgICAgfQogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX2lvbWVtOyBpKyspIHsKICAgICAg ICAgICAgIGludCB1c2VkOworICAgICAgICAgICAgY29uc3QgY2hhciAqbWVtcG9saWN5OwogCiAg ICAgICAgICAgICBidWYgPSB4bHVfY2ZnX2dldF9saXN0aXRlbSAoaW9tZW0sIGkpOwogICAgICAg ICAgICAgaWYgKCFidWYpIHsKQEAgLTE4OTUsMTEgKzE4OTYsMzAgQEAgdm9pZCBwYXJzZV9jb25m aWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICAgICAgICAgICAgICAg ICAgICZiX2luZm8tPmlvbWVtW2ldLnN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICZi X2luZm8tPmlvbWVtW2ldLm51bWJlciwgJnVzZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg JmJfaW5mby0+aW9tZW1baV0uZ2ZuLCAmdXNlZCk7Ci0gICAgICAgICAgICBpZiAocmV0IDwgMiB8 fCBidWZbdXNlZF0gIT0gJ1wwJykgeworICAgICAgICAgICAgaWYgKHJldCA8IDIpIHsKICAgICAg ICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKICAgICAgICAgICAgICAgICAgICAgICAgICJ4bDog SW52YWxpZCBhcmd1bWVudCBwYXJzaW5nIGlvbWVtOiAlc1xuIiwgYnVmKTsKICAgICAgICAgICAg ICAgICBleGl0KDEpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgbWVtcG9saWN5ID0gJmJ1 Zlt1c2VkXTsKKyAgICAgICAgICAgIGlmIChzdHJsZW4obWVtcG9saWN5KSA+IDEpIHsKKyAgICAg ICAgICAgICAgICBtZW1wb2xpY3krKzsKKyAgICAgICAgICAgICAgICBpZiAoIXN0cmNtcChtZW1w b2xpY3ksICJhcm1fZGV2X25HblJFIikpCisgICAgICAgICAgICAgICAgICAgIGJfaW5mby0+aW9t ZW1baV0ubWVtb3J5X3BvbGljeSA9CisgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9NRU1P UllfUE9MSUNZX0FSTV9ERVZfTkdOUkU7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNt cChtZW1wb2xpY3ksICJhcm1fbWVtX1dCIikpCisgICAgICAgICAgICAgICAgICAgIGJfaW5mby0+ aW9tZW1baV0ubWVtb3J5X3BvbGljeSA9CisgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9N RU1PUllfUE9MSUNZX0FSTV9NRU1fV0I7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNt cChtZW1wb2xpY3ksICJkZWZhdWx0IikpCisgICAgICAgICAgICAgICAgICAgIGJfaW5mby0+aW9t ZW1baV0ubWVtb3J5X3BvbGljeSA9CisgICAgICAgICAgICAgICAgICAgICAgICBMSUJYTF9NRU1P UllfUE9MSUNZX0RFRkFVTFQ7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg ICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bDog SW52YWxpZCBpb21lbSBtZW1vcnkgcG9saWN5IHBhcmFtZXRlcjogJXNcbiIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbWVtcG9saWN5KTsKKyAgICAgICAgICAgICAgICAgICAgZXhpdCgx KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK LS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=