From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 38/41] tools/xl: add xl domain configuration for virtual NVDIMM devices Date: Thu, 7 Dec 2017 18:10:27 +0800 Message-ID: <20171207101030.22364-39-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Wei Liu , Ian Jackson , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org QSBuZXcgeGwgZG9tYWluIGNvbmZpZ3VyYXRpb24KICAgdm52ZGltbXMgPSBbICd0eXBlPW1mbiwg YmFja2VuZD1TVEFSVF9QTUVNX01GTiwgbnJfcGFnZXM9TicsIC4uLiBdCgppcyBhZGRlZCB0byBz cGVjaWZ5IHRoZSB2aXJ0dWFsIE5WRElNTSBkZXZpY2VzIGJhY2tlZCBieSB0aGUgc3BlY2lmaWVk Cmhvc3QgUE1FTSBwYWdlcy4gQXMgdGhlIGtlcm5lbCBQTUVNIGRyaXZlciBkb2VzIG5vdCB3b3Jr IGluIERvbTAgbm93LAp3ZSBoYXZlIHRvIHNwZWNpZnkgTUZOcy4KClNpZ25lZC1vZmYtYnk6IEhh b3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgotLS0KIGRvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbiAgICB8ICAzMyArKysrKysrKysr KysrKwogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgIHwgICA1ICsrCiB0b29scy9saWJ4bC9s aWJ4bF9udmRpbW0uYyAgfCAgMjggKysrKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF90eXBl cy5pZGwgfCAgMTUgKysrKysrCiB0b29scy94bC94bF9wYXJzZS5jICAgICAgICAgfCAxMDggKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHRvb2xzL3hsL3hsX3Zt Y29udHJvbC5jICAgICB8ICAxNSArKysrKy0KIDYgZmlsZXMgY2hhbmdlZCwgMjAzIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUu aW4gYi9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4KaW5kZXggMWY5NTM4YzQ0NS4uMWMwMTE5Y2Jj YyAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLnBvZC41LmluCisrKyBiL2RvY3MvbWFuL3hs LmNmZy5wb2QuNS5pbgpAQCAtMTI2OCw2ICsxMjY4LDM5IEBAIGNvbm5lY3RvcnM9aWQwOjE5MjB4 MTA4MDtpZDE6ODAweDYwMDtpZDI6NjQweDQ4MAogCiA9YmFjawogCis9aXRlbSBCPHZudmRpbW1z PVsgJ1ZOVkRJTU1fU1BFQycsICdWTlZESU1NX1NQRUMnLCAuLi4gXT4KKworU3BlY2lmaWVzIHRo ZSB2aXJ0dWFsIE5WRElNTSBkZXZpY2VzIHdoaWNoIGFyZSBwcm92aWRlZCB0byB0aGUgZ3Vlc3Qu CisKK0VhY2ggQjxWTlZESU1NX1NQRUM+IGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgQzxL RVk9VkFMVUU+IHNldHRpbmdzCitmcm9tIHRoZSBmb2xsb3dpbmcgbGlzdDoKKworPW92ZXIgNAor Cis9aXRlbSBCPHR5cGU9VFlQRT4KKworU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGhvc3QgYmFja2Vu ZCBvZiB0aGUgdmlydHVhbCBOVkRJTU0gZGV2aWNlLiBGb2xsb3dpbmcKK2lzIGEgbGlzdCBvZiBz dXBwb3J0ZWQgdHlwZXM6CisKKz1vdmVyIDQKKworPWl0ZW0gQjxtZm4+CisKK2JhY2tzIHRoZSB2 aXJ0dWFsIE5WRElNTSBkZXZpY2UgYnkgYSBjb250aWd1b3VzIGhvc3QgUE1FTSByZWdpb24uCisK Kz1iYWNrCisKKz1pdGVtIEI8YmFja2VuZD1CQUNLRU5EPgorCitTcGVjaWZpZXMgdGhlIGhvc3Qg YmFja2VuZCBvZiB0aGUgdmlydHVhbCBOVkRJTU0gZGV2aWNlLiBJZiBDPHR5cGU9bWZuPiwKK3Ro ZW4gQjxCQUNLRU5EPiBzcGVjaWZpZXMgdGhlIHN0YXJ0IE1GTiBvZiB0aGUgaG9zdCBQTUVNIHJl Z2lvbi4KKworPWl0ZW0gQjxucl9wYWdlcz1OVU1CRVI+CisKK1NwZWNpZmllcyB0aGUgbnVtYmVy IG9mIHBhZ2VzIG9mIHRoZSBob3N0IGJhY2tlbmQuCisKKz1iYWNrCisKID1pdGVtIEI8ZG1fcmVz dHJpY3Q9Qk9PTEVBTj4KIAogUmVzdHJpY3QgdGhlIGRldmljZSBtb2RlbCBhZnRlciBzdGFydHVw LApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgK aW5kZXggYzM5MGJmMjI3Yi4uY2I0ZmQ4NGQ0OCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0yMzU0LDYgKzIzNTQsMTEgQEAgaW50 IGxpYnhsX252ZGltbV9wbWVtX3NldHVwX2RhdGEobGlieGxfY3R4ICpjdHgsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRhdGFfc21mbiwgdW5zaWduZWQg ZGF0YV9lbWZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9u ZyBtZ210X3NtZm4sIHVuc2lnbmVkIG1nbXRfZW1mbik7CiAKK2ludCBsaWJ4bF92bnZkaW1tX2Nv cHlfY29uZmlnKGxpYnhsX2N0eCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGlieGxfZG9tYWluX2NvbmZpZyAqZHN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqc3JjKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTElCWExfRVhURVJOQUxfQ0FMTEVSU19PTkxZOworCiAvKiBtaXNjICovCiAKIC8qIEVh Y2ggb2YgdGhlc2Ugc2V0cyBvciBjbGVhcnMgdGhlIGZsYWcgYWNjb3JkaW5nIHRvIHdoZXRoZXIg dGhlCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9udmRpbW0uYyBiL3Rvb2xzL2xpYnhs L2xpYnhsX252ZGltbS5jCmluZGV4IDBkNTEwMzY3OTQuLjE4NjNkNzZiYmMgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX252ZGltbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX252ZGlt bS5jCkBAIC0xNjgsMyArMTY4LDMxIEBAIGludCBsaWJ4bF9udmRpbW1fcG1lbV9zZXR1cF9kYXRh KGxpYnhsX2N0eCAqY3R4LAogCiAgICAgcmV0dXJuIGVycm5vID8gRVJST1JfRkFJTCA6IDA7CiB9 CisKK2ludCBsaWJ4bF92bnZkaW1tX2NvcHlfY29uZmlnKGxpYnhsX2N0eCAqY3R4LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZHN0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqc3JjKQor eworICAgIEdDX0lOSVQoY3R4KTsKKyAgICB1bnNpZ25lZCBpbnQgbnIgPSBzcmMtPm51bV92bnZk aW1tczsKKyAgICBsaWJ4bF9kZXZpY2Vfdm52ZGltbSAqdm52ZGltbXM7CisgICAgaW50IHJjID0g MDsKKworICAgIGlmICghbnIpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgdm52ZGltbXMgPSBs aWJ4bF9fY2FsbG9jKE5PR0MsIG5yLCBzaXplb2YoKnZudmRpbW1zKSk7CisgICAgaWYgKCF2bnZk aW1tcykgeworICAgICAgICByYyA9IEVSUk9SX05PTUVNOworICAgICAgICBnb3RvIG91dDsKKyAg ICB9CisKKyAgICBkc3QtPm51bV92bnZkaW1tcyA9IG5yOworICAgIHdoaWxlIChuci0tKQorICAg ICAgICBsaWJ4bF9kZXZpY2Vfdm52ZGltbV9jb3B5KGN0eCwgJnZudmRpbW1zW25yXSwgJnNyYy0+ dm52ZGltbXNbbnJdKTsKKyAgICBkc3QtPnZudmRpbW1zID0gdm52ZGltbXM7CisKKyBvdXQ6Cisg ICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5kZXggMDUzYjFj MGI5YS4uMzA4NzlkMTFkYiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtMjQ3LDYgKzI0NywxMCBAQCBs aWJ4bF92dWFydF90eXBlID0gRW51bWVyYXRpb24oInZ1YXJ0X3R5cGUiLCBbCiAgICAgKDEsICJz YnNhX3VhcnQiKSwKICAgICBdKQogCitsaWJ4bF92bnZkaW1tX2JhY2tlbmRfdHlwZSA9IEVudW1l cmF0aW9uKCJ2bnZkaW1tX2JhY2tlbmRfdHlwZSIsIFsKKyAgICAoMCwgIm1mbiIpLAorICAgIF0p CisKICMKICMgQ29tcGxleCBsaWJ4bCB0eXBlcwogIwpAQCAtODEzLDYgKzgxNywxNiBAQCBsaWJ4 bF9kZXZpY2VfdmRpc3BsID0gU3RydWN0KCJkZXZpY2VfdmRpc3BsIiwgWwogICAgICgiY29ubmVj dG9ycyIsIEFycmF5KGxpYnhsX2Nvbm5lY3Rvcl9wYXJhbSwgIm51bV9jb25uZWN0b3JzIikpCiAg ICAgXSkKIAorbGlieGxfZGV2aWNlX3ZudmRpbW0gPSBTdHJ1Y3QoImRldmljZV92bnZkaW1tIiwg WworICAgICgiYmFja2VuZF9kb21pZCIsICAgbGlieGxfZG9taWQpLAorICAgICgiYmFja2VuZF9k b21uYW1lIiwgc3RyaW5nKSwKKyAgICAoImRldmlkIiwgICAgICAgICAgIGxpYnhsX2RldmlkKSwK KyAgICAoIm5yX3BhZ2VzIiwgICAgICAgIHVpbnQ2NCksCisgICAgKCJ1IiwgS2V5ZWRVbmlvbihO b25lLCBsaWJ4bF92bnZkaW1tX2JhY2tlbmRfdHlwZSwgImJhY2tlbmRfdHlwZSIsCisgICAgICAg ICAgICBbKCJtZm4iLCB1aW50NjQpLAorICAgICAgICAgICAgXSkpLAorXSkKKwogbGlieGxfZG9t YWluX2NvbmZpZyA9IFN0cnVjdCgiZG9tYWluX2NvbmZpZyIsIFsKICAgICAoImNfaW5mbyIsIGxp YnhsX2RvbWFpbl9jcmVhdGVfaW5mbyksCiAgICAgKCJiX2luZm8iLCBsaWJ4bF9kb21haW5fYnVp bGRfaW5mbyksCkBAIC04MzIsNiArODQ2LDcgQEAgbGlieGxfZG9tYWluX2NvbmZpZyA9IFN0cnVj dCgiZG9tYWluX2NvbmZpZyIsIFsKICAgICAoImNoYW5uZWxzIiwgQXJyYXkobGlieGxfZGV2aWNl X2NoYW5uZWwsICJudW1fY2hhbm5lbHMiKSksCiAgICAgKCJ1c2JjdHJscyIsIEFycmF5KGxpYnhs X2RldmljZV91c2JjdHJsLCAibnVtX3VzYmN0cmxzIikpLAogICAgICgidXNiZGV2cyIsIEFycmF5 KGxpYnhsX2RldmljZV91c2JkZXYsICJudW1fdXNiZGV2cyIpKSwKKyAgICAoInZudmRpbW1zIiwg QXJyYXkobGlieGxfZGV2aWNlX3ZudmRpbW0sICJudW1fdm52ZGltbXMiKSksCiAKICAgICAoIm9u X3Bvd2Vyb2ZmIiwgbGlieGxfYWN0aW9uX29uX3NodXRkb3duKSwKICAgICAoIm9uX3JlYm9vdCIs IGxpYnhsX2FjdGlvbl9vbl9zaHV0ZG93biksCmRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJz ZS5jIGIvdG9vbHMveGwveGxfcGFyc2UuYwppbmRleCAwYTQzYTQ4NzZlLi4wMTIzZmNmODllIDEw MDY0NAotLS0gYS90b29scy94bC94bF9wYXJzZS5jCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMK QEAgLTg1MSw2ICs4NTEsMTA5IEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBp bnQgcGFyc2Vfdm52ZGltbV9jb25maWcobGlieGxfZGV2aWNlX3ZudmRpbW0gKnZudmRpbW0sIGNo YXIgKnRva2VuKQoreworICAgIGNoYXIgKm9wYXJnLCAqZW5kcHRyOworICAgIHVuc2lnbmVkIGxv bmcgdmFsOworCisgICAgaWYgKE1BVENIX09QVElPTigidHlwZSIsIHRva2VuLCBvcGFyZykpIHsK KyAgICAgICAgaWYgKGxpYnhsX3ZudmRpbW1fYmFja2VuZF90eXBlX2Zyb21fc3RyaW5nKG9wYXJn LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnZu dmRpbW0tPmJhY2tlbmRfdHlwZSkpIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAg ICAgICAgICAgICAgICAgICAiRVJST1I6IGludmFsaWQgdk5WRElNTSBiYWNrZW5kIHR5cGUgJyVz J1xuIiwKKyAgICAgICAgICAgICAgICAgICAgb3BhcmcpOworICAgICAgICAgICAgcmV0dXJuIDE7 CisgICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigibnJfcGFnZXMiLCB0b2tl biwgb3BhcmcpKSB7CisgICAgICAgIHZhbCA9IHN0cnRvdWwob3BhcmcsICZlbmRwdHIsIDApOwor ICAgICAgICBpZiAoZW5kcHRyID09IG9wYXJnIHx8IHZhbCA9PSBVTE9OR19NQVgpCisgICAgICAg IHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICAgICAiRVJS T1I6IGludmFsaWQgbnVtYmVyIG9mIHZOVkRJTU0gYmFja2VuZCBwYWdlcyAnJXMnXG4iLAorICAg ICAgICAgICAgICAgICAgICBvcGFyZyk7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAg fQorICAgICAgICB2bnZkaW1tLT5ucl9wYWdlcyA9IHZhbDsKKyAgICB9IGVsc2UgaWYgKE1BVENI X09QVElPTigiYmFja2VuZCIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgLyogU2tpcDogaGFu ZGxlZCBieSBwYXJzZV92bnZkaW1tcygpICovCisgICAgfSBlbHNlIHsKKyAgICAgICAgZnByaW50 ZihzdGRlcnIsICJFUlJPUjogdW5rbm93biBzdHJpbmcgJyVzJyBpbiB2bnZkaW1tIHNwZWNcbiIs IHRva2VuKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisK Ky8qCisgKiB2bnZkaW1tcyA9IFsgJ3R5cGU9PG1mbj4sIGJhY2tlbmQ9PGJhc2VfbWZuPiwgbnJf cGFnZXM9PE4+JywgLi4uIF0KKyAqLworc3RhdGljIHZvaWQgcGFyc2Vfdm52ZGltbXMoWExVX0Nv bmZpZyAqY29uZmlnLCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZykKK3sKKyAgICBYTFVf Q29uZmlnTGlzdCAqdm52ZGltbXM7CisgICAgY29uc3QgY2hhciAqYnVmOworICAgIGludCByYzsK KworICAgIHJjID0geGx1X2NmZ19nZXRfbGlzdChjb25maWcsICJ2bnZkaW1tcyIsICZ2bnZkaW1t cywgMCwgMCk7CisgICAgaWYgKCByYyApCisgICAgICAgIHJldHVybjsKKworI2lmICFkZWZpbmVk KF9fbGludXhfXykKKyAgICBmcHJpbnRmKHN0ZGVyciwgIkVSUk9SOiAndm52ZGltbXMnIGlzIG9u bHkgc3VwcG9ydGVkIG9uIExpbnV4XG4iKTsKKyAgICBleGl0KC1FUlJPUl9GQUlMKTsKKyNlbmRp ZgorCisgICAgZF9jb25maWctPm51bV92bnZkaW1tcyA9IDA7CisgICAgZF9jb25maWctPnZudmRp bW1zID0gTlVMTDsKKworICAgIHdoaWxlICgoYnVmID0geGx1X2NmZ19nZXRfbGlzdGl0ZW0odm52 ZGltbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkX2NvbmZpZy0+ bnVtX3ZudmRpbW1zKSkgIT0gTlVMTCkgeworICAgICAgICBsaWJ4bF9kZXZpY2Vfdm52ZGltbSAq dm52ZGltbSA9CisgICAgICAgICAgICBBUlJBWV9FWFRFTkRfSU5JVChkX2NvbmZpZy0+dm52ZGlt bXMsIGRfY29uZmlnLT5udW1fdm52ZGltbXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kZXZpY2Vfdm52ZGltbV9pbml0KTsKKyAgICAgICAgY2hhciAqYnVmMiA9IHN0cmR1 cChidWYpLCAqYmFja2VuZCA9IE5VTEwsICpwLCAqZW5kcHRyOworICAgICAgICB1bnNpZ25lZCBs b25nIG1mbjsKKworICAgICAgICBwID0gc3RydG9rKGJ1ZjIsICIsIik7CisgICAgICAgIGlmICgh cCkKKyAgICAgICAgICAgIGdvdG8gc2tpcF9udmRpbW07CisKKyAgICAgICAgZG8geworICAgICAg ICAgICAgd2hpbGUgKCpwID09ICcgJykKKyAgICAgICAgICAgICAgICBwKys7CisKKyAgICAgICAg ICAgIHJjID0gMDsKKyAgICAgICAgICAgIGlmICghTUFUQ0hfT1BUSU9OKCJiYWNrZW5kIiwgcCwg YmFja2VuZCkpCisgICAgICAgICAgICAgICAgcmMgPSBwYXJzZV92bnZkaW1tX2NvbmZpZyh2bnZk aW1tLCBwKTsKKyAgICAgICAgICAgIGlmIChyYykKKyAgICAgICAgICAgICAgICBleGl0KC1FUlJP Ul9GQUlMKTsKKyAgICAgICAgfSB3aGlsZSAoKHAgPSBzdHJ0b2soTlVMTCwgIiwiKSkgIT0gTlVM TCk7CisKKyAgICAgICAgc3dpdGNoICh2bnZkaW1tLT5iYWNrZW5kX3R5cGUpCisgICAgICAgIHsK KyAgICAgICAgY2FzZSBMSUJYTF9WTlZESU1NX0JBQ0tFTkRfVFlQRV9NRk46CisgICAgICAgICAg ICBtZm4gPSBzdHJ0b3VsKGJhY2tlbmQsICZlbmRwdHIsIDApOworICAgICAgICAgICAgaWYgKGVu ZHB0ciA9PSBiYWNrZW5kIHx8IG1mbiA9PSBVTE9OR19NQVgpCisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICAgICAiRVJS T1I6IGludmFsaWQgc3RhcnQgTUZOIG9mIGhvc3QgTlZESU1NICclcydcbiIsCisgICAgICAgICAg ICAgICAgICAgICAgICBiYWNrZW5kKTsKKyAgICAgICAgICAgICAgICBleGl0KC1FUlJPUl9GQUlM KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZudmRpbW0tPnUubWZuID0gbWZuOworCisg ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgc2tpcF9udmRpbW06CisgICAgICAg IGZyZWUoYnVmMik7CisgICAgfQorfQorCisvKgorICogUmVzZXJ2ZWQgUkFNIHNwYWNlIGJ5IHFl bXUteGVuIGZvciBndWVzdCBBQ1BJLgorICovCisjZGVmaW5lIFFFTVVfWEVOX0FDUElfQlVJTERf VEFCTEVfTUFYX1NJWkUgMHgyMDAwMDAKKwogdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBj aGFyICpjb25maWdfc291cmNlLAogICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpj b25maWdfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgaW50IGNvbmZpZ19sZW4sCkBAIC0y MTMxLDYgKzIyMzQsMTEgQEAgc2tpcF91c2JkZXY6CiAgICAgICAgICAgICBleGl0KC1FUlJPUl9G QUlMKTsKICAgICAgICAgfQogCisgICAgICAgIC8qIHBhcnNlICd2bnZkaW1tcycgKi8KKyAgICAg ICAgcGFyc2Vfdm52ZGltbXMoY29uZmlnLCBkX2NvbmZpZyk7CisgICAgICAgIGlmIChkX2NvbmZp Zy0+bnVtX3ZudmRpbW1zICYmICFkbV9hY3BpX3NpemUpCisgICAgICAgICAgICBkbV9hY3BpX3Np emUgPSBRRU1VX1hFTl9BQ1BJX0JVSUxEX1RBQkxFX01BWF9TSVpFOworCiAgICAgICAgIGJfaW5m by0+dS5odm0uZG1fYWNwaV9zaXplID0gZG1fYWNwaV9zaXplOwogICAgIH0KIApkaWZmIC0tZ2l0 IGEvdG9vbHMveGwveGxfdm1jb250cm9sLmMgYi90b29scy94bC94bF92bWNvbnRyb2wuYwppbmRl eCA4OWMyYjI1ZGVkLi4xYmRjMTczZTA0IDEwMDY0NAotLS0gYS90b29scy94bC94bF92bWNvbnRy b2wuYworKysgYi90b29scy94bC94bF92bWNvbnRyb2wuYwpAQCAtMzgxLDEyICszODEsMjUgQEAg c3RhdGljIHZvaWQgcmVsb2FkX2RvbWFpbl9jb25maWcodWludDMyX3QgZG9taWQsCiAgICAgaWYg KHJjKSB7CiAgICAgICAgIExPRygiZmFpbGVkIHRvIHJldHJpZXZlIGd1ZXN0IGNvbmZpZ3VyYXRp b24gKHJjPSVkKS4gIgogICAgICAgICAgICAgInJldXNpbmcgb2xkIGNvbmZpZ3VyYXRpb24iLCBy Yyk7Ci0gICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWdfZGlzcG9zZSgmZF9jb25maWdfbmV3KTsK KyAgICAgICAgZ290byBlcnJvcl9vdXQ7CiAgICAgfSBlbHNlIHsKKyAgICAgICAgcmMgPSBsaWJ4 bF92bnZkaW1tX2NvcHlfY29uZmlnKGN0eCwgJmRfY29uZmlnX25ldywgZF9jb25maWcpOworICAg ICAgICBpZiAocmMpIHsKKyAgICAgICAgICAgIExPRygiZmFpbGVkIHRvIGNvcHkgdm52ZGltbSBj b25maWd1cmF0aW9uIChyYz0lZCkuICIKKyAgICAgICAgICAgICAgICAicmV1c2luZyBvbGQgY29u ZmlndXJhdGlvbiIsIHJjKTsKKyAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWdfZGlzcG9z ZSgmZF9jb25maWdfbmV3KTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3Jfb3V0OworICAgICAgICB9 CisKICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZpZ19kaXNwb3NlKGRfY29uZmlnKTsKICAgICAg ICAgLyogU3RlYWwgYWxsb2NhdGlvbnMgKi8KICAgICAgICAgbWVtY3B5KGRfY29uZmlnLCAmZF9j b25maWdfbmV3LCBzaXplb2YobGlieGxfZG9tYWluX2NvbmZpZykpOwogICAgIH0KKworICAgIHJl dHVybjsKKworIGVycm9yX291dDoKKyAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bvc2UoJmRf Y29uZmlnX25ldyk7CiB9CiAKIC8qIENhbiB1cGRhdGUgcl9kb21pZCBpZiBkb21haW4gaXMgZGVz dHJveWVkICovCi0tIAoyLjE1LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs