From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC QEMU PATCH 8/8] qmp: add a qmp command 'query-nvdimms' to get plugged NVDIMM devices Date: Mon, 10 Oct 2016 08:34:23 +0800 Message-ID: <20161010003423.4333-9-haozhong.zhang@intel.com> References: <20161010003423.4333-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: <20161010003423.4333-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: qemu-devel@nongnu.org, xen-devel@lists.xensource.com Cc: Haozhong Zhang , Xiao Guangrong , "Michael S. Tsirkin" , Markus Armbruster , Igor Mammedov , Eric Blake List-Id: xen-devel@lists.xenproject.org WGVuIHVzZXMgdGhpcyBjb21tYW5kIHRvIGdldCB0aGUgYmFja2VuZCByZXNvdXJjZSwgZ3Vlc3Qg U1BBIGFuZCBzaXplIG9mCk5WRElNTSBkZXZpY2VzIHNvIGFzIHRvIG1hcCB0aGVtIHRvIGd1ZXN0 LgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNv bT4KLS0tCkNjOiBNYXJrdXMgQXJtYnJ1c3RlciA8YXJtYnJ1QHJlZGhhdC5jb20+CkNjOiBYaWFv IEd1YW5ncm9uZyA8Z3Vhbmdyb25nLnhpYW9AbGludXguaW50ZWwuY29tPgpDYzogIk1pY2hhZWwg Uy4gVHNpcmtpbiIgPG1zdEByZWRoYXQuY29tPgpDYzogSWdvciBNYW1tZWRvdiA8aW1hbW1lZG9A cmVkaGF0LmNvbT4KQ2M6IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotLS0KIGRvY3Mv cW1wLWNvbW1hbmRzLnR4dCAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiBody9hY3BpL252ZGltbS5jICAgICAgICB8ICAyICstCiBody9tZW0vbnZkaW1tLmMgICAg ICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2h3 L21lbS9udmRpbW0uaCB8IDEwICsrKysrKysrKysKIHFhcGktc2NoZW1hLmpzb24gICAgICAgIHwg MjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTExIGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2NzL3FtcC1jb21tYW5k cy50eHQgYi9kb2NzL3FtcC1jb21tYW5kcy50eHQKaW5kZXggZTBhZGNlYi4uOTBlOWZiNiAxMDA2 NDQKLS0tIGEvZG9jcy9xbXAtY29tbWFuZHMudHh0CisrKyBiL2RvY3MvcW1wLWNvbW1hbmRzLnR4 dApAQCAtMzgwMCwzICszODAwLDM5IEBAIEV4YW1wbGUgZm9yIHBjIG1hY2hpbmUgdHlwZSBzdGFy dGVkIHdpdGgKICAgICAgICAgICAgICJwcm9wcyI6IHsiY29yZS1pZCI6IDAsICJzb2NrZXQtaWQi OiAwLCAidGhyZWFkLWlkIjogMH0KICAgICAgICAgIH0KICAgICAgICBdfQorCitFUU1QCisKKyAg ICB7CisgICAgICAgIC5uYW1lICAgICAgID0gInF1ZXJ5LW52ZGltbXMiLAorICAgICAgICAuYXJn c190eXBlICA9ICIiLAorICAgICAgICAubWhhbmRsZXIuY21kX25ldyA9IHFtcF9tYXJzaGFsX3F1 ZXJ5X252ZGltbXMsCisgICAgfSwKKworU1FNUAorU2hvdyBwbHVnZ2VkIE5WRElNTSBkZXZpY2Vz CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQXJndW1lbnRzOiBOb25lLgorCitFeGFt cGxlIGZvciBwYyBtYWNoaW5lIHR5cGUgc3RhcnRlZCB3aXRoCistb2JqZWN0IG1lbW9yeS1iYWNr ZW5kLWZpbGUsaWQ9bWVtMSxtZW0tcGF0aD0vcGF0aC90by9udm0xLHNpemU9NEcKKy1kZXZpY2Ug bnZkaW1tLGlkPW52ZGltbTEsbWVtZGV2PW1lbTEKKy1vYmplY3QgbWVtb3J5LWJhY2tlbmQtZmls ZSxpZD1tZW0yLG1lbS1wYXRoPS9wYXRoL3RvL252bTIsc2l6ZT04RworLWRldmljZSBudmRpbW0s aWQ9bnZkaW1tMixtZW1kZXY9bWVtMjoKKworLT4geyAiZXhlY3V0ZSI6ICJxdWVyeS1udmRpbW1z IiB9Cis8LSB7ICJyZXR1cm5zIjogWworICAgICAgeworICAgICAgICAgIm1lbS1wYXRoIjogIi9w YXRoL3RvL252bTEiLAorCSAic2xvdCI6IDAsCisJICJzcGEiOiAxNzE3OTg2OTE4NCwKKwkgImxl bmd0aCI6IDQyOTQ5NjcyOTYKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICAibWVtLXBhdGgi OiAiL3BhdGgvdG8vbnZtMiIsCisJICJzbG90IjogMSwKKwkgInNwYSI6IDIxNDc0ODM2NDgwLAor CSAibGVuZ3RoIjogODU4OTkzNDU5MgorICAgICAgfQorICAgXX0KZGlmZiAtLWdpdCBhL2h3L2Fj cGkvbnZkaW1tLmMgYi9ody9hY3BpL252ZGltbS5jCmluZGV4IDRjZmI5NGQuLmVlZGMxMjggMTAw NjQ0Ci0tLSBhL2h3L2FjcGkvbnZkaW1tLmMKKysrIGIvaHcvYWNwaS9udmRpbW0uYwpAQCAtNTcs NyArNTcsNyBAQCBzdGF0aWMgaW50IG52ZGltbV9wbHVnZ2VkX2RldmljZV9saXN0KE9iamVjdCAq b2JqLCB2b2lkICpvcGFxdWUpCiAgKiBOb3RlOiBpdCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2li aWxpdHkgdG8gZnJlZSB0aGUgbGlzdCB0byBhdm9pZAogICogbWVtb3J5IGxlYWsuCiAgKi8KLXN0 YXRpYyBHU0xpc3QgKm52ZGltbV9nZXRfcGx1Z2dlZF9kZXZpY2VfbGlzdCh2b2lkKQorR1NMaXN0 ICpudmRpbW1fZ2V0X3BsdWdnZWRfZGV2aWNlX2xpc3Qodm9pZCkKIHsKICAgICBHU0xpc3QgKmxp c3QgPSBOVUxMOwogCmRpZmYgLS1naXQgYS9ody9tZW0vbnZkaW1tLmMgYi9ody9tZW0vbnZkaW1t LmMKaW5kZXggZDI1OTkzYi4uOTlkMGNjOSAxMDA2NDQKLS0tIGEvaHcvbWVtL252ZGltbS5jCisr KyBiL2h3L21lbS9udmRpbW0uYwpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgInFhcGkvZXJy b3IuaCIKICNpbmNsdWRlICJxYXBpL3Zpc2l0b3IuaCIKICNpbmNsdWRlICJody9tZW0vbnZkaW1t LmgiCisjaW5jbHVkZSAicW1wLWNvbW1hbmRzLmgiCiAKIHN0YXRpYyB2b2lkIG52ZGltbV9nZXRf bGFiZWxfc2l6ZShPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hhciAqbmFtZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIEVycm9yICoqZXJy cCkKQEAgLTE4MCwzICsxODEsMzcgQEAgc3RhdGljIHZvaWQgbnZkaW1tX3JlZ2lzdGVyX3R5cGVz KHZvaWQpCiB9CiAKIHR5cGVfaW5pdChudmRpbW1fcmVnaXN0ZXJfdHlwZXMpCisKK052ZGltbUlu Zm9MaXN0ICpxbXBfcXVlcnlfbnZkaW1tcyhFcnJvciAqKmVycnApCit7CisgICAgTnZkaW1tSW5m b0xpc3QgKmluZm9fbGlzdCA9IE5VTEw7CisgICAgTnZkaW1tSW5mb0xpc3QgKmluZm87CisgICAg R1NMaXN0ICpkZXZpY2VfbGlzdCA9IG52ZGltbV9nZXRfcGx1Z2dlZF9kZXZpY2VfbGlzdCgpOwor CisgICAgd2hpbGUgKGRldmljZV9saXN0KSB7CisgICAgICAgIERldmljZVN0YXRlICpkZXYgPSBk ZXZpY2VfbGlzdC0+ZGF0YTsKKyAgICAgICAgUENESU1NRGV2aWNlICpwYXJlbnQgPSBQQ19ESU1N KE9CSkVDVChkZXYpKTsKKyAgICAgICAgY29uc3QgY2hhciAqbWVtX3BhdGg7CisKKyAgICAgICAg aW5mbyA9IGdfbmV3MChOdmRpbW1JbmZvTGlzdCwgMSk7CisgICAgICAgIGluZm8tPnZhbHVlID0g Z19uZXcwKE52ZGltbUluZm8sIDEpOworCisgICAgICAgIG1lbV9wYXRoID0gb2JqZWN0X3Byb3Bl cnR5X2dldF9zdHIoT0JKRUNUKHBhcmVudC0+aG9zdG1lbSksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIm1lbS1wYXRoIiwgTlVMTCk7CisgICAgICAgIGluZm8t PnZhbHVlLT5tZW1fcGF0aCA9IG1lbV9wYXRoID8gc3RyZHVwKG1lbV9wYXRoKSA6IE5VTEw7CisK KyAgICAgICAgaW5mby0+dmFsdWUtPnNsb3QgPSBvYmplY3RfcHJvcGVydHlfZ2V0X2ludChPQkpF Q1QoZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQQ19ESU1NX1NMT1RfUFJPUCwgTlVMTCk7CisgICAgICAgIGluZm8tPnZhbHVlLT5zcGEg PSBvYmplY3RfcHJvcGVydHlfZ2V0X2ludChPQkpFQ1QoZGV2KSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDX0RJTU1fQUREUl9QUk9QLCBOVUxM KTsKKyAgICAgICAgaW5mby0+dmFsdWUtPmxlbmd0aCA9IG9iamVjdF9wcm9wZXJ0eV9nZXRfaW50 KE9CSkVDVChkZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUENfRElNTV9TSVpFX1BST1AsIE5VTEwpOworCisgICAgICAgIGluZm8tPm5l eHQgPSBpbmZvX2xpc3Q7CisgICAgICAgIGluZm9fbGlzdCA9IGluZm87CisgICAgICAgIGRldmlj ZV9saXN0ID0gZGV2aWNlX2xpc3QtPm5leHQ7CisgICAgfQorCisgICAgZ19zbGlzdF9mcmVlKGRl dmljZV9saXN0KTsKKyAgICByZXR1cm4gaW5mb19saXN0OworfQpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9ody9tZW0vbnZkaW1tLmggYi9pbmNsdWRlL2h3L21lbS9udmRpbW0uaAppbmRleCAxY2ZlOWUw Li42YmUyNjllIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L21lbS9udmRpbW0uaAorKysgYi9pbmNs dWRlL2h3L21lbS9udmRpbW0uaApAQCAtMTEzLDQgKzExMywxNCBAQCB2b2lkIG52ZGltbV9pbml0 X2FjcGlfc3RhdGUoQWNwaU5WRElNTVN0YXRlICpzdGF0ZSwgTWVtb3J5UmVnaW9uICppbywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBGV0NmZ1N0YXRlICpmd19jZmcsIE9iamVjdCAqb3du ZXIpOwogdm9pZCBudmRpbW1fYnVpbGRfYWNwaShHQXJyYXkgKnRhYmxlX29mZnNldHMsIEdBcnJh eSAqdGFibGVfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgQklPU0xpbmtlciAqbGlua2Vy LCBHQXJyYXkgKmRzbV9kbWFfYXJyZWEpOworCisvKgorICogSW5xdWlyZSBwbHVnZ2VkIE5WRElN TSBkZXZpY2VzIGFuZCBsaW5rIHRoZW0gaW50byB0aGUgbGlzdCB3aGljaCBpcworICogcmV0dXJu ZWQgdG8gdGhlIGNhbGxlci4KKyAqCisgKiBOb3RlOiBpdCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9u c2liaWxpdHkgdG8gZnJlZSB0aGUgbGlzdCB0byBhdm9pZAorICogbWVtb3J5IGxlYWsuCisgKi8K K0dTTGlzdCAqbnZkaW1tX2dldF9wbHVnZ2VkX2RldmljZV9saXN0KHZvaWQpOworCiAjZW5kaWYK ZGlmZiAtLWdpdCBhL3FhcGktc2NoZW1hLmpzb24gYi9xYXBpLXNjaGVtYS5qc29uCmluZGV4IGMz ZGNmMTEuLjYyNDYyNTUgMTAwNjQ0Ci0tLSBhL3FhcGktc2NoZW1hLmpzb24KKysrIGIvcWFwaS1z Y2hlbWEuanNvbgpAQCAtNDY0NiwzICs0NjQ2LDMyIEBACiAjIFNpbmNlOiAyLjcKICMjCiB7ICdj b21tYW5kJzogJ3F1ZXJ5LWhvdHBsdWdnYWJsZS1jcHVzJywgJ3JldHVybnMnOiBbJ0hvdHBsdWdn YWJsZUNQVSddIH0KKworIyMKKyMgQE52ZGltbUluZm8KKyMKKyMgSW5mb3JtYXRpb24gYWJvdXQg YW4gTlZESU1NIGRldmljZS4KKyMKKyMgQG1lbS1wYXRoOiB0aGUgYmFja2VuZCBmaWxlIG9mIHRo ZSBOVkRJTU0gZGV2aWNlCisjCisjIEBzbG90OiB0aGUgc2xvdCBpbmRleCBvZiB0aGUgTlZESU1N IGRldmljZQorIworIyBAc3BhOiB0aGUgNjQtYml0IFNQQSBiYXNlIGFkZHJlc3Mgb2YgdGhlIE5W RElNTSBkZXZpY2UKKyMKKyMgQGxlbmd0aDogdGhlIDY0LWJpdCBzaXplIGluIGJ5dGVzIG9mIHRo ZSBOVkRJTU0gZGV2aWNlCisjCisjIFNpbmNlIDIuOAorIyMKK3sgJ3N0cnVjdCc6ICdOdmRpbW1J bmZvJywKKyAgJ2RhdGEnOiB7J21lbS1wYXRoJyA6ICdzdHInLCAnc2xvdCc6ICdpbnQnLCAnc3Bh JzogJ2ludCcsICdsZW5ndGgnOiAnaW50J30gfQorCisjIworIyBAcXVlcnktbnZkaW1tczoKKyMK KyMgUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBlYWNoIE5WRElNTSBkZXZpY2UKKyMKKyMgUmV0 dXJuczogYSBsaXN0IG9mIEBOdmRpbW1JbmZvIGZvciBlYWNoIGRldmljZQorIworIyBTaW5jZTog Mi44CisjIworeyAnY29tbWFuZCc6ICdxdWVyeS1udmRpbW1zJywgJ3JldHVybnMnOiBbJ052ZGlt bUluZm8nXSB9Ci0tIAoyLjEwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK