From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v2 14/15] tools: implement new generic set value interface and MBA set value command Date: Thu, 24 Aug 2017 09:14:48 +0800 Message-ID: <1503537289-56036-15-git-send-email-yi.y.sun@linux.intel.com> References: <1503537289-56036-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 1dkh0r-0001BL-57 for xen-devel@lists.xenproject.org; Thu, 24 Aug 2017 01:32:49 +0000 In-Reply-To: <1503537289-56036-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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , julien.grall@arm.com, mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIG5ldyBnZW5lcmljIHNldCB2YWx1ZSBpbnRlcmZhY2VzIGlu IGxpYnhjIGFuZCBsaWJ4bC4KVGhlc2UgaW50ZXJmYWNlcyBhcmUgc3VpdGFibGUgZm9yIGFsbCBh bGxvY2F0aW9uIGZlYXR1cmVzLiBJdCBhbHNvIGFkZHMgYQpuZXcgTUJBIHNldCB2YWx1ZSBjb21t YW5kIGluIHhsLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5j b20+Ci0tLQogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggfCAgNiArKy0tLQogdG9vbHMv bGlieGMveGNfcHNyLmMgICAgICAgICAgfCAgOSArKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF9w c3IuYyAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIHRvb2xzL3hsL3hsLmggICAgICAgICAgICAgICAgIHwgIDEgKwogdG9vbHMveGwveGxfY21k dGFibGUuYyAgICAgICAgfCAgNiArKysrKwogdG9vbHMveGwveGxfcHNyLmMgICAgICAgICAgICAg fCA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDYgZmlsZXMg Y2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0 cmwuaAppbmRleCBkN2VhYmZiLi4zMTYxYmY2IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNs dWRlL3hlbmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApAQCAtMjQ5 OSw5ICsyNDk5LDkgQEAgaW50IHhjX3Bzcl9jbXRfZ2V0X2RhdGEoeGNfaW50ZXJmYWNlICp4Y2gs IHVpbnQzMl90IHJtaWQsIHVpbnQzMl90IGNwdSwKICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90ICp0c2MpOwogaW50IHhjX3Bzcl9jbXRfZW5hYmxlZCh4Y19pbnRlcmZhY2UgKnhjaCk7 CiAKLWludCB4Y19wc3JfY2F0X3NldF9kb21haW5fZGF0YSh4Y19pbnRlcmZhY2UgKnhjaCwgdWlu dDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGNfcHNyX3ZhbF90 eXBlIHR5cGUsIHVpbnQzMl90IHRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBkYXRhKTsKK2ludCB4Y19wc3Jfc2V0X2RvbWFpbl9kYXRhKHhjX2ludGVyZmFj ZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX3Bz cl92YWxfdHlwZSB0eXBlLCB1aW50MzJfdCB0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCBkYXRhKTsKIGludCB4Y19wc3JfZ2V0X2RvbWFpbl9kYXRhKHhjX2ludGVy ZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhj X3Bzcl92YWxfdHlwZSB0eXBlLCB1aW50MzJfdCB0YXJnZXQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50NjRfdCAqZGF0YSk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19wc3Iu YyBiL3Rvb2xzL2xpYnhjL3hjX3Bzci5jCmluZGV4IGRlNTAxYjAuLjRkZGU3NmYgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhjL3hjX3Bzci5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX3Bzci5jCkBAIC0y NDgsOSArMjQ4LDkgQEAgaW50IHhjX3Bzcl9jbXRfZW5hYmxlZCh4Y19pbnRlcmZhY2UgKnhjaCkK IAogICAgIHJldHVybiAwOwogfQotaW50IHhjX3Bzcl9jYXRfc2V0X2RvbWFpbl9kYXRhKHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4Y19wc3JfdmFsX3R5cGUgdHlwZSwgdWludDMyX3QgdGFyZ2V0LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGRhdGEpCitpbnQgeGNfcHNyX3NldF9kb21haW5f ZGF0YSh4Y19pbnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICB4Y19wc3JfdmFsX3R5cGUgdHlwZSwgdWludDMyX3QgdGFyZ2V0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgZGF0YSkKIHsKICAgICBERUNMQVJFX0RPTUNU TDsKICAgICB1aW50MzJfdCBjbWQ7CkBAIC0yNjksNiArMjY5LDkgQEAgaW50IHhjX3Bzcl9jYXRf c2V0X2RvbWFpbl9kYXRhKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKICAgICBj YXNlIFhDX1BTUl9DQVRfTDJfQ0JNOgogICAgICAgICBjbWQgPSBYRU5fRE9NQ1RMX1BTUl9DQVRf T1BfU0VUX0wyX0NCTTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBYQ19QU1JfTUJBX1RIUlRM OgorICAgICAgICBjbWQgPSBYRU5fRE9NQ1RMX1BTUl9NQkFfT1BfU0VUX1RIUlRMOworICAgICAg ICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBlcnJubyA9IEVJTlZBTDsKICAgICAgICAg cmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcHNyLmMgYi90b29scy9s aWJ4bC9saWJ4bF9wc3IuYwppbmRleCAxZjJlZWUyLi5iZDEwZThiIDEwMDY0NAotLS0gYS90b29s cy9saWJ4bC9saWJ4bF9wc3IuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9wc3IuYwpAQCAtMzI4 LDMzICszMjgsNyBAQCBpbnQgbGlieGxfcHNyX2NhdF9zZXRfY2JtKGxpYnhsX2N0eCAqY3R4LCB1 aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfcHNyX2NibV90 eXBlIHR5cGUsIGxpYnhsX2JpdG1hcCAqdGFyZ2V0X21hcCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgY2JtKQogewotICAgIEdDX0lOSVQoY3R4KTsKLSAgICBpbnQgcmM7Ci0g ICAgaW50IHNvY2tldGlkLCBucl9zb2NrZXRzOwotCi0gICAgcmMgPSBsaWJ4bF9fY291bnRfcGh5 c2ljYWxfc29ja2V0cyhnYywgJm5yX3NvY2tldHMpOwotICAgIGlmIChyYykgewotICAgICAgICBM T0dFRChFUlJPUiwgZG9taWQsICJmYWlsZWQgdG8gZ2V0IHN5c3RlbSBzb2NrZXQgY291bnQiKTsK LSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi0gICAgbGlieGxfZm9yX2VhY2hfc2V0X2JpdChz b2NrZXRpZCwgKnRhcmdldF9tYXApIHsKLSAgICAgICAgeGNfcHNyX3ZhbF90eXBlIHhjX3R5cGU7 Ci0KLSAgICAgICAgaWYgKHNvY2tldGlkID49IG5yX3NvY2tldHMpCi0gICAgICAgICAgICBicmVh azsKLQotICAgICAgICB4Y190eXBlID0gbGlieGxfX3Bzcl9jYm1fdHlwZV90b19saWJ4Y19wc3Jf dmFsX3R5cGUodHlwZSk7Ci0gICAgICAgIGlmICh4Y19wc3JfY2F0X3NldF9kb21haW5fZGF0YShj dHgtPnhjaCwgZG9taWQsIHhjX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzb2NrZXRpZCwgY2JtKSkgewotICAgICAgICAgICAgbGlieGxfX3Bzcl9hbGxvY19s b2dfZXJyX21zZyhnYywgZXJybm8sIHR5cGUpOwotICAgICAgICAgICAgcmMgPSBFUlJPUl9GQUlM OwotICAgICAgICB9Ci0gICAgfQotCi1vdXQ6Ci0gICAgR0NfRlJFRTsKLSAgICByZXR1cm4gcmM7 CisgICAgcmV0dXJuIGxpYnhsX3Bzcl9zZXRfdmFsKGN0eCwgZG9taWQsIHR5cGUsIHRhcmdldF9t YXAsIGNibSk7CiB9CiAKIGludCBsaWJ4bF9wc3JfY2F0X2dldF9jYm0obGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLApAQCAtNDU3LDcgKzQzMSwzMyBAQCBpbnQgbGlieGxfcHNyX3NldF92 YWwobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX3Bzcl9jYm1fdHlwZSB0eXBlLCBsaWJ4bF9iaXRtYXAgKnRhcmdldF9tYXAsCiAgICAg ICAgICAgICAgICAgICAgICAgdWludDY0X3QgdmFsKQogewotICAgIHJldHVybiBFUlJPUl9GQUlM OworICAgIEdDX0lOSVQoY3R4KTsKKyAgICBpbnQgcmM7CisgICAgaW50IHNvY2tldGlkLCBucl9z b2NrZXRzOworCisgICAgcmMgPSBsaWJ4bF9fY291bnRfcGh5c2ljYWxfc29ja2V0cyhnYywgJm5y X3NvY2tldHMpOworICAgIGlmIChyYykgeworICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsICJm YWlsZWQgdG8gZ2V0IHN5c3RlbSBzb2NrZXQgY291bnQiKTsKKyAgICAgICAgZ290byBvdXQ7Cisg ICAgfQorCisgICAgbGlieGxfZm9yX2VhY2hfc2V0X2JpdChzb2NrZXRpZCwgKnRhcmdldF9tYXAp IHsKKyAgICAgICAgeGNfcHNyX3ZhbF90eXBlIHhjX3R5cGU7CisKKyAgICAgICAgaWYgKHNvY2tl dGlkID49IG5yX3NvY2tldHMpCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICB4Y190eXBl ID0gbGlieGxfX3Bzcl9jYm1fdHlwZV90b19saWJ4Y19wc3JfdmFsX3R5cGUodHlwZSk7CisgICAg ICAgIGlmICh4Y19wc3Jfc2V0X2RvbWFpbl9kYXRhKGN0eC0+eGNoLCBkb21pZCwgeGNfdHlwZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0aWQsIHZhbCkpIHsKKyAg ICAgICAgICAgIGxpYnhsX19wc3JfYWxsb2NfbG9nX2Vycl9tc2coZ2MsIGVycm5vLCB0eXBlKTsK KyAgICAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgfQorICAgIH0KKworb3V0Ogor ICAgIEdDX0ZSRUU7CisgICAgcmV0dXJuIHJjOwogfQogCiBpbnQgbGlieGxfcHNyX2dldF92YWwo bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLApkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGwu aCBiL3Rvb2xzL3hsL3hsLmgKaW5kZXggNTkwNjVjNC4uMmNiZTg5YyAxMDA2NDQKLS0tIGEvdG9v bHMveGwveGwuaAorKysgYi90b29scy94bC94bC5oCkBAIC0yMDYsNiArMjA2LDcgQEAgaW50IG1h aW5fcHNyX2NtdF9zaG93KGludCBhcmdjLCBjaGFyICoqYXJndik7CiAjaWZkZWYgTElCWExfSEFW RV9QU1JfQ0FUCiBpbnQgbWFpbl9wc3JfY2F0X2NibV9zZXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KTsKIGludCBtYWluX3Bzcl9jYXRfc2hvdyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOworaW50IG1h aW5fcHNyX21iYV9zZXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKIGludCBtYWluX3Bzcl9tYmFf c2hvdyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwogI2VuZGlmCiBpbnQgbWFpbl9xZW11X21vbml0 b3JfY29tbWFuZChpbnQgYXJnYywgY2hhciAqKmFyZ3YpOwpkaWZmIC0tZ2l0IGEvdG9vbHMveGwv eGxfY21kdGFibGUuYyBiL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKaW5kZXggMTllNTAwNC4uNWY3 MTIyZCAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfY21kdGFibGUuYworKysgYi90b29scy94bC94 bF9jbWR0YWJsZS5jCkBAIC01NjIsNiArNTYyLDEyIEBAIHN0cnVjdCBjbWRfc3BlYyBjbWRfdGFi bGVbXSA9IHsKICAgICAgICJbb3B0aW9uc10gPERvbWFpbj4iLAogICAgICAgIi1sIDxsZXZlbD4g ICAgICAgIFNwZWNpZnkgdGhlIGNhY2hlIGxldmVsIHRvIHByb2Nlc3MsIG90aGVyd2lzZSBMMyBj YWNoZSBpcyBwcm9jZXNzZWRcbiIKICAgICB9LAorICAgIHsgInBzci1tYmEtc2V0IiwKKyAgICAg ICZtYWluX3Bzcl9tYmFfc2V0LCAwLCAxLAorICAgICAgIlNldCB0aHJvdHRsaW5nIHZhbHVlIChU SFJUTCkgZm9yIGEgZG9tYWluIiwKKyAgICAgICJbb3B0aW9uc10gPERvbWFpbj4gPFRIUlRMPiIs CisgICAgICAiLXMgPHNvY2tldD4gICAgICAgU3BlY2lmeSB0aGUgc29ja2V0IHRvIHByb2Nlc3Ms IG90aGVyd2lzZSBhbGwgc29ja2V0cyBhcmUgcHJvY2Vzc2VkXG4iCisgICAgfSwKICAgICB7ICJw c3ItbWJhLXNob3ciLAogICAgICAgJm1haW5fcHNyX21iYV9zaG93LCAwLCAxLAogICAgICAgIlNo b3cgTWVtb3J5IEJhbmR3aWR0aCBBbGxvY2F0aW9uIGluZm9ybWF0aW9uIiwKZGlmZiAtLWdpdCBh L3Rvb2xzL3hsL3hsX3Bzci5jIGIvdG9vbHMveGwveGxfcHNyLmMKaW5kZXggYTk3ZGFmYS4uZmM1 YmZjZCAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfcHNyLmMKKysrIGIvdG9vbHMveGwveGxfcHNy LmMKQEAgLTU1NCw2ICs1NTQsNjEgQEAgaW50IG1haW5fcHNyX21iYV9zaG93KGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICByZXR1cm4gcHNyX3ZhbF9zaG93KGRvbWlkLCBMSUJYTF9QU1JfRkVB VF9UWVBFX01CQSwgMCk7CiB9CiAKK2ludCBtYWluX3Bzcl9tYmFfc2V0KGludCBhcmdjLCBjaGFy ICoqYXJndikKK3sKKyAgICB1aW50MzJfdCBkb21pZDsKKyAgICBsaWJ4bF9wc3JfY2JtX3R5cGUg dHlwZTsKKyAgICB1aW50NjRfdCB0aHJ0bDsKKyAgICBpbnQgcmV0LCBvcHQgPSAwOworICAgIGxp YnhsX2JpdG1hcCB0YXJnZXRfbWFwOworICAgIGNoYXIgKnZhbHVlOworICAgIGxpYnhsX3N0cmlu Z19saXN0IHNvY2tldF9saXN0OworICAgIHVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZDsKKyAgICB1 bnNpZ25lZCBpbnQgaSwgaiwgbGVuOworCisgICAgc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0c1td ID0geworICAgICAgICB7InNvY2tldCIsIDEsIDAsICdzJ30sCisgICAgICAgIENPTU1PTl9MT05H X09QVFMKKyAgICB9OworCisgICAgbGlieGxfc29ja2V0X2JpdG1hcF9hbGxvYyhjdHgsICZ0YXJn ZXRfbWFwLCAwKTsKKyAgICBsaWJ4bF9iaXRtYXBfc2V0X25vbmUoJnRhcmdldF9tYXApOworCisg ICAgU1dJVENIX0ZPUkVBQ0hfT1BUKG9wdCwgInM6Iiwgb3B0cywgInBzci1tYmEtc2V0IiwgMCkg eworICAgIGNhc2UgJ3MnOgorICAgICAgICB0cmltKGlzc3BhY2UsIG9wdGFyZywgJnZhbHVlKTsK KyAgICAgICAgc3BsaXRfc3RyaW5nX2ludG9fc3RyaW5nX2xpc3QodmFsdWUsICIsIiwgJnNvY2tl dF9saXN0KTsKKyAgICAgICAgbGVuID0gbGlieGxfc3RyaW5nX2xpc3RfbGVuZ3RoKCZzb2NrZXRf bGlzdCk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICBw YXJzZV9yYW5nZShzb2NrZXRfbGlzdFtpXSwgJnN0YXJ0LCAmZW5kKTsKKyAgICAgICAgICAgIGZv ciAoaiA9IHN0YXJ0OyBqIDw9IGVuZDsgaisrKQorICAgICAgICAgICAgICAgIGxpYnhsX2JpdG1h cF9zZXQoJnRhcmdldF9tYXAsIGopOworICAgICAgICB9CisKKyAgICAgICAgbGlieGxfc3RyaW5n X2xpc3RfZGlzcG9zZSgmc29ja2V0X2xpc3QpOworICAgICAgICBmcmVlKHZhbHVlKTsKKyAgICAg ICAgYnJlYWs7CisgICAgfQorCisgICAgdHlwZSA9IExJQlhMX1BTUl9DQk1fVFlQRV9NQkFfVEhS VEw7CisKKyAgICBpZiAobGlieGxfYml0bWFwX2lzX2VtcHR5KCZ0YXJnZXRfbWFwKSkKKyAgICAg ICAgbGlieGxfYml0bWFwX3NldF9hbnkoJnRhcmdldF9tYXApOworCisgICAgaWYgKGFyZ2MgIT0g b3B0aW5kICsgMikgeworICAgICAgICBoZWxwKCJwc3ItbWJhLXNldCIpOworICAgICAgICByZXR1 cm4gMjsKKyAgICB9CisKKyAgICBkb21pZCA9IGZpbmRfZG9tYWluKGFyZ3Zbb3B0aW5kXSk7Cisg ICAgdGhydGwgPSBzdHJ0b2xsKGFyZ3Zbb3B0aW5kICsgMV0sIE5VTEwgLCAwKTsKKworICAgIHJl dCA9IGxpYnhsX3Bzcl9zZXRfdmFsKGN0eCwgZG9taWQsIHR5cGUsICZ0YXJnZXRfbWFwLCB0aHJ0 bCk7CisKKyAgICBsaWJ4bF9iaXRtYXBfZGlzcG9zZSgmdGFyZ2V0X21hcCk7CisgICAgcmV0dXJu IHJldDsKK30KKwogc3RhdGljIGludCBwc3JfbWJhX2h3aW5mbyh2b2lkKQogewogICAgIGludCBy YzsKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==