From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH 16/16] tools/libxl: initiate pmem mapping via qmp callback Date: Mon, 10 Oct 2016 08:32:35 +0800 Message-ID: <20161010003235.4213-17-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 UU1QIGNvbW1hbmQgJ3F1ZXJ5LW52ZGltbXMnIGlzIHVzZWQgYnkgbGlieGwgdG8gZ2V0IHRoZSBi YWNrZW5kLCB0aGUKZ3Vlc3QgU1BBIGFuZCBzaXplIG9mIGVhY2ggdk5WRElNTSBkZXZpY2UsIGFu ZCB0aGVuIGxpYnhsIHN0YXJ0cyBtYXBwaW5nCmJhY2tlbmQgdG8gZ3Vlc3QgZm9yIGVhY2ggdk5W RElNTSBkZXZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBIYW96aG9uZyBaaGFuZyA8aGFvemhvbmcuemhh bmdAaW50ZWwuY29tPgotLS0KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXgu Y29tPgpDYzogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0b29scy9saWJ4bC9s aWJ4bF9xbXAuYyB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2NCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwppbmRleCBm OGFkZGY5Li4wMmVkZDA5IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9xbXAuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAi X2xpYnhsX2xpc3QuaCIKICNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgorI2luY2x1ZGUgImxp YnhsX252ZGltbS5oIgogCiAvKiAjZGVmaW5lIERFQlVHX1JFQ0VJVkVEICovCiAKQEAgLTExNDYs NiArMTE0Nyw2NiBAQCBvdXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMgaW50IHFtcF9y ZWdpc3Rlcl9udmRpbW1fY2FsbGJhY2sobGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0 ICpvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVudXNl ZCkKK3sKKyAgICBHQ19JTklUKHFtcC0+Y3R4KTsKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmpl Y3QgKm9iaiA9IE5VTEw7CisgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpzdWJfb2JqID0g TlVMTDsKKyAgICBpbnQgaSA9IDA7CisgICAgY29uc3QgY2hhciAqbWVtX3BhdGg7CisgICAgdWlu dDY0X3Qgc2xvdCwgc3BhLCBsZW5ndGg7CisgICAgaW50IHJldCA9IDA7CisKKyAgICBmb3IgKGkg PSAwOyAob2JqID0gbGlieGxfX2pzb25fYXJyYXlfZ2V0KG8sIGkpKTsgaSsrKSB7CisgICAgICAg IGlmICghbGlieGxfX2pzb25fb2JqZWN0X2lzX21hcChvYmopKQorICAgICAgICAgICAgY29udGlu dWU7CisKKyAgICAgICAgc3ViX29iaiA9IGxpYnhsX19qc29uX21hcF9nZXQoInNsb3QiLCBvYmos IEpTT05fSU5URUdFUik7CisgICAgICAgIHNsb3QgPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2lu dGVnZXIoc3ViX29iaik7CisKKyAgICAgICAgc3ViX29iaiA9IGxpYnhsX19qc29uX21hcF9nZXQo Im1lbS1wYXRoIiwgb2JqLCBKU09OX1NUUklORyk7CisgICAgICAgIG1lbV9wYXRoID0gbGlieGxf X2pzb25fb2JqZWN0X2dldF9zdHJpbmcoc3ViX29iaik7CisgICAgICAgIGlmICghbWVtX3BhdGgp IHsKKyAgICAgICAgICAgIExPRyhFUlJPUiwgIk5vIG1lbS1wYXRoIGlzIHNwZWNpZmllZCBmb3Ig TlZESU1NICMlIiBQUklkNjQsIHNsb3QpOworICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAg ICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgc3ViX29iaiA9IGxpYnhs X19qc29uX21hcF9nZXQoInNwYSIsIG9iaiwgSlNPTl9JTlRFR0VSKTsKKyAgICAgICAgc3BhID0g bGlieGxfX2pzb25fb2JqZWN0X2dldF9pbnRlZ2VyKHN1Yl9vYmopOworCisgICAgICAgIHN1Yl9v YmogPSBsaWJ4bF9fanNvbl9tYXBfZ2V0KCJsZW5ndGgiLCBvYmosIEpTT05fSU5URUdFUik7Cisg ICAgICAgIGxlbmd0aCA9IGxpYnhsX19qc29uX29iamVjdF9nZXRfaW50ZWdlcihzdWJfb2JqKTsK KworICAgICAgICBMT0coREVCVUcsCisgICAgICAgICAgICAidk5WRElNTSAjJSIgUFJJZDY0ICI6 ICVzLCBzcGEgMHglIiBQUkl4NjQgIiwgbGVuZ3RoIDB4JSIgUFJJeDY0LAorICAgICAgICAgICAg c2xvdCwgbWVtX3BhdGgsIHNwYSwgbGVuZ3RoKTsKKworICAgICAgICByZXQgPSBsaWJ4bF9udmRp bW1fYWRkX2RldmljZShnYywgcW1wLT5kb21pZCwgbWVtX3BhdGgsIHNwYSwgbGVuZ3RoKTsKKyAg ICAgICAgaWYgKHJldCkgeworICAgICAgICAgICAgTE9HKEVSUk9SLAorICAgICAgICAgICAgICAg ICJGYWlsZWQgdG8gYWRkIE5WRElNTSAjJSIgUFJJZDY0CisgICAgICAgICAgICAgICAgIihtZW1f cGF0aCAlcywgc3BhIDB4JSIgUFJJeDY0ICIsIGxlbmd0aCAweCUiIFBSSXg2NCAiKSAiCisgICAg ICAgICAgICAgICAgInRvIGRvbWFpbiAlZCAoZXJyID0gJWQpIiwKKyAgICAgICAgICAgICAgICBz bG90LCBtZW1fcGF0aCwgc3BhLCBsZW5ndGgsIHFtcC0+ZG9taWQsIHJldCk7CisgICAgICAgICAg ICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworIG91dDoKKyAgICBHQ19GUkVFOworICAg IHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbGlieGxfX3FtcF9xdWVyeV9udmRpbW1zKGxp YnhsX19xbXBfaGFuZGxlciAqcW1wKQoreworICAgIHJldHVybiBxbXBfc3luY2hyb25vdXNfc2Vu ZChxbXAsICJxdWVyeS1udmRpbW1zIiwgTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcW1wX3JlZ2lzdGVyX252ZGltbV9jYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgcW1wLT50aW1lb3V0KTsKK30KKwogaW50IGxpYnhsX19xbXBfaG1w KGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY29uc3QgY2hhciAqY29tbWFuZF9saW5lLAogICAg ICAgICAgICAgICAgICAgIGNoYXIgKipvdXRwdXQpCiB7CkBAIC0xMTg3LDYgKzEyNDgsOSBAQCBp bnQgbGlieGxfX3FtcF9pbml0aWFsaXphdGlvbnMobGlieGxfX2djICpnYywgdWludDMyX3QgZG9t aWQsCiAgICAgaWYgKCFyZXQpIHsKICAgICAgICAgcmV0ID0gcW1wX3F1ZXJ5X3ZuYyhxbXApOwog ICAgIH0KKyAgICBpZiAoIXJldCAmJiBndWVzdF9jb25maWctPm51bV92bnZkaW1tcykgeworICAg ICAgICByZXQgPSBsaWJ4bF9fcW1wX3F1ZXJ5X252ZGltbXMocW1wKTsKKyAgICB9CiAgICAgbGli eGxfX3FtcF9jbG9zZShxbXApOwogICAgIHJldHVybiByZXQ7CiB9Ci0tIAoyLjEwLjEKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK