From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH 09/16] tools/libacpi: add callbacks to access XenStore Date: Mon, 10 Oct 2016 08:32:28 +0800 Message-ID: <20161010003235.4213-10-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 , Xiao Guangrong , Andrew Cooper , Ian Jackson , Jan Beulich , Wei Liu List-Id: xen-devel@lists.xenproject.org bGliYWNwaSBuZWVkcyB0byBhY2Nlc3MgaW5mb3JtYXRpb24gcGxhY2VkIGluIFhlblN0b3JlIGlu IG9yZGVyIHRvIGxvYWQKQUNQSSBidWlsdCBieSB0aGUgZGV2aWNlIG1vZGVsLgoKU2lnbmVkLW9m Zi1ieTogSGFvemhvbmcgWmhhbmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0tCkNjOiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJp eC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci91dGlsLmMgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwuaCAgIHwgIDIgKysKIHRv b2xzL2Zpcm13YXJlL2h2bWxvYWRlci94ZW5idXMuYyB8IDIwICsrKysrKysrKysrKysrKysKIHRv b2xzL2xpYmFjcGkvbGliYWNwaS5oICAgICAgICAgICB8IDEwICsrKysrKysrCiB0b29scy9saWJ4 bC9saWJ4bF94ODZfYWNwaS5jICAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrCiA1IGZpbGVz IGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdG9vbHMvZmlybXdhcmUv aHZtbG9hZGVyL3V0aWwuYyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmMKaW5kZXgg NTA0YWU2YS4uZGJhOTU0YSAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0 aWwuYworKysgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIvdXRpbC5jCkBAIC04ODgsNiArODg4 LDUxIEBAIHN0YXRpYyB2b2lkIGFjcGlfbWVtX2ZyZWUoc3RydWN0IGFjcGlfY3R4dCAqY3R4dCwK ICAgICAvKiBBQ1BJIGJ1aWxkZXIgY3VycmVudGx5IGRvZXNuJ3QgZnJlZSBtZW1vcnkgc28gdGhp cyBpcyBqdXN0IGEgc3R1YiAqLwogfQogCitzdGF0aWMgY29uc3QgY2hhciAqYWNwaV94c19yZWFk KHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisgICAgcmV0dXJu IHhlbnN0b3JlX3JlYWQocGF0aCwgTlVMTCk7Cit9CisKK3N0YXRpYyBpbnQgYWNwaV94c193cml0 ZShzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworICAgIHJldHVybiB4ZW5zdG9yZV93 cml0ZShwYXRoLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY291bnRfc3RyaW5n cyhjb25zdCBjaGFyICpzdHJpbmdzLCB1bnNpZ25lZCBpbnQgbGVuKQoreworICAgIGNvbnN0IGNo YXIgKnA7CisgICAgdW5zaWduZWQgaW50IG47CisKKyAgICBmb3IgKCBwID0gc3RyaW5ncywgbiA9 IDA7IHAgPCBzdHJpbmdzICsgbGVuOyBwKysgKQorICAgICAgICBpZiAoICpwID09ICdcMCcgKQor ICAgICAgICAgICAgbisrOworCisgICAgcmV0dXJuIG47Cit9CisKK3N0YXRpYyBjaGFyICoqYWNw aV94c19kaXJlY3Rvcnkoc3RydWN0IGFjcGlfY3R4dCAqY3R4dCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgaW50ICpudW0pCit7Cisg ICAgY29uc3QgY2hhciAqc3RyaW5nczsKKyAgICBjaGFyICpzLCAqcCwgKipyZXQ7CisgICAgdW5z aWduZWQgaW50IGxlbiwgbjsKKworICAgIHN0cmluZ3MgPSB4ZW5zdG9yZV9kaXJlY3RvcnkocGF0 aCwgJmxlbiwgTlVMTCk7CisgICAgaWYgKCAhc3RyaW5ncyApCisgICAgICAgIHJldHVybiBOVUxM OworCisgICAgbiA9IGNvdW50X3N0cmluZ3Moc3RyaW5ncywgbGVuKTsKKyAgICByZXQgPSBjdHh0 LT5tZW1fb3BzLmFsbG9jKGN0eHQsIG4gKiBzaXplb2YoY2hhciAqKSArIGxlbiwgMCk7CisgICAg bWVtY3B5KCZyZXRbbl0sIHN0cmluZ3MsIGxlbik7CisKKyAgICBzID0gKGNoYXIgKikmcmV0W25d OworICAgIGZvciAoIHAgPSBzLCAqbnVtID0gMDsgcCA8IHMgKyBsZW47IHArPSBzdHJsZW4ocCkg KyAxICkKKyAgICAgICAgcmV0WygqbnVtKSsrXSA9IHA7CisKKyAgICByZXR1cm4gcmV0OworfQor CiBzdGF0aWMgdWludDhfdCBhY3BpX2xhcGljX2lkKHVuc2lnbmVkIGNwdSkKIHsKICAgICByZXR1 cm4gTEFQSUNfSUQoY3B1KTsKQEAgLTk3NSw2ICsxMDIwLDExIEBAIHZvaWQgaHZtbG9hZGVyX2Fj cGlfYnVpbGRfdGFibGVzKHN0cnVjdCBhY3BpX2NvbmZpZyAqY29uZmlnLAogICAgIGN0eHQubWlu X2FsbG9jX3VuaXQgPSBQQUdFX1NJWkU7CiAgICAgY3R4dC5taW5fYWxsb2NfYWxpZ24gPSAxNjsK IAorICAgIGN0eHQueHNfb3BzLnJlYWQgPSBhY3BpX3hzX3JlYWQ7CisgICAgY3R4dC54c19vcHMu d3JpdGUgPSBhY3BpX3hzX3dyaXRlOworICAgIGN0eHQueHNfb3BzLmRpcmVjdG9yeSA9IGFjcGlf eHNfZGlyZWN0b3J5OworICAgIGN0eHQueHNfb3BhcXVlID0gTlVMTDsKKwogICAgIGFjcGlfYnVp bGRfdGFibGVzKCZjdHh0LCBjb25maWcpOwogCiAgICAgaHZtX3BhcmFtX3NldChIVk1fUEFSQU1f Vk1fR0VORVJBVElPTl9JRF9BRERSLCBjb25maWctPnZtX2dpZF9hZGRyKTsKZGlmZiAtLWdpdCBh L3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci91dGlsLmggYi90b29scy9maXJtd2FyZS9odm1sb2Fk ZXIvdXRpbC5oCmluZGV4IDZhNTBkYWUuLjk0NDM2NzMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13 YXJlL2h2bWxvYWRlci91dGlsLmgKKysrIGIvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3V0aWwu aApAQCAtMjI1LDYgKzIyNSw4IEBAIGNvbnN0IGNoYXIgKnhlbnN0b3JlX3JlYWQoY29uc3QgY2hh ciAqcGF0aCwgY29uc3QgY2hhciAqZGVmYXVsdF9yZXNwKTsKICAqLwogaW50IHhlbnN0b3JlX3dy aXRlKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnZhbHVlKTsKIAorY29uc3QgY2hhciAq eGVuc3RvcmVfZGlyZWN0b3J5KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90ICpsZW4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGVmYXVsdF9yZXNwKTsKIAog LyogR2V0IGEgSFZNIHBhcmFtLgogICovCmRpZmYgLS1naXQgYS90b29scy9maXJtd2FyZS9odm1s b2FkZXIveGVuYnVzLmMgYi90b29scy9maXJtd2FyZS9odm1sb2FkZXIveGVuYnVzLmMKaW5kZXgg NDQ4MTU3ZC4uNzBiZGFkZCAxMDA2NDQKLS0tIGEvdG9vbHMvZmlybXdhcmUvaHZtbG9hZGVyL3hl bmJ1cy5jCisrKyBiL3Rvb2xzL2Zpcm13YXJlL2h2bWxvYWRlci94ZW5idXMuYwpAQCAtMjk2LDYg KzI5NiwyNiBAQCBpbnQgeGVuc3RvcmVfd3JpdGUoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hh ciAqdmFsdWUpCiAgICAgcmV0dXJuIHJldDsKIH0KIAorY29uc3QgY2hhciAqeGVuc3RvcmVfZGly ZWN0b3J5KGNvbnN0IGNoYXIgKnBhdGgsIHVpbnQzMl90ICpsZW4sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZGVmYXVsdF9yZXNwKQoreworICAgIHVpbnQzMl90 IHR5cGUgPSAwOworICAgIGNvbnN0IGNoYXIgKmFuc3dlciA9IE5VTEw7CisKKyAgICB4ZW5idXNf c2VuZChYU19ESVJFQ1RPUlksCisgICAgICAgICAgICAgICAgcGF0aCwgc3RybGVuKHBhdGgpLAor ICAgICAgICAgICAgICAgICIiLCAxLCAvKiBudWwgc2VwYXJhdG9yICovCisgICAgICAgICAgICAg ICAgTlVMTCwgMCk7CisKKyAgICBpZiAoIHhlbmJ1c19yZWN2KGxlbiwgJmFuc3dlciwgJnR5cGUp IHx8ICh0eXBlICE9IFhTX0RJUkVDVE9SWSkgKQorICAgICAgICBhbnN3ZXIgPSBOVUxMOworCisg ICAgaWYgKCAoZGVmYXVsdF9yZXNwICE9IE5VTEwpICYmICgoYW5zd2VyID09IE5VTEwpIHx8ICgq YW5zd2VyID09ICdcMCcpKSApCisgICAgICAgIGFuc3dlciA9IGRlZmF1bHRfcmVzcDsKKworICAg IHJldHVybiBhbnN3ZXI7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBD CmRpZmYgLS1naXQgYS90b29scy9saWJhY3BpL2xpYmFjcGkuaCBiL3Rvb2xzL2xpYmFjcGkvbGli YWNwaS5oCmluZGV4IDBmYjE2ZTcuLjEyY2FmZDggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmFjcGkv bGliYWNwaS5oCisrKyBiL3Rvb2xzL2xpYmFjcGkvbGliYWNwaS5oCkBAIC01MCw2ICs1MCwxNiBA QCBzdHJ1Y3QgYWNwaV9jdHh0IHsKIAogICAgIHVpbnQzMl90IG1pbl9hbGxvY191bml0OwogICAg IHVpbnQzMl90IG1pbl9hbGxvY19hbGlnbjsKKworICAgIHN0cnVjdCBhY3BpX3hzX29wcyB7Cisg ICAgICAgIGNvbnN0IGNoYXIgKigqcmVhZCkoc3RydWN0IGFjcGlfY3R4dCAqY3R4dCwgY29uc3Qg Y2hhciAqcGF0aCk7CisgICAgICAgIGludCAoKndyaXRlKShzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0 LAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqdmFs dWUpOworICAgICAgICBjaGFyICoqKCpkaXJlY3RvcnkpKHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQg aW50ICpudW0pOworICAgIH0geHNfb3BzOworCisgICAgdm9pZCAqeHNfb3BhcXVlOwogfTsKIAog c3RydWN0IGFjcGlfY29uZmlnIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Nl9h Y3BpLmMgYi90b29scy9saWJ4bC9saWJ4bF94ODZfYWNwaS5jCmluZGV4IGJhZjYwYWMuLjFhZmQy ZTMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3g4Nl9hY3BpLmMKKysrIGIvdG9vbHMv bGlieGwvbGlieGxfeDg2X2FjcGkuYwpAQCAtOTMsNiArOTMsMjUgQEAgc3RhdGljIHZvaWQgYWNw aV9tZW1fZnJlZShzdHJ1Y3QgYWNwaV9jdHh0ICpjdHh0LAogewogfQogCitzdGF0aWMgY29uc3Qg Y2hhciAqYWNwaV94c19yZWFkKHN0cnVjdCBhY3BpX2N0eHQgKmN0eHQsIGNvbnN0IGNoYXIgKnBh dGgpCit7CisgICAgcmV0dXJuIGxpYnhsX194c19yZWFkKChsaWJ4bF9fZ2MgKiljdHh0LT54c19v cGFxdWUsIFhCVF9OVUxMLCBwYXRoKTsKK30KKworc3RhdGljIGludCBhY3BpX3hzX3dyaXRlKHN0 cnVjdCBhY3BpX2N0eHQgKmN0eHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciAqcGF0aCwgY29uc3QgY2hhciAqdmFsdWUpCit7CisgICAgcmV0dXJuIGxpYnhsX194c193cml0 ZV9jaGVja2VkKChsaWJ4bF9fZ2MgKiljdHh0LT54c19vcGFxdWUsIFhCVF9OVUxMLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLCB2YWx1ZSk7Cit9CisKK3N0YXRpYyBj aGFyICoqYWNwaV94c19kaXJlY3Rvcnkoc3RydWN0IGFjcGlfY3R4dCAqY3R4dCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwgdW5zaWduZWQgaW50ICpu dW0pCit7CisgICAgcmV0dXJuIGxpYnhsX194c19kaXJlY3RvcnkoKGxpYnhsX19nYyAqKWN0eHQt PnhzX29wYXF1ZSwgWEJUX05VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0 aCwgbnVtKTsKK30KKwogc3RhdGljIHVpbnQ4X3QgYWNwaV9sYXBpY19pZCh1bnNpZ25lZCBjcHUp CiB7CiAgICAgcmV0dXJuIGNwdSAqIDI7CkBAIC0xOTAsNiArMjA5LDExIEBAIGludCBsaWJ4bF9f ZG9tX2xvYWRfYWNwaShsaWJ4bF9fZ2MgKmdjLAogICAgIGxpYnhsX2N0eHQuYy5taW5fYWxsb2Nf dW5pdCA9IGxpYnhsX2N0eHQucGFnZV9zaXplOwogICAgIGxpYnhsX2N0eHQuYy5taW5fYWxsb2Nf YWxpZ24gPSAxNjsKIAorICAgIGxpYnhsX2N0eHQuYy54c19vcHMucmVhZCA9IGFjcGlfeHNfcmVh ZDsKKyAgICBsaWJ4bF9jdHh0LmMueHNfb3BzLndyaXRlID0gYWNwaV94c193cml0ZTsKKyAgICBs aWJ4bF9jdHh0LmMueHNfb3BzLmRpcmVjdG9yeSA9IGFjcGlfeHNfZGlyZWN0b3J5OworICAgIGxp YnhsX2N0eHQuYy54c19vcGFxdWUgPSBnYzsKKwogICAgIHJjID0gaW5pdF9hY3BpX2NvbmZpZyhn YywgZG9tLCBiX2luZm8sICZjb25maWcpOwogICAgIGlmIChyYykgewogICAgICAgICBMT0coRVJS T1IsICJpbml0X2FjcGlfY29uZmlnIGZhaWxlZCAocmM9JWQpIiwgcmMpOwotLSAKMi4xMC4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==