From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v2 14/15] tools/libxl: initiate pmem mapping via qmp callback Date: Mon, 20 Mar 2017 08:09:48 +0800 Message-ID: <20170320000949.24675-15-haozhong.zhang@intel.com> References: <20170320000949.24675-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: <20170320000949.24675-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: Konrad Rzeszutek Wilk , Dan Williams , Ian Jackson , Wei Liu , Haozhong Zhang List-Id: xen-devel@lists.xenproject.org R2V0IHRoZSBiYWNrZW5kIGRldmljZSwgdGhlIGd1ZXN0IFNQQSBhbmQgdGhlIHNpemUgb2YgZWFj aCB2TlZESU1NCmRldmljZSB2aWEgUU1QIGNvbW1hbmRzICJxdWVyeS1tZW1vcnktZGV2aWNlIGRl dnR5cGU9bnZkaW1tIiBhbmQKInFvbS1nZXQiLCBhbmQgcGFzcyB0aGVtIHRvIGxpYnhsIHRvIG1h cCBlYWNoIGJhY2tlbmQgZGV2aWNlIHRvIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcg WmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0tCkNjOiBJYW4gSmFja3NvbiA8aWFu LmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ CgpDaGFuZ2VzIGluIHYyOgogKiBGYWlsIHRoZSBkb21haW4gY3JlYXRpb24gaWYgUU1QIGluaXRp YWxpemF0aW9uIGZvciBOVkRJTU0gZmFpbHMuCiAgIE90aGVyIGZhaWx1cmVzIGluIFFNUCBpbml0 aWFsaXphdGlvbiBkbyBub3QgZmFpbCB0aGUgZG9tYWluIGNyZWF0aW9uCiAgIGFzIGJlZm9yZS4K LS0tCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyB8ICAgNCArLQogdG9vbHMvbGlieGwvbGli eGxfcW1wLmMgICAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwv bGlieGxfY3JlYXRlLmMKaW5kZXggZTc0MWI5YTM5YS4uYjhjODY3ZDBmYSAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMKQEAgLTE1MTAsNyArMTUxMCw5IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9kZXZtb2RlbF9z dGFydGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICBpZiAoZGNzLT5zZHNzLmRtLmd1ZXN0X2RvbWlk KSB7CiAgICAgICAgIGlmIChkX2NvbmZpZy0+Yl9pbmZvLmRldmljZV9tb2RlbF92ZXJzaW9uCiAg ICAgICAgICAgICA9PSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hFTikgewotICAg ICAgICAgICAgbGlieGxfX3FtcF9pbml0aWFsaXphdGlvbnMoZ2MsIGRvbWlkLCBkX2NvbmZpZyk7 CisgICAgICAgICAgICByZXQgPSBsaWJ4bF9fcW1wX2luaXRpYWxpemF0aW9ucyhnYywgZG9taWQs IGRfY29uZmlnKTsKKyAgICAgICAgICAgIGlmIChyZXQgPT0gRVJST1JfQkFERkFJTCkKKyAgICAg ICAgICAgICAgICBnb3RvIGVycm9yX291dDsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0 IGEvdG9vbHMvbGlieGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwppbmRl eCBhOTE2NDNhNGY5Li4yNDRkNGJlZTVhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9x bXAuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAtMjYsNiArMjYsNyBAQAogCiAj aW5jbHVkZSAiX2xpYnhsX2xpc3QuaCIKICNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgorI2lu Y2x1ZGUgImxpYnhsX252ZGltbS5oIgogCiAvKiAjZGVmaW5lIERFQlVHX1JFQ0VJVkVEICovCiAK QEAgLTExNDYsNiArMTE0NywxMTEgQEAgb3V0OgogICAgIHJldHVybiByYzsKIH0KIAorc3RhdGlj IGludCBxbXBfbnZkaW1tX2dldF9tZW1wYXRoKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUpCit7Cisg ICAgY29uc3QgY2hhciAqKm91dHB1dCA9IG9wYXF1ZTsKKyAgICBjb25zdCBjaGFyICptZW1fcGF0 aDsKKyAgICBpbnQgcmMgPSAwOworICAgIEdDX0lOSVQocW1wLT5jdHgpOworCisgICAgaWYgKCFv KSB7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQor CisgICAgbWVtX3BhdGggPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X3N0cmluZyhvKTsKKyAgICBp ZiAoIW1lbV9wYXRoKSB7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBv dXQ7CisgICAgfQorICAgICpvdXRwdXQgPSBsaWJ4bF9fc3RyZHVwKE5PR0MsIG1lbV9wYXRoKTsK KworIG91dDoKKyAgICBHQ19GUkVFOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50IHFt cF9yZWdpc3Rlcl9udmRpbW1fY2FsbGJhY2sobGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2Jq ZWN0ICpvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVu dXNlZCkKK3sKKyAgICBHQ19JTklUKHFtcC0+Y3R4KTsKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9v YmplY3QgKm9iaiwgKnN1Yl9vYmosICpzdWJfbWFwOworICAgIGxpYnhsX19qc29uX29iamVjdCAq YXJncyA9IE5VTEw7CisgICAgdW5zaWduZWQgaW50IGkgPSAwOworICAgIGNvbnN0IGNoYXIgKm1l bV9wYXRoID0gTlVMTCwgKm1lbWRldjsKKyAgICB1aW50NjRfdCBzbG90LCBzcGEsIHNpemU7Cisg ICAgaW50IHJjID0gMDsKKworICAgIGZvciAoaSA9IDA7IChvYmogPSBsaWJ4bF9fanNvbl9hcnJh eV9nZXQobywgaSkpOyBpKyspIHsKKyAgICAgICAgaWYgKCFsaWJ4bF9fanNvbl9vYmplY3RfaXNf bWFwKG9iaikpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBzdWJfbWFwID0gbGli eGxfX2pzb25fbWFwX2dldCgiZGF0YSIsIG9iaiwgSlNPTl9NQVApOworICAgICAgICBpZiAoIXN1 Yl9tYXApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBzdWJfb2JqID0gbGlieGxf X2pzb25fbWFwX2dldCgic2xvdCIsIHN1Yl9tYXAsIEpTT05fSU5URUdFUik7CisgICAgICAgIHNs b3QgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2ludGVnZXIoc3ViX29iaik7CisKKyAgICAgICAg c3ViX29iaiA9IGxpYnhsX19qc29uX21hcF9nZXQoIm1lbWRldiIsIHN1Yl9tYXAsIEpTT05fU1RS SU5HKTsKKyAgICAgICAgbWVtZGV2ID0gbGlieGxfX2pzb25fb2JqZWN0X2dldF9zdHJpbmcoc3Vi X29iaik7CisgICAgICAgIGlmICghbWVtZGV2KSB7CisgICAgICAgICAgICBMT0coRVJST1IsICJD YW5ub3QgZ2V0IGJhY2tlbmQgbWVtZGV2IG9mIE5WRElNTSAjJSIgUFJJZDY0LCBzbG90KTsKKyAg ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAg ICB9CisgICAgICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZhcmdzLCAicGF0aCIs IG1lbWRldik7CisgICAgICAgIHFtcF9wYXJhbWV0ZXJzX2FkZF9zdHJpbmcoZ2MsICZhcmdzLCAi cHJvcGVydHkiLCAibWVtLXBhdGgiKTsKKyAgICAgICAgcmMgPSBxbXBfc3luY2hyb25vdXNfc2Vu ZChxbXAsICJxb20tZ2V0IiwgYXJncywgcW1wX252ZGltbV9nZXRfbWVtcGF0aCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmbWVtX3BhdGgsIHFtcC0+dGltZW91dCk7CisgICAg ICAgIGlmIChyYykgeworICAgICAgICAgICAgTE9HKEVSUk9SLCAiQ2Fubm90IGdldCB0aGUgYmFj a2VuZCBkZXZpY2Ugb2YgTlZESU1NICMlIiBQUklkNjQsIHNsb3QpOworICAgICAgICAgICAgZ290 byBvdXQ7CisgICAgICAgIH0KKworICAgICAgICBzdWJfb2JqID0gbGlieGxfX2pzb25fbWFwX2dl dCgiYWRkciIsIHN1Yl9tYXAsIEpTT05fSU5URUdFUik7CisgICAgICAgIHNwYSA9IGxpYnhsX19q c29uX29iamVjdF9nZXRfaW50ZWdlcihzdWJfb2JqKTsKKworICAgICAgICBzdWJfb2JqID0gbGli eGxfX2pzb25fbWFwX2dldCgic2l6ZSIsIHN1Yl9tYXAsIEpTT05fSU5URUdFUik7CisgICAgICAg IHNpemUgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2ludGVnZXIoc3ViX29iaik7CisKKyAgICAg ICAgTE9HKERFQlVHLAorICAgICAgICAgICAgInZOVkRJTU0gIyUiIFBSSWQ2NCAiOiAlcywgc3Bh IDB4JSIgUFJJeDY0ICIsIHNpemUgMHglIiBQUkl4NjQsCisgICAgICAgICAgICBzbG90LCBtZW1f cGF0aCwgc3BhLCBzaXplKTsKKworICAgICAgICByYyA9IGxpYnhsX252ZGltbV9hZGRfZGV2aWNl KGdjLCBxbXAtPmRvbWlkLCBtZW1fcGF0aCwgc3BhLCBzaXplKTsKKyAgICAgICAgaWYgKHJjKSB7 CisgICAgICAgICAgICBMT0coRVJST1IsCisgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBhZGQg TlZESU1NICMlIiBQUklkNjQKKyAgICAgICAgICAgICAgICAiKG1lbV9wYXRoICVzLCBzcGEgMHgl IiBQUkl4NjQgIiwgc2l6ZSAweCUiIFBSSXg2NCAiKSAiCisgICAgICAgICAgICAgICAgInRvIGRv bWFpbiAlZCAoZXJyID0gJWQpIiwKKyAgICAgICAgICAgICAgICBzbG90LCBtZW1fcGF0aCwgc3Bh LCBzaXplLCBxbXAtPmRvbWlkLCByYyk7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAg fQorICAgIH0KKworIG91dDoKKyAgICBHQ19GUkVFOworICAgIHJldHVybiByYzsKK30KKworc3Rh dGljIGludCBsaWJ4bF9fcW1wX3F1ZXJ5X252ZGltbXMobGlieGxfX3FtcF9oYW5kbGVyICpxbXAp Cit7CisgICAgbGlieGxfX2pzb25fb2JqZWN0ICphcmdzID0gTlVMTDsKKyAgICBpbnQgcmM7Cisg ICAgR0NfSU5JVChxbXAtPmN0eCk7CisKKyAgICBxbXBfcGFyYW1ldGVyc19hZGRfc3RyaW5nKGdj LCAmYXJncywgImRldnR5cGUiLCAibnZkaW1tIik7CisgICAgcmMgPSBxbXBfc3luY2hyb25vdXNf c2VuZChxbXAsICJxdWVyeS1tZW1vcnktZGV2aWNlcyIsIGFyZ3MsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBxbXBfcmVnaXN0ZXJfbnZkaW1tX2NhbGxiYWNrLCBOVUxMLCBxbXAtPnRp bWVvdXQpOworCisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CisKIGludCBsaWJ4bF9f cW1wX2htcChsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGNvbnN0IGNoYXIgKmNvbW1hbmRfbGlu ZSwKICAgICAgICAgICAgICAgICAgICBjaGFyICoqb3V0cHV0KQogewpAQCAtMTE3NCwxMSArMTI4 MCwxMiBAQCBpbnQgbGlieGxfX3FtcF9pbml0aWFsaXphdGlvbnMobGlieGxfX2djICpnYywgdWlu dDMyX3QgZG9taWQsCiB7CiAgICAgY29uc3QgbGlieGxfdm5jX2luZm8gKnZuYyA9IGxpYnhsX19k bV92bmMoZ3Vlc3RfY29uZmlnKTsKICAgICBsaWJ4bF9fcW1wX2hhbmRsZXIgKnFtcCA9IE5VTEw7 CisgICAgYm9vbCBpZ25vcmVfZXJyb3IgPSB0cnVlOwogICAgIGludCByZXQgPSAwOwogCiAgICAg cW1wID0gbGlieGxfX3FtcF9pbml0aWFsaXplKGdjLCBkb21pZCk7CiAgICAgaWYgKCFxbXApCi0g ICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiAgICAgcmV0ID0g bGlieGxfX3FtcF9xdWVyeV9zZXJpYWwocW1wKTsKICAgICBpZiAoIXJldCAmJiB2bmMgJiYgdm5j LT5wYXNzd2QpIHsKICAgICAgICAgcmV0ID0gcW1wX2NoYW5nZShnYywgcW1wLCAidm5jIiwgInBh c3N3b3JkIiwgdm5jLT5wYXNzd2QpOwpAQCAtMTE4Nyw4ICsxMjk0LDEzIEBAIGludCBsaWJ4bF9f cW1wX2luaXRpYWxpemF0aW9ucyhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICBp ZiAoIXJldCkgewogICAgICAgICByZXQgPSBxbXBfcXVlcnlfdm5jKHFtcCk7CiAgICAgfQorICAg IGlmICghcmV0ICYmIGd1ZXN0X2NvbmZpZy0+bnVtX3ZudmRpbW1zKSB7CisgICAgICAgIHJldCA9 IGxpYnhsX19xbXBfcXVlcnlfbnZkaW1tcyhxbXApOworICAgICAgICBpZ25vcmVfZXJyb3IgPSBm YWxzZTsKKyAgICB9CiAgICAgbGlieGxfX3FtcF9jbG9zZShxbXApOwotICAgIHJldHVybiByZXQ7 CisKKyAgICByZXR1cm4gcmV0ID8gKGlnbm9yZV9lcnJvciA/IEVSUk9SX0ZBSUwgOiBFUlJPUl9C QURGQUlMKSA6IDA7CiB9CiAKIC8qCi0tIAoyLjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK