From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [RFC 13/16] tools: implemet get hw info flow for MBA. Date: Tue, 10 Jan 2017 15:42:32 +0800 Message-ID: <1484034155-4521-14-git-send-email-yi.y.sun@linux.intel.com> References: <1484034155-4521-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 1cQr60-00049G-L9 for xen-devel@lists.xenproject.org; Tue, 10 Jan 2017 07:43:52 +0000 In-Reply-To: <1484034155-4521-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.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCBIVyBpbmZvIGZsb3cgaW4gdG9vbHMgZm9yIE1CQS4K ClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KIHRv b2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIHwgIDcgKysrKysrKwogdG9vbHMvbGlieGMveGNf cHNyLmMgICAgICAgICAgfCAxNCArKysrKysrKysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9wc3Iu YyAgICAgICB8IDEyICsrKysrKysrKystCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICB8 ICA2ICsrKysrKwogdG9vbHMvbGlieGwveGxfY21kaW1wbC5jICAgICAgfCA0NiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiB0b29scy9saWJ4bC94bF9jbWR0YWJs ZS5jICAgICB8ICAzICsrKwogNiBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKaW5kZXggOTIzM2I4Ni4uZmZkMGY2MyAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMv aW5jbHVkZS94ZW5jdHJsLmgKQEAgLTI2MTAsNiArMjYxMCw3IEBAIGVudW0geGNfcHNyX2ZlYXRf dHlwZSB7CiAgICAgWENfUFNSX0ZFQVRfVU5LTk9XTiAgICA9IDAsCiAgICAgWENfUFNSX0ZFQVRf Q0FUX0wzICAgICA9IDEsCiAgICAgWENfUFNSX0ZFQVRfQ0FUX0wyICAgICA9IDIsCisgICAgWENf UFNSX0ZFQVRfTUJBICAgICAgICA9IDMsCiB9OwogdHlwZWRlZiBlbnVtIHhjX3Bzcl9mZWF0X3R5 cGUgeGNfcHNyX2ZlYXRfdHlwZTsKIApAQCAtMjYyMCw2ICsyNjIxLDEyIEBAIHN0cnVjdCB4Y19w c3JfaHdfaW5mbyB7CiAgICAgICAgICAgICB1aW50MzJfdCBjYm1fbGVuOwogICAgICAgICAgICAg Ym9vbCAgICAgY2RwX2VuYWJsZWQ7CiAgICAgICAgIH0geGNfY2F0X2luZm87CisKKyAgICAgICAg c3RydWN0IHsKKyAgICAgICAgICAgIHVpbnQzMl90IGNvc19tYXg7CisgICAgICAgICAgICB1aW50 MzJfdCB0aHJ0bF9tYXg7CisgICAgICAgICAgICBib29sICAgICBsaW5lYXI7CisgICAgICAgIH0g eGNfbWJhX2luZm87CiAgICAgfSB1OwogfTsKIHR5cGVkZWYgc3RydWN0IHhjX3Bzcl9od19pbmZv IHhjX3Bzcl9od19pbmZvOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfcHNyLmMgYi90b29s cy9saWJ4Yy94Y19wc3IuYwppbmRleCBhN2ZmYjFiLi4zODFlZjAxIDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy94Y19wc3IuYworKysgYi90b29scy9saWJ4Yy94Y19wc3IuYwpAQCAtMzYyLDYgKzM2 MiwyMCBAQCBpbnQgeGNfcHNyX2dldF9od19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJf dCBzb2NrZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1BTUl9DQVRfTDNf Q0RQOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgWENfUFNSX0ZFQVRfTUJB OgorICAgICAgICBzeXNjdGwudS5wc3JfYWxsb2Nfb3AuY21kID0gWEVOX1NZU0NUTF9QU1JfTUJB X2dldF9pbmZvOworICAgICAgICByYyA9IHhjX3N5c2N0bCh4Y2gsICZzeXNjdGwpOworICAgICAg ICBpZiAoICFyYyApCisgICAgICAgIHsKKyAgICAgICAgICAgIGh3X2luZm8tPnUueGNfbWJhX2lu Zm8uY29zX21heCA9CisgICAgICAgICAgICAgICAgICAgICAgICBzeXNjdGwudS5wc3JfYWxsb2Nf b3AudS5tYmFfaW5mby5jb3NfbWF4OworICAgICAgICAgICAgaHdfaW5mby0+dS54Y19tYmFfaW5m by50aHJ0bF9tYXggPQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzY3RsLnUucHNyX2FsbG9j X29wLnUubWJhX2luZm8udGhydGxfbWF4OworICAgICAgICAgICAgaHdfaW5mby0+dS54Y19tYmFf aW5mby5saW5lYXIgPQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzY3RsLnUucHNyX2FsbG9j X29wLnUubWJhX2luZm8ubGluZWFyICYKKyAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9TWVND VExfUFNSX01CQV9MSU5FQVI7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs dDoKICAgICAgICAgZXJybm8gPSBFT1BOT1RTVVBQOwogICAgICAgICByZXR1cm4gcmM7CmRpZmYg LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9wc3IuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Bzci5j CmluZGV4IDEyNDVlMWUuLjEzZDQ0YjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3Bz ci5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3Bzci5jCkBAIC0xMzIsNiArMTMyLDkgQEAgc3Rh dGljIHZvaWQgbGlieGxfX3Bzcl9od19pbmZvX2xvZ19lcnJfbXNnKGxpYnhsX19nYyAqZ2MsIGlu dCBsdmwsCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZlYXQgPSAiTDIgQ0FUIjsKICAgICAg ICAgYnJlYWs7CisgICAgY2FzZSBMSUJYTF9QU1JfRkVBVF9UWVBFX01CQV9JTkZPOgorICAgICAg ICBmZWF0ID0gIk1CQSI7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIExP R0UoRVJST1IsICJJbnB1dCB0eXBlICVkIGlzIHdyb25nIVxuIiwgdHlwZSk7CiAgICAgICAgIGxp YnhsX19wc3JfbG9nX2Vycl9tc2coZ2MsIGVycik7CkBAIC00MTQsNiArNDE3LDggQEAgc3RhdGlj IGlubGluZSB4Y19wc3JfZmVhdF90eXBlIGxpYnhsX19wc3JfZmVhdF90eXBlX3RvX2xpYnhjX3Bz cl9mZWF0X3R5cGUoCiAgICAgICAgIGlmIChsdmwgPT0gMikKICAgICAgICAgICAgIHhjX3R5cGUg PSBYQ19QU1JfRkVBVF9DQVRfTDI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgTElCWExfUFNS X0ZFQVRfVFlQRV9NQkFfSU5GTzoKKyAgICAgICAgeGNfdHlwZSA9IFhDX1BTUl9GRUFUX01CQTsK ICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC00MzIsNiArNDM3LDExIEBA IHN0YXRpYyBpbmxpbmUgaW50IGxpYnhjX19wc3JfaHdfaW5mb190b19saWJ4bF9wc3JfaHdfaW5m bygKICAgICAgICAgeGxfaHdfaW5mby0+dS5jYXRfaW5mby5jZHBfZW5hYmxlZCA9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGNfaHdfaW5mby0+dS54Y19jYXRfaW5m by5jZHBfZW5hYmxlZDsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMSUJYTF9QU1JfRkVBVF9U WVBFX01CQV9JTkZPOgorICAgICAgICB4bF9od19pbmZvLT51Lm1iYV9pbmZvLmNvc19tYXggPSB4 Y19od19pbmZvLT51LnhjX21iYV9pbmZvLmNvc19tYXg7CisgICAgICAgIHhsX2h3X2luZm8tPnUu bWJhX2luZm8udGhydGxfbWF4ID0geGNfaHdfaW5mby0+dS54Y19tYmFfaW5mby50aHJ0bF9tYXg7 CisgICAgICAgIHhsX2h3X2luZm8tPnUubWJhX2luZm8ubGluZWFyID0geGNfaHdfaW5mby0+dS54 Y19tYmFfaW5mby5saW5lYXI7CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAg IHJldHVybiAtMTsKICAgICB9CkBAIC00NTIsNyArNDYyLDcgQEAgaW50IGxpYnhsX3Bzcl9nZXRf aHdfaW5mbyhsaWJ4bF9jdHggKmN0eCwgbGlieGxfcHNyX2h3X2luZm8gKippbmZvLAogCiAgICAg bGlieGxfYml0bWFwX2luaXQoJnNvY2tldG1hcCk7CiAKLSAgICBpZiAoIGx2bCAhPSAzICYmIGx2 bCAhPSAyKSB7CisgICAgaWYgKCB0eXBlID09IExJQlhMX1BTUl9GRUFUX1RZUEVfQ0FUX0lORk8g JiYgbHZsICE9IDMgJiYgbHZsICE9IDIpIHsKICAgICAgICAgTE9HRShFUlJPUiwgImlucHV0IGx2 bCAlZCBpcyB3cm9uZyFcbiIsIGx2bCk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAg ICAgZ290byBvdXQ7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5kZXggYTE1ZDllZi4uYmQ4ZDJiOCAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbApAQCAtOTExLDYgKzkxMSw3IEBAIGxpYnhsX3Bzcl9jYXRfaW5mbyA9IFN0cnVj dCgicHNyX2NhdF9pbmZvIiwgWwogCiBsaWJ4bF9wc3JfZmVhdF90eXBlID0gRW51bWVyYXRpb24o InBzcl9mZWF0X3R5cGUiLCBbCiAgICAgKDEsICJDQVRfSU5GTyIpLAorICAgICgyLCAiTUJBX0lO Rk8iKSwKICAgICBdKQogCiBsaWJ4bF9wc3JfaHdfaW5mbyA9IFN0cnVjdCgicHNyX2h3X2luZm8i LCBbCkBAIC05MjEsNSArOTIyLDEwIEBAIGxpYnhsX3Bzcl9od19pbmZvID0gU3RydWN0KCJwc3Jf aHdfaW5mbyIsIFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgi Y2JtX2xlbiIsICAgICB1aW50MzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKCJjZHBfZW5hYmxlZCIsIGJvb2wpLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBdKSksCisgICAgICAgICAgICAoIm1iYV9pbmZvIiwgU3RydWN0KE5vbmUsIFsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiY29zX21heCIsICAg ICB1aW50MzIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJ0 aHJ0bF9tYXgiLCAgIHVpbnQzMiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoImxpbmVhciIsICAgICAgYm9vbCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF0pKSwKICAgICAgICAgICAgXSkpCiAgICAgXSkKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL3hsX2NtZGltcGwuYyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwppbmRleCA1YmY1 NmU4Li4yMWVmMmNmIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKKysrIGIv dG9vbHMvbGlieGwveGxfY21kaW1wbC5jCkBAIC05NTIxLDYgKzk1MjEsMzggQEAgc3RhdGljIGlu dCBwc3JfbDJfY2F0X2h3aW5mbyh2b2lkKQogICAgIHJldHVybiByYzsKIH0KIAorCisjaWZkZWYg TElCWExfSEFWRV9QU1JfTUJBCitzdGF0aWMgaW50IHBzcl9tYmFfaHdpbmZvKHZvaWQpCit7Cisg ICAgaW50IHJjOworICAgIGludCBpLCBucjsKKyAgICBsaWJ4bF9wc3JfaHdfaW5mbyAqaW5mbzsK KworICAgIHByaW50ZigiTWVtb3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uIChNQkEpOlxuIik7CisK KyAgICByYyA9IGxpYnhsX3Bzcl9nZXRfaHdfaW5mbyhjdHgsICZpbmZvLCAmbnIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfUFNSX0ZFQVRfVFlQRV9NQkFfSU5GTywgMCk7 CisgICAgaWYgKHJjKSB7CisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIGdldCBt YmEgaW5mb1xuIik7CisgICAgICAgIHJldHVybiByYzsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAw OyBpIDwgbnI7IGkrKykgeworICAgICAgICBwcmludGYoIiUtMTZzOiAldVxuIiwgIlNvY2tldCBJ RCIsIGluZm9baV0uaWQpOworICAgICAgICBwcmludGYoIiUtMTZzOiAlc1xuIiwgIkxpbmVhciBN b2RlIiwKKyAgICAgICAgICAgICAgIGluZm9baV0udS5tYmFfaW5mby5saW5lYXIgPyAiRW5hYmxl ZCIgOiAiRGlzYWJsZWQiKTsKKyAgICAgICAgcHJpbnRmKCIlLTE2czogJXVcbiIsICJNYXhpbXVt IENPUyIsIGluZm9baV0udS5tYmFfaW5mby5jb3NfbWF4KTsKKyAgICAgICAgcHJpbnRmKCIlLTE2 czogJXVcbiIsICJNYXhpbXVtIFRocm90dGxpbmcgVmFsdWUiLAorICAgICAgICAgICAgICAgaW5m b1tpXS51Lm1iYV9pbmZvLnRocnRsX21heCk7CisgICAgICAgIHByaW50ZigiJS0xNnM6ICV1XG4i LCAiRGVmYXVsdCBUaHJvdHRsaW5nIFZhbHVlIiwgMCk7CisgICAgfQorCisgICAgbGlieGxfcHNy X2h3X2luZm9fbGlzdF9mcmVlKGluZm8sIG5yKTsKKyAgICByZXR1cm4gcmM7Cit9CisjZW5kaWYK KwogaW50IG1haW5fcHNyX2NhdF9jYm1fc2V0KGludCBhcmdjLCBjaGFyICoqYXJndikKIHsKICAg ICB1aW50MzJfdCBkb21pZDsKQEAgLTk2MzUsMjAgKzk2NjcsMjQgQEAgaW50IG1haW5fcHNyX2Nh dF9zaG93KGludCBhcmdjLCBjaGFyICoqYXJndikKIGludCBtYWluX3Bzcl9od2luZm8oaW50IGFy Z2MsIGNoYXIgKiphcmd2KQogewogICAgIGludCBvcHQsIHJldCA9IDA7Ci0gICAgYm9vbCBhbGwg PSB0cnVlLCBjbXQgPSBmYWxzZSwgY2F0ID0gZmFsc2U7CisgICAgYm9vbCBhbGwgPSB0cnVlLCBj bXQgPSBmYWxzZSwgY2F0ID0gZmFsc2UsIG1iYSA9IGZhbHNlOwogICAgIHN0YXRpYyBzdHJ1Y3Qg b3B0aW9uIG9wdHNbXSA9IHsKICAgICAgICAgeyJjbXQiLCAwLCAwLCAnbSd9LAogICAgICAgICB7 ImNhdCIsIDAsIDAsICdhJ30sCisgICAgICAgIHsibWJhIiwgMCwgMCwgJ2InfSwKICAgICAgICAg Q09NTU9OX0xPTkdfT1BUUwogICAgIH07CiAKLSAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0LCAi bWEiLCBvcHRzLCAicHNyLWh3aW5mbyIsIDApIHsKKyAgICBTV0lUQ0hfRk9SRUFDSF9PUFQob3B0 LCAibWFiIiwgb3B0cywgInBzci1od2luZm8iLCAwKSB7CiAgICAgY2FzZSAnbSc6CiAgICAgICAg IGFsbCA9IGZhbHNlOyBjbXQgPSB0cnVlOwogICAgICAgICBicmVhazsKICAgICBjYXNlICdhJzoK ICAgICAgICAgYWxsID0gZmFsc2U7IGNhdCA9IHRydWU7CiAgICAgICAgIGJyZWFrOworICAgIGNh c2UgJ2InOgorICAgICAgICBhbGwgPSBmYWxzZTsgbWJhID0gdHJ1ZTsKKyAgICAgICAgYnJlYWs7 CiAgICAgfQogCiAgICAgaWYgKCFyZXQgJiYgKGFsbCB8fCBjbXQpKQpAQCAtOTY2MSw2ICs5Njk3 LDEyIEBAIGludCBtYWluX3Bzcl9od2luZm8oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgIGlm IChhbGwgfHwgY2F0KQogICAgICAgICByZXQgPSBwc3JfbDJfY2F0X2h3aW5mbygpOwogCisjaWZk ZWYgTElCWExfSEFWRV9QU1JfTUJBCisgICAgLyogTUJBIGlzIGluZGVwZW5kZW50IG9mIENNVCBh bmQgQ0FUICovCisgICAgaWYgKGFsbCB8fCBtYmEpCisgICAgICAgIHJldCA9IHBzcl9tYmFfaHdp bmZvKCk7CisjZW5kaWYKKwogICAgIHJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL3hsX2NtZHRhYmxlLmMgYi90b29scy9saWJ4bC94bF9jbWR0YWJsZS5jCmluZGV4IDMy YzNlZTUuLjllMWVlNmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL3hsX2NtZHRhYmxlLmMKKysr IGIvdG9vbHMvbGlieGwveGxfY21kdGFibGUuYwpAQCAtNTIzLDYgKzUyMyw5IEBAIHN0cnVjdCBj bWRfc3BlYyBjbWRfdGFibGVbXSA9IHsKICAgICAgICJbb3B0aW9uc10iLAogICAgICAgIi1tLCAt LWNtdCAgICAgICBTaG93IENhY2hlIE1vbml0b3JpbmcgVGVjaG5vbG9neSAoQ01UKSBoYXJkd2Fy ZSBpbmZvXG4iCiAgICAgICAiLWEsIC0tY2F0ICAgICAgIFNob3cgQ2FjaGUgQWxsb2NhdGlvbiBU ZWNobm9sb2d5IChDQVQpIGhhcmR3YXJlIGluZm9cbiIKKyNpZmRlZiBMSUJYTF9IQVZFX1BTUl9N QkEKKyAgICAgICItYiwgLS1tYmEgICAgICAgU2hvdyBNZW1vcnkgQmFuZHdpZHRoIEFsbG9jYXRp b24gKE1CQSkgaGFyZHdhcmUgaW5mb1xuIgorI2VuZGlmCiAgICAgfSwKICAgICB7ICJwc3ItY210 LWF0dGFjaCIsCiAgICAgICAmbWFpbl9wc3JfY210X2F0dGFjaCwgMCwgMSwKLS0gCjEuOS4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==