From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH 12/16] tools/libxl: build qemu options from xl vNVDIMM configs Date: Mon, 10 Oct 2016 08:32:31 +0800 Message-ID: <20161010003235.4213-13-haozhong.zhang@intel.com> References: <20161010003235.4213-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: <20161010003235.4213-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Wei Liu , Xiao Guangrong , Ian Jackson List-Id: xen-devel@lists.xenproject.org Rm9yIHhsIHZOVkRJTU0gY29uZmlncwogIHZudmRpbW1zID0gWyAnL3BhdGgvdG8vcG1lbTAnLCAn L3BhdGgvdG8vcG1lbTEnLCAuLi4gXQoKdGhlIGZvbGxvd2luZyBxZW11IG9wdGlvbnMgYXJlIGJ1 aWx0CiAgLW1hY2hpbmUgPGV4aXN0aW5nIG9wdGlvbnM+LG52ZGltbQogIC1tIDxleGlzdGluZyBv cHRpb25zPixzbG90cz0kTlJfU0xPVFMsbWF4bWVtPSRNRU1fU0laRQogIC1vYmplY3QgbWVtb3J5 LWJhY2tlbmQteGVuLGlkPW1lbTEsc2l6ZT0kUE1FTTBfU0laRSxtZW0tcGF0aD0vcGF0aC90by9w bWVtMAogIC1kZXZpY2UgbnZkaW1tLGlkPW52ZGltbTEsbWVtZGV2PW1lbTEKICAtb2JqZWN0IG1l bW9yeS1iYWNrZW5kLXhlbixpZD1tZW0yLHNpemU9JFBNRU0xX1NJWkUsbWVtLXBhdGg9L3BhdGgv dG8vcG1lbTEKICAtZGV2aWNlIG52ZGltbSxpZD1udmRpbW0yLG1lbWRldj1tZW0yCiAgLi4uCndo ZXJlCiogTlJfU0xPVFMgaXMgdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIHZudmRpbW1zICsgMSwK KiBNRU1fU0laRSBpcyB0aGUgdG90YWwgc2l6ZSBvZiBhbGwgUkFNIGFuZCBOVkRJTU0gZGV2aWNl cywKKiBQTUVNI19TSVpFIGlzIHRoZSBzaXplIG9mIHRoZSBob3N0IHBtZW0gZGV2aWNlL2ZpbGUg Jy9wYXRoL3RvL3BtZW0jJy4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9u Zy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNp dHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xp YnhsL2xpYnhsX2RtLmMgICAgICB8IDExMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIHwgICA4ICsrKysKIHRv b2xzL2xpYnhsL3hsX2NtZGltcGwuYyAgICB8ICAxNiArKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDEzNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2RtLmMgYi90b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IGFkMzY2YTguLjZi OGMwMTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfZG0uYwpAQCAtMjQsNiArMjQsMTAgQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K ICNpbmNsdWRlIDxwd2QuaD4KIAorI2lmIGRlZmluZWQoX19saW51eF9fKQorI2luY2x1ZGUgPGxp bnV4L2ZzLmg+CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIgKmxpYnhsX3RhcGlmX3Njcmlw dChsaWJ4bF9fZ2MgKmdjKQogewogI2lmIGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9f RnJlZUJTRF9fKQpAQCAtOTA1LDYgKzkwOSw4NiBAQCBzdGF0aWMgY2hhciAqcWVtdV9kaXNrX2lk ZV9kcml2ZV9zdHJpbmcobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqdGFyZ2V0X3BhdGgsCiAg ICAgcmV0dXJuIGRyaXZlOwogfQogCisjaWYgZGVmaW5lZChfX2xpbnV4X18pCisKK3N0YXRpYyB1 aW50NjRfdCBsaWJ4bF9fYnVpbGRfZG1fdm52ZGltbV9hcmdzKGxpYnhsX19nYyAqZ2MsIGZsZXhh cnJheV90ICpkbV9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGxpYnhsX2RldmljZV92bnZkaW1tICpkZXYsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGV2X25vKQoreworICAgIGludCBmZCwg cmM7CisgICAgc3RydWN0IHN0YXQgc3Q7CisgICAgdWludDY0X3Qgc2l6ZSA9IDA7CisgICAgY2hh ciAqYXJnOworCisgICAgZmQgPSBvcGVuKGRldi0+ZmlsZSwgT19SRE9OTFkpOworICAgIGlmIChm ZCA8IDApIHsKKyAgICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIG9wZW4gZmlsZSAlczogJXMi LAorICAgICAgICAgICAgZGV2LT5maWxlLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICBnb3Rv IG91dDsKKyAgICB9CisKKyAgICBpZiAoc3RhdChkZXYtPmZpbGUsICZzdCkpIHsKKyAgICAgICAg TE9HKEVSUk9SLCAiZmFpbGVkIHRvIGdldCBzdGF0dXMgb2YgZmlsZSAlczogJXMiLAorICAgICAg ICAgICAgZGV2LT5maWxlLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICBnb3RvIG91dF9mY2xv c2U7CisgICAgfQorCisgICAgc3dpdGNoIChzdC5zdF9tb2RlICYgU19JRk1UKSB7CisgICAgY2Fz ZSBTX0lGQkxLOgorICAgICAgICByYyA9IGlvY3RsKGZkLCBCTEtHRVRTSVpFNjQsICZzaXplKTsK KyAgICAgICAgaWYgKHJjID09IC0xKSB7CisgICAgICAgICAgICBMT0coRVJST1IsICJmYWlsZWQg dG8gZ2V0IHNpemUgb2YgYmxvY2sgZGV2aWNlICVzOiAlcyIsCisgICAgICAgICAgICAgICAgZGV2 LT5maWxlLCBzdHJlcnJvcihlcnJubykpOworICAgICAgICAgICAgc2l6ZSA9IDA7CisgICAgICAg IH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIFNfSUZSRUc6CisgICAgICAgIHNpemUgPSBz dC5zdF9zaXplOworICAgICAgICBicmVhazsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIExPRyhF UlJPUiwgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSBvciByZWd1bGFyIGZpbGUiLCBkZXYtPmZp bGUpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAoIXNpemUpCisgICAgICAgIGdv dG8gb3V0X2ZjbG9zZTsKKworICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgIi1vYmplY3Qi KTsKKyAgICBhcmcgPSBHQ1NQUklOVEYoIm1lbW9yeS1iYWNrZW5kLXhlbixpZD1tZW0lZCxzaXpl PSUiUFJJdTY0IixtZW0tcGF0aD0lcyIsCisgICAgICAgICAgICAgICAgICAgIGRldl9ubyArIDEs IHNpemUsIGRldi0+ZmlsZSk7CisgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCBhcmcpOwor CisgICAgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLWRldmljZSIpOworICAgIGFyZyA9IEdD U1BSSU5URigibnZkaW1tLGlkPW52ZGltbSVkLG1lbWRldj1tZW0lZCIsIGRldl9ubyArIDEsIGRl dl9ubyArIDEpOworICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgYXJnKTsKKworIG91dF9m Y2xvc2U6CisgICAgY2xvc2UoZmQpOworIG91dDoKKyAgICByZXR1cm4gc2l6ZTsKK30KKworc3Rh dGljIHVpbnQ2NF90IGxpYnhsX19idWlsZF9kbV92bnZkaW1tc19hcmdzKAorICAgIGxpYnhsX19n YyAqZ2MsIGZsZXhhcnJheV90ICpkbV9hcmdzLAorICAgIHN0cnVjdCBsaWJ4bF9kZXZpY2Vfdm52 ZGltbSAqdm52ZGltbXMsIGludCBudW1fdm52ZGltbXMpCit7CisgICAgdWludDY0X3QgdG90YWxf c2l6ZSA9IDAsIHNpemU7CisgICAgaW50IGk7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3Zu dmRpbW1zOyBpKyspIHsKKyAgICAgICAgc2l6ZSA9IGxpYnhsX19idWlsZF9kbV92bnZkaW1tX2Fy Z3MoZ2MsIGRtX2FyZ3MsICZ2bnZkaW1tc1tpXSwgaSk7CisgICAgICAgIGlmICghc2l6ZSkKKyAg ICAgICAgICAgIGJyZWFrOworICAgICAgICB0b3RhbF9zaXplICs9IHNpemU7CisgICAgfQorCisg ICAgcmV0dXJuIHRvdGFsX3NpemU7Cit9CisKKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKwogc3Rh dGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2Ms CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZG0s IGludCBndWVzdF9kb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBsaWJ4bF9kb21haW5fY29uZmlnICpndWVzdF9jb25maWcsCkBAIC05MTgsMTMgKzEw MDIsMTggQEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3KGxp YnhsX19nYyAqZ2MsCiAgICAgY29uc3QgbGlieGxfZGV2aWNlX25pYyAqbmljcyA9IGd1ZXN0X2Nv bmZpZy0+bmljczsKICAgICBjb25zdCBpbnQgbnVtX2Rpc2tzID0gZ3Vlc3RfY29uZmlnLT5udW1f ZGlza3M7CiAgICAgY29uc3QgaW50IG51bV9uaWNzID0gZ3Vlc3RfY29uZmlnLT5udW1fbmljczsK KyNpZiBkZWZpbmVkKF9fbGludXhfXykKKyAgICBjb25zdCBpbnQgbnVtX3ZudmRpbW1zID0gZ3Vl c3RfY29uZmlnLT5udW1fdm52ZGltbXM7CisjZWxzZQorICAgIGNvbnN0IGludCBudW1fdm52ZGlt bXMgPSAwOworI2VuZGlmCiAgICAgY29uc3QgbGlieGxfdm5jX2luZm8gKnZuYyA9IGxpYnhsX19k bV92bmMoZ3Vlc3RfY29uZmlnKTsKICAgICBjb25zdCBsaWJ4bF9zZGxfaW5mbyAqc2RsID0gZG1f c2RsKGd1ZXN0X2NvbmZpZyk7CiAgICAgY29uc3QgY2hhciAqa2V5bWFwID0gZG1fa2V5bWFwKGd1 ZXN0X2NvbmZpZyk7CiAgICAgY2hhciAqbWFjaGluZWFyZzsKICAgICBmbGV4YXJyYXlfdCAqZG1f YXJncywgKmRtX2VudnM7CiAgICAgaW50IGksIGNvbm5lY3Rpb24sIGRldmlkLCByZXQ7Ci0gICAg dWludDY0X3QgcmFtX3NpemU7CisgICAgdWludDY0X3QgcmFtX3NpemUsIHJhbV9zaXplX2luX2J5 dGUsIHZudmRpbW1zX3NpemUgPSAwOwogICAgIGNvbnN0IGNoYXIgKnBhdGgsICpjaGFyZGV2Owog ICAgIGNoYXIgKnVzZXIgPSBOVUxMOwogCkBAIC0xMzA3LDYgKzEzOTYsOSBAQCBzdGF0aWMgaW50 IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2djICpnYywKICAgICAg ICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIGlmIChudW1fdm52ZGltbXMpCisgICAgICAg ICAgICBtYWNoaW5lYXJnID0gbGlieGxfX3NwcmludGYoZ2MsICIlcyxudmRpbW0iLCBtYWNoaW5l YXJnKTsKKwogICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsIG1hY2hpbmVhcmcpOwog ICAgICAgICBmb3IgKGkgPSAwOyBiX2luZm8tPmV4dHJhX2h2bSAmJiBiX2luZm8tPmV4dHJhX2h2 bVtpXSAhPSBOVUxMOyBpKyspCiAgICAgICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3Ms IGJfaW5mby0+ZXh0cmFfaHZtW2ldKTsKQEAgLTEzMTYsOCArMTQwOCwyNSBAQCBzdGF0aWMgaW50 IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2djICpnYywKICAgICB9 CiAKICAgICByYW1fc2l6ZSA9IGxpYnhsX19zaXpla2JfdG9fbWIoYl9pbmZvLT5tYXhfbWVta2Ig LSBiX2luZm8tPnZpZGVvX21lbWtiKTsKKyAgICByYW1fc2l6ZV9pbl9ieXRlID0gcmFtX3NpemUg KiAxMDI0ICogMTAyNDsKKyAgICBpZiAobnVtX3ZudmRpbW1zKSB7CisgICAgICAgIHZudmRpbW1z X3NpemUgPSBsaWJ4bF9fYnVpbGRfZG1fdm52ZGltbXNfYXJncyhnYywgZG1fYXJncywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RfY29u ZmlnLT52bnZkaW1tcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbnVtX3ZudmRpbW1zKTsKKyAgICAgICAgaWYgKHJhbV9zaXplX2luX2J5dGUg KyB2bnZkaW1tc19zaXplIDwgcmFtX3NpemVfaW5fYnl0ZSkgeworICAgICAgICAgICAgTE9HKEVS Uk9SLAorICAgICAgICAgICAgICAgICJ0b3RhbCBzaXplIG9mIFJBTSAoJSJQUkl1NjQiKSBhbmQg TlZESU1NICglIlBSSXU2NCIpIG92ZXJmbG93IiwKKyAgICAgICAgICAgICAgICByYW1fc2l6ZV9p bl9ieXRlLCB2bnZkaW1tc19zaXplKTsKKyAgICAgICAgICAgIHJldHVybiBFUlJPUl9JTlZBTDsK KyAgICAgICAgfQorICAgIH0KICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsICItbSIpOwot ICAgIGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgR0NTUFJJTlRGKCIlIlBSSWQ2NCwgcmFtX3Np emUpKTsKKyAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsCisgICAgICAgICAgICAgICAgICAg ICB2bnZkaW1tc19zaXplID8KKyAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJSJQUklk NjQiLHNsb3RzPSVkLG1heG1lbT0lIlBSSWQ2NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByYW1fc2l6ZSwgbnVtX3ZudmRpbW1zICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBST1VORFVQKHJhbV9zaXplX2luX2J5dGUgKyB2bnZkaW1tc19zaXplLCAxMikpIDoK KyAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJSJQUklkNjQsIHJhbV9zaXplKSk7CiAK ICAgICBpZiAoYl9pbmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX0hWTSkgewogICAgICAg ICBpZiAoYl9pbmZvLT51Lmh2bS5oZHR5cGUgPT0gTElCWExfSERUWVBFX0FIQ0kpCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBl cy5pZGwKaW5kZXggYTMyYzc1MS4uNzZlNDY0MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGli eGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtNzAzLDYg KzcwMywxMyBAQCBsaWJ4bF9kZXZpY2VfY2hhbm5lbCA9IFN0cnVjdCgiZGV2aWNlX2NoYW5uZWwi LCBbCiAgICAgICAgICAgIF0pKSwKIF0pCiAKK2xpYnhsX2RldmljZV92bnZkaW1tID0gU3RydWN0 KCJkZXZpY2Vfdm52ZGltbSIsIFsKKyAgICAoImJhY2tlbmRfZG9taWQiLCAgIGxpYnhsX2RvbWlk KSwKKyAgICAoImJhY2tlbmRfZG9tbmFtZSIsIHN0cmluZyksCisgICAgKCJkZXZpZCIsICAgICAg ICAgICBsaWJ4bF9kZXZpZCksCisgICAgKCJmaWxlIiwgICAgICAgICAgICBzdHJpbmcpLAorXSkK KwogbGlieGxfZG9tYWluX2NvbmZpZyA9IFN0cnVjdCgiZG9tYWluX2NvbmZpZyIsIFsKICAgICAo ImNfaW5mbyIsIGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyksCiAgICAgKCJiX2luZm8iLCBsaWJ4 bF9kb21haW5fYnVpbGRfaW5mbyksCkBAIC03MjAsNiArNzI3LDcgQEAgbGlieGxfZG9tYWluX2Nv bmZpZyA9IFN0cnVjdCgiZG9tYWluX2NvbmZpZyIsIFsKICAgICAoImNoYW5uZWxzIiwgQXJyYXko bGlieGxfZGV2aWNlX2NoYW5uZWwsICJudW1fY2hhbm5lbHMiKSksCiAgICAgKCJ1c2JjdHJscyIs IEFycmF5KGxpYnhsX2RldmljZV91c2JjdHJsLCAibnVtX3VzYmN0cmxzIikpLAogICAgICgidXNi ZGV2cyIsIEFycmF5KGxpYnhsX2RldmljZV91c2JkZXYsICJudW1fdXNiZGV2cyIpKSwKKyAgICAo InZudmRpbW1zIiwgQXJyYXkobGlieGxfZGV2aWNlX3ZudmRpbW0sICJudW1fdm52ZGltbXMiKSks CiAKICAgICAoIm9uX3Bvd2Vyb2ZmIiwgbGlieGxfYWN0aW9uX29uX3NodXRkb3duKSwKICAgICAo Im9uX3JlYm9vdCIsIGxpYnhsX2FjdGlvbl9vbl9zaHV0ZG93biksCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC94bF9jbWRpbXBsLmMgYi90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKaW5kZXggYmI1 YWZiOC4uZTMxNGI0MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCisrKyBi L3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwpAQCAtMTMzMCw2ICsxMzMwLDcgQEAgc3RhdGljIHZv aWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwKICAgICBYTFVf Q29uZmlnTGlzdCAqY3B1cywgKnZiZHMsICpuaWNzLCAqcGNpcywgKmN2ZmJzLCAqY3B1aWRzLCAq dnRwbXMsCiAgICAgICAgICAgICAgICAgICAgKnVzYmN0cmxzLCAqdXNiZGV2czsKICAgICBYTFVf Q29uZmlnTGlzdCAqY2hhbm5lbHMsICppb3BvcnRzLCAqaXJxcywgKmlvbWVtLCAqdmlyaWRpYW4s ICpkdGRldnM7CisgICAgWExVX0NvbmZpZ0xpc3QgKnZudmRpbW1zOwogICAgIGludCBudW1faW9w b3J0cywgbnVtX2lycXMsIG51bV9pb21lbSwgbnVtX2NwdXMsIG51bV92aXJpZGlhbjsKICAgICBp bnQgcGNpX3Bvd2VyX21nbXQgPSAwOwogICAgIGludCBwY2lfbXNpdHJhbnNsYXRlID0gMDsKQEAg LTI1MTQsNiArMjUxNSwyMSBAQCBza2lwX3VzYmRldjoKICAgICAgICAgfQogICAgICB9CiAKKyAg ICBpZiAoIXhsdV9jZmdfZ2V0X2xpc3QgKGNvbmZpZywgInZudmRpbW1zIiwgJnZudmRpbW1zLCAw LCAwKSkgeworI2lmIGRlZmluZWQoX19saW51eF9fKQorICAgICAgICB3aGlsZSAoKGJ1ZiA9IHhs dV9jZmdfZ2V0X2xpc3RpdGVtKHZudmRpbW1zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRfY29uZmlnLT5udW1fdm52ZGltbXMpKSAhPSBOVUxMKSB7CisgICAg ICAgICAgICBsaWJ4bF9kZXZpY2Vfdm52ZGltbSAqdm52ZGltbSA9CisgICAgICAgICAgICAgICAg QVJSQVlfRVhURU5EX0lOSVQoZF9jb25maWctPnZudmRpbW1zLCBkX2NvbmZpZy0+bnVtX3ZudmRp bW1zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RldmljZV92bnZk aW1tX2luaXQpOworICAgICAgICAgICAgdm52ZGltbS0+ZmlsZSA9IHN0cmR1cChidWYpOworICAg ICAgICB9CisjZWxzZQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkVSUk9SOiB2bnZkaW1tcyBp cyBvbmx5IHN1cHBvcnRlZCBvbiBMaW51eFxuIik7CisgICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwp OworI2VuZGlmIC8qIF9fbGludXhfXyAqLworICAgIH0KKwogICAgIHhsdV9jZmdfZGVzdHJveShj b25maWcpOwogfQogCi0tIAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK