From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 40/41] tools/libxl: initiate PMEM mapping via QMP callback Date: Thu, 7 Dec 2017 18:10:29 +0800 Message-ID: <20171207101030.22364-41-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 VGhlIGJhc2UgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBvZiBlYWNoIHZOVkRJTU0gZGV2aWNlIGlz IGRlY2lkZWQgYnkKUUVNVS4gQWRkIGEgUU1QIGNhbGxiYWNrIHRvIGdldCB0aGUgYmFzZSBhZGRy ZXNzIGZyb20gUUVNVSBhbmQgcXVlcnkgWGVuCmh5cGVydmlzb3IgdG8gbWFwIGhvc3QgUE1FTSBw YWdlcyB0byB0aGF0IGFkZHJlc3MuCgpTaWduZWQtb2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFv emhvbmcuemhhbmdAaW50ZWwuY29tPgotLS0KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBl dS5jaXRyaXguY29tPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29s cy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgICA2ICsrCiB0b29scy9saWJ4bC9saWJ4bF9udmRp bW0uYyAgIHwgIDI5ICsrKysrKysrKysKIHRvb2xzL2xpYnhsL2xpYnhsX3FtcC5jICAgICAgfCAx MjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhs X2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IGJmYTk1ZDg2 MTkuLjhjNjZiMGU5M2IgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgK KysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtNDM0OSw2ICs0MzQ5LDEyIEBA IHN0YXRpYyBpbmxpbmUgYm9vbCBsaWJ4bF9fc3RyaW5nX2lzX2RlZmF1bHQoY2hhciAqKnMpCiB7 CiAgICAgcmV0dXJuICpzID09IE5VTEw7CiB9CisKKyNpZiBkZWZpbmVkKF9fbGludXhfXykKK2lu dCBsaWJ4bF92bnZkaW1tX2FkZF9wYWdlcyhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgbWZuLCB4ZW5fcGZuX3QgZ3Bm biwgeGVuX3Bmbl90IG5yX3BhZ2VzKTsKKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKwogI2VuZGlm CiAKIC8qCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9udmRpbW0uYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX252ZGltbS5jCmluZGV4IDE4NjNkNzZiYmMuLmEyYzcwZmM3ZTYgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX252ZGltbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX252 ZGltbS5jCkBAIC0xOTYsMyArMTk2LDMyIEBAIGludCBsaWJ4bF92bnZkaW1tX2NvcHlfY29uZmln KGxpYnhsX2N0eCAqY3R4LAogICAgIEdDX0ZSRUU7CiAgICAgcmV0dXJuIHJjOwogfQorCisjaWYg ZGVmaW5lZChfX2xpbnV4X18pCisKK2ludCBsaWJ4bF92bnZkaW1tX2FkZF9wYWdlcyhsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5f cGZuX3QgbWZuLCB4ZW5fcGZuX3QgZ3BmbiwgeGVuX3Bmbl90IG5yX3BhZ2VzKQoreworICAgIHVu c2lnbmVkIGludCBucjsKKyAgICBpbnQgcmV0OworCisgICAgd2hpbGUgKG5yX3BhZ2VzKSB7Cisg ICAgICAgIG5yID0gbWluKG5yX3BhZ2VzLCAodW5zaWduZWQgbG9uZylVSU5UX01BWCk7CisKKyAg ICAgICAgcmV0ID0geGNfZG9tYWluX3BvcHVsYXRlX3BtZW1fbWFwKENUWC0+eGNoLCBkb21pZCwg bWZuLCBncGZuLCBucik7CisgICAgICAgIGlmIChyZXQgJiYgcmV0ICE9IC1FUkVTVEFSVCkgewor ICAgICAgICAgICAgTE9HKEVSUk9SLCAiZmFpbGVkIHRvIG1hcCBQTUVNIHBhZ2VzLCBtZm4gMHgl IiBQUklfeGVuX3BmbiAiLCAiCisgICAgICAgICAgICAgICAgImdwZm4gMHglIiBQUklfeGVuX3Bm biAiLCBucl9wYWdlcyAldSwgZXJyICVkIiwKKyAgICAgICAgICAgICAgICBtZm4sIGdwZm4sIG5y LCByZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBucl9wYWdl cyAtPSBucjsKKyAgICAgICAgbWZuICs9IG5yOworICAgICAgICBncGZuICs9IG5yOworICAgIH0K KworICAgIHJldHVybiByZXQ7Cit9CisKKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKaW5k ZXggZTFlYjQ3YzFkMi4uZDQ3MWYzNjg3MCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf cW1wLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMKQEAgLTExNzAsNiArMTE3MCwxMjcg QEAgaW50IGxpYnhsX3FlbXVfbW9uaXRvcl9jb21tYW5kKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBkb21pZCwKICAgICByZXR1cm4gcmM7CiB9CiAKKyNpZiBkZWZpbmVkKF9fbGludXhfXykKKwor c3RhdGljIGludCBxbXBfcmVnaXN0ZXJfdm52ZGltbV9jYWxsYmFjayhsaWJ4bF9fcW1wX2hhbmRs ZXIgKnFtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg bGlieGxfX2pzb25fb2JqZWN0ICpvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2b2lkICphcmcpCit7CisgICAgR0NfSU5JVChxbXAtPmN0eCk7CisgICAgY29uc3Qg bGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vlc3RfY29uZmlnID0gYXJnOworICAgIGNvbnN0IGxpYnhs X2RldmljZV92bnZkaW1tICp2bnZkaW1tOworICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq b2JqLCAqc3ViX21hcCwgKnN1Yl9vYmo7CisgICAgY29uc3QgY2hhciAqaWQsICpleHBlY3RlZF9p ZDsKKyAgICB1bnNpZ25lZCBpbnQgaSwgc2xvdDsKKyAgICB1bnNpZ25lZCBsb25nIGdwYSwgc2l6 ZSwgbWZuLCBncGZuLCBucl9wYWdlczsKKyAgICBpbnQgcmMgPSAwOworCisgICAgZm9yIChpID0g MDsgKG9iaiA9IGxpYnhsX19qc29uX2FycmF5X2dldChvLCBpKSk7IGkrKykgeworICAgICAgICBp ZiAoIWxpYnhsX19qc29uX29iamVjdF9pc19tYXAob2JqKSkKKyAgICAgICAgICAgIGNvbnRpbnVl OworCisgICAgICAgIHN1Yl9tYXAgPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJkYXRhIiwgb2JqLCBK U09OX01BUCk7CisgICAgICAgIGlmICghc3ViX21hcCkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor CisgICAgICAgIHN1Yl9vYmogPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJzbG90Iiwgc3ViX21hcCwg SlNPTl9JTlRFR0VSKTsKKyAgICAgICAgc2xvdCA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfaW50 ZWdlcihzdWJfb2JqKTsKKyAgICAgICAgaWYgKHNsb3QgPiBndWVzdF9jb25maWctPm51bV92bnZk aW1tcykgeworICAgICAgICAgICAgTE9HKEVSUk9SLAorICAgICAgICAgICAgICAgICJJbnZhbGlk IFFFTVUgbWVtb3J5IGRldmljZSBzbG90ICV1LCBleHBlY3RpbmcgbGVzcyB0aGFuICV1IiwKKyAg ICAgICAgICAgICAgICBzbG90LCBndWVzdF9jb25maWctPm51bV92bnZkaW1tcyk7CisgICAgICAg ICAgICByYyA9IC1FUlJPUl9JTlZBTDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9 CisgICAgICAgIHZudmRpbW0gPSAmZ3Vlc3RfY29uZmlnLT52bnZkaW1tc1tzbG90XTsKKworICAg ICAgICAvKgorICAgICAgICAgKiBEb3VibGUgY2hlY2sgd2hldGhlciBpdCdzIGEgTlZESU1NIG1l bW9yeSBkZXZpY2UsIHRocm91Z2gKKyAgICAgICAgICogYWxsIG1lbW9yeSBkZXZpY2VzIGluIFFF TVUgb24gWGVuIGFyZSBmb3Igdk5WRElNTS4KKyAgICAgICAgICovCisgICAgICAgIGV4cGVjdGVk X2lkID0gbGlieGxfX3NwcmludGYoZ2MsICJ4ZW5fbnZkaW1tJXUiLCBzbG90ICsgMSk7CisgICAg ICAgIGlmICghZXhwZWN0ZWRfaWQpIHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwgIkNhbm5vdCBi dWlsZCBkZXZpY2UgaWQiKTsKKyAgICAgICAgICAgIHJjID0gLUVSUk9SX0ZBSUw7CisgICAgICAg ICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgICAgICBzdWJfb2JqID0gbGlieGxfX2pzb25f bWFwX2dldCgiaWQiLCBzdWJfbWFwLCBKU09OX1NUUklORyk7CisgICAgICAgIGlkID0gbGlieGxf X2pzb25fb2JqZWN0X2dldF9zdHJpbmcoc3ViX29iaik7CisgICAgICAgIGlmICghaWQgfHwgc3Ry bmNtcChpZCwgZXhwZWN0ZWRfaWQsIHN0cmxlbihleHBlY3RlZF9pZCkpKSB7CisgICAgICAgICAg ICBMT0coRVJST1IsCisgICAgICAgICAgICAgICAgIkludmFsaWQgUUVNVSBtZW1vcnkgZGV2aWNl IGlkICVzLCBleHBlY3RpbmcgJXMiLAorICAgICAgICAgICAgICAgIGlkLCBleHBlY3RlZF9pZCk7 CisgICAgICAgICAgICByYyA9IC1FUlJPUl9GQUlMOworICAgICAgICAgICAgZ290byBvdXQ7Cisg ICAgICAgIH0KKworICAgICAgICBzdWJfb2JqID0gbGlieGxfX2pzb25fbWFwX2dldCgiYWRkciIs IHN1Yl9tYXAsIEpTT05fSU5URUdFUik7CisgICAgICAgIGdwYSA9IGxpYnhsX19qc29uX29iamVj dF9nZXRfaW50ZWdlcihzdWJfb2JqKTsKKyAgICAgICAgc3ViX29iaiA9IGxpYnhsX19qc29uX21h cF9nZXQoInNpemUiLCBzdWJfbWFwLCBKU09OX0lOVEVHRVIpOworICAgICAgICBzaXplID0gbGli eGxfX2pzb25fb2JqZWN0X2dldF9pbnRlZ2VyKHN1Yl9vYmopOworICAgICAgICBpZiAoKGdwYSB8 IHNpemUpICYgflhDX1BBR0VfTUFTSykgeworICAgICAgICAgICAgTE9HKEVSUk9SLAorICAgICAg ICAgICAgICAgICJJbnZhbGlkIGFkZHJlc3MgMHglbHggb3Igc2l6ZSAweCVseCBvZiBRRU1VIG1l bW9yeSBkZXZpY2UgJXMsICIKKyAgICAgICAgICAgICAgICAibm90IGFsaWduZWQgdG8gMHglbHgi LAorICAgICAgICAgICAgICAgIGdwYSwgc2l6ZSwgaWQsIFhDX1BBR0VfU0laRSk7CisgICAgICAg ICAgICByYyA9IC1FUlJPUl9JTlZBTDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9 CisgICAgICAgIGdwZm4gPSBncGEgPj4gWENfUEFHRV9TSElGVDsKKworICAgICAgICBucl9wYWdl cyA9IHNpemUgPj4gWENfUEFHRV9TSElGVDsKKyAgICAgICAgaWYgKG5yX3BhZ2VzID4gdm52ZGlt bS0+bnJfcGFnZXMpIHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwKKyAgICAgICAgICAgICAgICAi SW52YWxpZCBzaXplIDB4JWx4IG9mIFFFTVUgbWVtb3J5IGRldmljZSAlcywgIgorICAgICAgICAg ICAgICAgICJleHBlY3Rpbmcgbm8gbGFyZ2VyIHRoYW4gMHglbHgiLAorICAgICAgICAgICAgICAg IHNpemUsIGlkLCB2bnZkaW1tLT5ucl9wYWdlcyA8PCBYQ19QQUdFX1NISUZUKTsKKyAgICAgICAg ICAgIHJjID0gLUVSUk9SX0lOVkFMOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0K KworICAgICAgICBzd2l0Y2ggKHZudmRpbW0tPmJhY2tlbmRfdHlwZSkgeworICAgICAgICBjYXNl IExJQlhMX1ZOVkRJTU1fQkFDS0VORF9UWVBFX01GTjoKKyAgICAgICAgICAgIG1mbiA9IHZudmRp bW0tPnUubWZuOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg ICAgICAgIExPRyhFUlJPUiwgIkludmFsaWQgTlZESU1NIGJhY2tlbmQgdHlwZSAldSIsIHZudmRp bW0tPmJhY2tlbmRfdHlwZSk7CisgICAgICAgICAgICByYyA9IC1FUlJPUl9JTlZBTDsKKyAgICAg ICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgcmMgPSBsaWJ4bF92bnZkaW1t X2FkZF9wYWdlcyhnYywgcW1wLT5kb21pZCwgbWZuLCBncGZuLCBucl9wYWdlcyk7CisgICAgICAg IGlmIChyYykgeworICAgICAgICAgICAgTE9HKEVSUk9SLAorICAgICAgICAgICAgICAgICJDYW5u b3QgbWFwIFBNRU0gcGFnZXMgZm9yIFFFTVUgbWVtb3J5IGRldmljZSAlcywgIgorICAgICAgICAg ICAgICAgICJtZm4gMHglbHgsIGdwZm4gMHglbHgsIG5yIDB4JWx4LCByYyAlZCIsCisgICAgICAg ICAgICAgICAgaWQsIG1mbiwgZ3BmbiwgbnJfcGFnZXMsIHJjKTsKKyAgICAgICAgICAgIHJjID0g LUVSUk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKwor IG91dDoKKyAgICBHQ19GUkVFOworICAgIHJldHVybiByYzsKK30KKworc3RhdGljIGludCBsaWJ4 bF9fcW1wX3F1ZXJ5X3ZudmRpbW1zKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcgKmd1 ZXN0X2NvbmZpZykKK3sKKyAgICBpbnQgcmM7CisgICAgR0NfSU5JVChxbXAtPmN0eCk7CisKKyAg ICByYyA9IHFtcF9zeW5jaHJvbm91c19zZW5kKHFtcCwgInF1ZXJ5LW1lbW9yeS1kZXZpY2VzIiwg TlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFtcF9yZWdpc3Rlcl92bnZkaW1t X2NhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKilndWVzdF9j b25maWcsIHFtcC0+dGltZW91dCk7CisKKyAgICBHQ19GUkVFOworICAgIHJldHVybiByYzsKK30K KworI2VuZGlmIC8qIF9fbGludXhfXyAqLworCiBpbnQgbGlieGxfX3FtcF9pbml0aWFsaXphdGlv bnMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgbGlieGxfZG9tYWluX2NvbmZpZyAqZ3Vlc3RfY29uZmlnKQogewpAQCAt MTE4OSw2ICsxMzEwLDE0IEBAIGludCBsaWJ4bF9fcW1wX2luaXRpYWxpemF0aW9ucyhsaWJ4bF9f Z2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICBpZiAoIXJldCkgewogICAgICAgICByZXQgPSBx bXBfcXVlcnlfdm5jKHFtcCk7CiAgICAgfQorCisjaWYgZGVmaW5lZChfX2xpbnV4X18pCisgICAg aWYgKCFyZXQgJiYgZ3Vlc3RfY29uZmlnLT5udW1fdm52ZGltbXMpIHsKKyAgICAgICAgaWdub3Jl X2Vycm9yID0gZmFsc2U7CisgICAgICAgIHJldCA9IGxpYnhsX19xbXBfcXVlcnlfdm52ZGltbXMo cW1wLCBndWVzdF9jb25maWcpOworICAgIH0KKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKwogICAg IGxpYnhsX19xbXBfY2xvc2UocW1wKTsKIAogIG91dDoKLS0gCjIuMTUuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=