From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 11/16] tools: implement the new libxl get hw info interface Date: Mon, 16 Oct 2017 11:04:16 +0800 Message-ID: <1508123061-6600-12-git-send-email-yi.y.sun@linux.intel.com> References: <1508123061-6600-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e3w2H-0002cm-SR for xen-devel@lists.xenproject.org; Mon, 16 Oct 2017 03:25:49 +0000 In-Reply-To: <1508123061-6600-1-git-send-email-yi.y.sun@linux.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.xenproject.org Cc: Wei Liu , Chao Peng , Yi Sun , Ian Jackson , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBuZXcgbGlieGwgZ2V0IGh3IGluZm8gaW50ZXJmYWNl LAonbGlieGxfcHNyX2dldF9od19pbmZvJywgd2hpY2ggaXMgc3VpdGFibGUgdG8gYWxsIHBzciBh bGxvY2F0aW9uCmZlYXR1cmVzLiBJdCBhbHNvIGltcGxlbWVudHMgY29ycmVzcG9uZGluZyBsaXN0 IGZyZWUgZnVuY3Rpb24sCidsaWJ4bF9wc3JfaHdfaW5mb19saXN0X2ZyZWUnIGFuZCBtYWtlcyAn bGlieGxfcHNyX2NhdF9nZXRfaW5mbycgY2FsbAonbGlieGxfcHNyX2dldF9od19pbmZvJyB0byBh dm9pZCByZWR1bmRhbnQgY29kZSBpbiBsaWJ4bF9wc3IuYy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1 biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgotLS0KQ0M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNDOiBJYW4gSmFj a3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJv Z2VyLnBhdUBjaXRyaXguY29tPgpDQzogQ2hhbyBQZW5nIDxjaGFvLnAucGVuZ0BsaW51eC5pbnRl bC5jb20+Cgp2NToKICAgIC0gY2hhbmdlICdpZiAocmMgPCAwKScgdG8gJ2lmIChyYyknLgogICAg ICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCnY0OgogICAgLSByZW1vdmUgJ3hjXycg ZnJvbSBzdHJ1Y3QgbmFtZS4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQog ICAgLSBmaXggd29yZHMgaW4gY29tbWl0IG1lc3NhZ2UuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9n ZXIgUGF1IE1vbm7DqSkKICAgIC0gY2hhbmdlIHR5cGUgb2YgJ2xpYnhsX19od19pbmZvX3RvX2xp YnhsX2NhdF9pbmZvJyB0byB2b2lkIGFuZCB1c2UKICAgICAgYXNzZXJ0IHRvIGNoZWNrIGludmFs aWQgdHlwZS4gVGhlbiwgcmVtb3ZlIGNoZWNrIGZvcgogICAgICAnbGlieGxfX2h3X2luZm9fdG9f bGlieGxfY2F0X2luZm8nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAg ICAtIGNoYW5nZSB0eXBlIG9mICdsaWJ4bF9feGNfaHdfaW5mb190b19saWJ4bF9od19pbmZvJyB0 byB2b2lkIGFuZCB1c2UKICAgICAgYXNzZXJ0IHRvIGNoZWNrIGludmFsaWQgdHlwZS4gVGhlbiwg cmVtb3ZlIGNoZWNrIGZvcgogICAgICAnbGlieGxfX3hjX2h3X2luZm9fdG9fbGlieGxfaHdfaW5m bycuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKdjM6CiAgICAtIHJlbW92 ZSBjYXN0aW5nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIHJl bW92ZSBpbmxpbmUuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKICAgIC0g Y2hhbmdlICdsaWJ4Y19fcHNyX2h3X2luZm9fdG9fbGlieGxfcHNyX2h3X2luZm8nIHRvCiAgICAg ICdsaWJ4bF9feGNfaHdfaW5mb190b19saWJ4bF9od19pbmZvJy4KICAgICAgKHN1Z2dlc3RlZCBi eSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSByZW1vdmUgJ19odycgZnJvbSBwYXJhbWV0ZXIgbmFt ZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKICAgIC0gY2hhbmdlIHNv bWUgJ0xPR0UnIHRvICdMT0cnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kp CiAgICAtIGNoZWNrIHJldHVybmVkICd4Y190eXBlJyBhbmQgcmVtb3ZlIHJlZHVuZGFudCAnbHZs JyBjaGVjay4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQp2MjoKICAgIC0g c3BsaXQgdGhpcyBwYXRjaCBvdXQgZnJvbSBhIGJpZyBwYXRjaCBpbiB2MS4KICAgICAgKHN1Z2dl c3RlZCBieSBXZWkgTGl1KQogICAgLSBjaGFuZ2UgJ0NBVF9JTkZPJy8nTUJBX0lORk8nIHRvICdD QVQnIGFuZCAnTUJBLiBBbHNvIHRoZSBsaWJ4bCBzdHJ1Y3R1cmUKICAgICAgbmFtZSAnY2F0X2lu Zm8nLydtYmFfaW5mbycgaXMgY2hhbmdlZCB0byAnY2F0Jy8nbWJhJy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBDaGFvIFBlbmcpCiAgICAtIGNhbGwgJ2xpYnhsX3Bzcl9od19pbmZvX2xpc3RfZnJlZScg aW4gJ2xpYnhsX3Bzcl9jYXRfZ2V0X2luZm8nIHRvIGZyZWUKICAgICAgYWxsb2NhdGVkIHJlc291 cmNlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBDaGFvIFBlbmcpCi0tLQogdG9vbHMvbGlieGwvbGli eGxfcHNyLmMgfCAxMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcHNyLmMgYi90b29scy9saWJ4bC9saWJ4 bF9wc3IuYwppbmRleCBlMWNjMjUwLi5iMDUzYWJkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9wc3IuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9wc3IuYwpAQCAtMzg2LDU2ICszODYs NDEgQEAgc3RhdGljIHhjX3Bzcl9mZWF0X3R5cGUgbGlieGxfX2ZlYXRfdHlwZV90b19saWJ4Y19m ZWF0X3R5cGUoCiAgICAgcmV0dXJuIHhjX3R5cGU7CiB9CiAKK3N0YXRpYyB2b2lkIGxpYnhsX19o d19pbmZvX3RvX2xpYnhsX2NhdF9pbmZvKAorICAgICAgICAgICAgICAgIGxpYnhsX3Bzcl9mZWF0 X3R5cGUgdHlwZSwgbGlieGxfcHNyX2h3X2luZm8gKmh3X2luZm8sCisgICAgICAgICAgICAgICAg bGlieGxfcHNyX2NhdF9pbmZvICpjYXRfaW5mbykKK3sKKyAgICBhc3NlcnQodHlwZSA9PSBMSUJY TF9QU1JfRkVBVF9UWVBFX0NBVCk7CisKKyAgICBjYXRfaW5mby0+aWQgPSBod19pbmZvLT5pZDsK KyAgICBjYXRfaW5mby0+Y29zX21heCA9IGh3X2luZm8tPnUuY2F0LmNvc19tYXg7CisgICAgY2F0 X2luZm8tPmNibV9sZW4gPSBod19pbmZvLT51LmNhdC5jYm1fbGVuOworICAgIGNhdF9pbmZvLT5j ZHBfZW5hYmxlZCA9IGh3X2luZm8tPnUuY2F0LmNkcF9lbmFibGVkOworfQorCiBpbnQgbGlieGxf cHNyX2NhdF9nZXRfaW5mbyhsaWJ4bF9jdHggKmN0eCwgbGlieGxfcHNyX2NhdF9pbmZvICoqaW5m bywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqbnIsIHVuc2lnbmVk IGludCBsdmwpCiB7CiAgICAgR0NfSU5JVChjdHgpOwogICAgIGludCByYzsKLSAgICBpbnQgaSA9 IDAsIHNvY2tldGlkLCBucl9zb2NrZXRzOwotICAgIGxpYnhsX2JpdG1hcCBzb2NrZXRtYXA7Cisg ICAgdW5zaWduZWQgaW50IGk7CisgICAgbGlieGxfcHNyX2h3X2luZm8gKmh3X2luZm87CiAgICAg bGlieGxfcHNyX2NhdF9pbmZvICpwdHI7Ci0gICAgeGNfcHNyX2h3X2luZm8gaHdfaW5mbzsKLSAg ICB4Y19wc3JfZmVhdF90eXBlIHhjX3R5cGU7Ci0KLSAgICBsaWJ4bF9iaXRtYXBfaW5pdCgmc29j a2V0bWFwKTsKLQotICAgIHJjID0gbGlieGxfX2NvdW50X3BoeXNpY2FsX3NvY2tldHMoZ2MsICZu cl9zb2NrZXRzKTsKLSAgICBpZiAocmMpIHsKLSAgICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0 byBnZXQgc3lzdGVtIHNvY2tldCBjb3VudCIpOwotICAgICAgICBnb3RvIG91dDsKLSAgICB9CiAK LSAgICBsaWJ4bF9zb2NrZXRfYml0bWFwX2FsbG9jKGN0eCwgJnNvY2tldG1hcCwgbnJfc29ja2V0 cyk7Ci0gICAgcmMgPSBsaWJ4bF9nZXRfb25saW5lX3NvY2tldG1hcChjdHgsICZzb2NrZXRtYXAp OwotICAgIGlmIChyYyA8IDApIHsKLSAgICAgICAgTE9HRShFUlJPUiwgImZhaWxlZCB0byBnZXQg YXZhaWxhYmxlIHNvY2tldHMiKTsKKyAgICByYyA9IGxpYnhsX3Bzcl9nZXRfaHdfaW5mbyhjdHgs IExJQlhMX1BTUl9GRUFUX1RZUEVfQ0FULCBsdmwsIG5yLCAmaHdfaW5mbyk7CisgICAgaWYgKHJj KQogICAgICAgICBnb3RvIG91dDsKLSAgICB9Ci0KLSAgICB4Y190eXBlID0gbGlieGxfX2ZlYXRf dHlwZV90b19saWJ4Y19mZWF0X3R5cGUoTElCWExfUFNSX0ZFQVRfVFlQRV9DQVQsIGx2bCk7Ci0K LSAgICBwdHIgPSBsaWJ4bF9fbWFsbG9jKE5PR0MsIG5yX3NvY2tldHMgKiBzaXplb2YobGlieGxf cHNyX2NhdF9pbmZvKSk7Ci0KLSAgICBsaWJ4bF9mb3JfZWFjaF9zZXRfYml0KHNvY2tldGlkLCBz b2NrZXRtYXApIHsKLSAgICAgICAgcHRyW2ldLmlkID0gc29ja2V0aWQ7Ci0gICAgICAgIGlmICh4 Y19wc3JfZ2V0X2h3X2luZm8oY3R4LT54Y2gsIHNvY2tldGlkLCB4Y190eXBlLCAmaHdfaW5mbykp IHsKLSAgICAgICAgICAgIExPR0UoRVJST1IsICJmYWlsZWQgdG8gZ2V0IGh3IGluZm8iKTsKLSAg ICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgIGZyZWUocHRyKTsKLSAgICAg ICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9CiAKLSAgICAgICAgcHRyW2ldLmNvc19tYXggPSBo d19pbmZvLmNhdC5jb3NfbWF4OwotICAgICAgICBwdHJbaV0uY2JtX2xlbiA9IGh3X2luZm8uY2F0 LmNibV9sZW47Ci0gICAgICAgIHB0cltpXS5jZHBfZW5hYmxlZCA9IGh3X2luZm8uY2F0LmNkcF9l bmFibGVkOworICAgIHB0ciA9IGxpYnhsX19tYWxsb2MoTk9HQywgKm5yICogc2l6ZW9mKGxpYnhs X3Bzcl9jYXRfaW5mbykpOwogCi0gICAgICAgIGkrKzsKLSAgICB9CisgICAgZm9yIChpID0gMDsg aSA8ICpucjsgaSsrKQorICAgICAgICBsaWJ4bF9faHdfaW5mb190b19saWJ4bF9jYXRfaW5mbyhM SUJYTF9QU1JfRkVBVF9UWVBFX0NBVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmh3X2luZm9baV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZwdHJbaV0pOwogCiAgICAgKmluZm8gPSBwdHI7Ci0gICAgKm5yID0gaTsKKyAgICBs aWJ4bF9wc3JfaHdfaW5mb19saXN0X2ZyZWUoaHdfaW5mbywgKm5yKTsKIG91dDoKLSAgICBsaWJ4 bF9iaXRtYXBfZGlzcG9zZSgmc29ja2V0bWFwKTsKICAgICBHQ19GUkVFOwogICAgIHJldHVybiBy YzsKIH0KQEAgLTQ3NiwxNSArNDYxLDg1IEBAIGludCBsaWJ4bF9wc3JfZ2V0X3ZhbChsaWJ4bF9j dHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiB9CiAKK3N0 YXRpYyB2b2lkIGxpYnhsX194Y19od19pbmZvX3RvX2xpYnhsX2h3X2luZm8oCisgICAgICAgICAg ICAgICAgbGlieGxfcHNyX2ZlYXRfdHlwZSB0eXBlLCB4Y19wc3JfaHdfaW5mbyAqeGNfaW5mbywK KyAgICAgICAgICAgICAgICBsaWJ4bF9wc3JfaHdfaW5mbyAqeGxfaW5mbykKK3sKKyAgICBzd2l0 Y2ggKHR5cGUpIHsKKyAgICBjYXNlIExJQlhMX1BTUl9GRUFUX1RZUEVfQ0FUOgorICAgICAgICB4 bF9pbmZvLT51LmNhdC5jb3NfbWF4ID0geGNfaW5mby0+Y2F0LmNvc19tYXg7CisgICAgICAgIHhs X2luZm8tPnUuY2F0LmNibV9sZW4gPSB4Y19pbmZvLT5jYXQuY2JtX2xlbjsKKyAgICAgICAgeGxf aW5mby0+dS5jYXQuY2RwX2VuYWJsZWQgPSB4Y19pbmZvLT5jYXQuY2RwX2VuYWJsZWQ7CisgICAg ICAgIGJyZWFrOworICAgIGNhc2UgTElCWExfUFNSX0ZFQVRfVFlQRV9NQkE6CisgICAgICAgIHhs X2luZm8tPnUubWJhLmNvc19tYXggPSB4Y19pbmZvLT5tYmEuY29zX21heDsKKyAgICAgICAgeGxf aW5mby0+dS5tYmEudGhydGxfbWF4ID0geGNfaW5mby0+bWJhLnRocnRsX21heDsKKyAgICAgICAg eGxfaW5mby0+dS5tYmEubGluZWFyID0geGNfaW5mby0+bWJhLmxpbmVhcjsKKyAgICAgICAgYnJl YWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOworICAgIH0KK30KKwogaW50IGxp YnhsX3Bzcl9nZXRfaHdfaW5mbyhsaWJ4bF9jdHggKmN0eCwgbGlieGxfcHNyX2ZlYXRfdHlwZSB0 eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbHZsLCB1bnNpZ25l ZCBpbnQgKm5yLAogICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9wc3JfaHdfaW5mbyAq KmluZm8pCiB7Ci0gICAgcmV0dXJuIEVSUk9SX0ZBSUw7CisgICAgR0NfSU5JVChjdHgpOworICAg IGludCByYywgbnJfc29ja2V0czsKKyAgICB1bnNpZ25lZCBpbnQgaSA9IDAsIHNvY2tldGlkOwor ICAgIGxpYnhsX2JpdG1hcCBzb2NrZXRtYXA7CisgICAgbGlieGxfcHNyX2h3X2luZm8gKnB0cjsK KyAgICB4Y19wc3JfZmVhdF90eXBlIHhjX3R5cGU7CisgICAgeGNfcHNyX2h3X2luZm8gaHdfaW5m bzsKKworICAgIGxpYnhsX2JpdG1hcF9pbml0KCZzb2NrZXRtYXApOworCisgICAgeGNfdHlwZSA9 IGxpYnhsX19mZWF0X3R5cGVfdG9fbGlieGNfZmVhdF90eXBlKHR5cGUsIGx2bCk7CisKKyAgICBy YyA9IGxpYnhsX19jb3VudF9waHlzaWNhbF9zb2NrZXRzKGdjLCAmbnJfc29ja2V0cyk7CisgICAg aWYgKHJjKSB7CisgICAgICAgIExPRyhFUlJPUiwgImZhaWxlZCB0byBnZXQgc3lzdGVtIHNvY2tl dCBjb3VudCIpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBsaWJ4bF9zb2NrZXRf Yml0bWFwX2FsbG9jKGN0eCwgJnNvY2tldG1hcCwgbnJfc29ja2V0cyk7CisgICAgcmMgPSBsaWJ4 bF9nZXRfb25saW5lX3NvY2tldG1hcChjdHgsICZzb2NrZXRtYXApOworICAgIGlmIChyYykgewor ICAgICAgICBMT0dFKEVSUk9SLCAiZmFpbGVkIHRvIGdldCBhdmFpbGFibGUgc29ja2V0cyIpOwor ICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBwdHIgPSBsaWJ4bF9fbWFsbG9jKE5PR0Ms IG5yX3NvY2tldHMgKiBzaXplb2YobGlieGxfcHNyX2h3X2luZm8pKTsKKworICAgIGxpYnhsX2Zv cl9lYWNoX3NldF9iaXQoc29ja2V0aWQsIHNvY2tldG1hcCkgeworICAgICAgICBwdHJbaV0uaWQg PSBzb2NrZXRpZDsKKyAgICAgICAgaWYgKHhjX3Bzcl9nZXRfaHdfaW5mbyhjdHgtPnhjaCwgc29j a2V0aWQsIHhjX3R5cGUsICZod19pbmZvKSkgeworICAgICAgICAgICAgcmMgPSBFUlJPUl9GQUlM OworICAgICAgICAgICAgZnJlZShwdHIpOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAg IH0KKworICAgICAgICBsaWJ4bF9feGNfaHdfaW5mb190b19saWJ4bF9od19pbmZvKHR5cGUsICZo d19pbmZvLCAmcHRyW2ldKTsKKworICAgICAgICBpKys7CisgICAgfQorCisgICAgKmluZm8gPSBw dHI7CisgICAgKm5yID0gaTsKK291dDoKKyAgICBsaWJ4bF9iaXRtYXBfZGlzcG9zZSgmc29ja2V0 bWFwKTsKKyAgICBHQ19GUkVFOworICAgIHJldHVybiByYzsKIH0KIAogdm9pZCBsaWJ4bF9wc3Jf aHdfaW5mb19saXN0X2ZyZWUobGlieGxfcHNyX2h3X2luZm8gKmxpc3QsIHVuc2lnbmVkIGludCBu cikKIHsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBucjsgaSsr KQorICAgICAgICBsaWJ4bF9wc3JfaHdfaW5mb19kaXNwb3NlKCZsaXN0W2ldKTsKKyAgICBmcmVl KGxpc3QpOwogfQogCiAvKgotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK