From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 04/16] libxl/arm: Estimate the size of ACPI tables Date: Tue, 27 Sep 2016 08:20:39 -0700 Message-ID: <20160927152039.52000-1-shannon.zhao@linaro.org> References: <1474548753-12596-5-git-send-email-zhaoshenglong@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474548753-12596-5-git-send-email-zhaoshenglong@huawei.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: sstabellini@kernel.org, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, Shannon Zhao , zhaoshenglong@huawei.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org RXN0aW1hdGUgdGhlIHNpemUgb2YgQUNQSSB0YWJsZXMgYW5kIHJlc2VydmUgYSBtZW1vcnkgbWFw IHNwYWNlIGZvciBBQ1BJCnRhYmxlcy4KClNpZ25lZC1vZmYtYnk6IFNoYW5ub24gWmhhbyA8c2hh bm5vbi56aGFvQGxpbmFyby5vcmc+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfYXJtX2FjcGkuYyB8 IDEwMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5j bHVkZS9hY3BpL2FjdGJsMS5oICAgIHwgICAyICsKIDIgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9hcm1fYWNwaS5jIGIvdG9v bHMvbGlieGwvbGlieGxfYXJtX2FjcGkuYwppbmRleCAwODUxNDExLi4zM2EyNWZmIDEwMDY0NAot LS0gYS90b29scy9saWJ4bC9saWJ4bF9hcm1fYWNwaS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2FybV9hY3BpLmMKQEAgLTM0LDEyICszNCwxMTAgQEAgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNo YXIgZHNkdF9hbnljcHVfYXJtW107CiBfaGlkZGVuCiBleHRlcm4gY29uc3QgaW50IGRzZHRfYW55 Y3B1X2FybV9sZW47CiAKK2VudW0geworICAgIFJTRFAsCisgICAgWFNEVCwKKyAgICBHVERULAor ICAgIE1BRFQsCisgICAgRkFEVCwKKyAgICBEU0RULAorICAgIE1BWF9UQUJMRV9OVU1TLAorfTsK Kworc3RydWN0IGFjcGl0YWJsZSB7CisgICAgdWludDY0X3QgYWRkcjsKKyAgICBzaXplX3Qgc2l6 ZTsKK307CisKK3N0YXRpYyBpbnQgbGlieGxfX2VzdGltYXRlX21hZHRfc2l6ZShsaWJ4bF9fZ2Mg KmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2Rv bWFpbl9idWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHhjX2RvbWFpbl9jb25maWd1cmF0aW9uX3QgKnhjX2NvbmZpZywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgKnNpemUpCit7CisgICAgaW50IHJj ID0gMDsKKworICAgIHN3aXRjaCAoeGNfY29uZmlnLT5naWNfdmVyc2lvbikgeworICAgIGNhc2Ug WEVOX0RPTUNUTF9DT05GSUdfR0lDX1YyOgorICAgICAgICAqc2l6ZSA9IHNpemVvZihzdHJ1Y3Qg YWNwaV90YWJsZV9tYWR0KSArCisgICAgICAgICAgICAgICAgQUNQSV9NQURUX0dJQ0NfU0laRV92 NSAqIGluZm8tPm1heF92Y3B1cyArCisgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY19kaXN0cmlidXRvcik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWEVO X0RPTUNUTF9DT05GSUdfR0lDX1YzOgorICAgICAgICAqc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWNw aV90YWJsZV9tYWR0KSArCisgICAgICAgICAgICAgICAgQUNQSV9NQURUX0dJQ0NfU0laRV92NSAq IGluZm8tPm1heF92Y3B1cyArCisgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX21h ZHRfZ2VuZXJpY19kaXN0cmlidXRvcikgKworICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qg YWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvcik7CisgICAgICAgIGJyZWFrOworICAgIGRl ZmF1bHQ6CisgICAgICAgIExPRyhFUlJPUiwgIlVua25vd24gR0lDIHZlcnNpb24iKTsKKyAgICAg ICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4g cmM7Cit9CisKK3N0YXRpYyBpbnQgbGlieGxfX2VzdGltYXRlX2FjcGlfc2l6ZShsaWJ4bF9fZ2Mg KmdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9i dWlsZF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICp4Y19jb25maWcsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFjcGl0YWJsZSBhY3BpdGFibGVzW10pCit7 CisgICAgaW50IHJjOworICAgIHNpemVfdCBzaXplOworCisgICAgYWNwaXRhYmxlc1tSU0RQXS5h ZGRyID0gR1VFU1RfQUNQSV9CQVNFOworICAgIGFjcGl0YWJsZXNbUlNEUF0uc2l6ZSA9IHNpemVv ZihzdHJ1Y3QgYWNwaV90YWJsZV9yc2RwKTsKKyAgICBkb20tPmFjcGlfbW9kdWxlc1swXS5sZW5n dGggKz0gUk9VTkRVUChhY3BpdGFibGVzW1JTRFBdLnNpemUsIDMpOworCisgICAgYWNwaXRhYmxl c1tYU0RUXS5hZGRyID0gR1VFU1RfQUNQSV9CQVNFICsgZG9tLT5hY3BpX21vZHVsZXNbMF0ubGVu Z3RoOworICAgIC8qCisgICAgICogQ3VycmVudGx5IG9ubHkgMyB0YWJsZXMoR1REVCwgRkFEVCwg TUFEVCkgYXJlIHBvaW50ZWQgYnkgWFNEVC4gQWxsb2MKKyAgICAgKiBlbnRyaWVzIGZvciB0aGVt LgorICAgICAqLworICAgIGFjcGl0YWJsZXNbWFNEVF0uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWNw aV90YWJsZV94c2R0KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHVpbnQ2 NF90KSAqIDI7CisgICAgZG9tLT5hY3BpX21vZHVsZXNbMF0ubGVuZ3RoICs9IFJPVU5EVVAoYWNw aXRhYmxlc1tYU0RUXS5zaXplLCAzKTsKKworICAgIGFjcGl0YWJsZXNbR1REVF0uYWRkciA9IEdV RVNUX0FDUElfQkFTRSArIGRvbS0+YWNwaV9tb2R1bGVzWzBdLmxlbmd0aDsKKyAgICBhY3BpdGFi bGVzW0dURFRdLnNpemUgPSBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfZ3RkdCk7CisgICAgZG9t LT5hY3BpX21vZHVsZXNbMF0ubGVuZ3RoICs9IFJPVU5EVVAoYWNwaXRhYmxlc1tHVERUXS5zaXpl LCAzKTsKKworICAgIGFjcGl0YWJsZXNbTUFEVF0uYWRkciA9IEdVRVNUX0FDUElfQkFTRSArIGRv bS0+YWNwaV9tb2R1bGVzWzBdLmxlbmd0aDsKKworICAgIHJjID0gbGlieGxfX2VzdGltYXRlX21h ZHRfc2l6ZShnYywgaW5mbywgeGNfY29uZmlnLCAmc2l6ZSk7CisgICAgaWYgKHJjIDwgMCkKKyAg ICAgICAgZ290byBvdXQ7CisKKyAgICBhY3BpdGFibGVzW01BRFRdLnNpemUgPSBzaXplOworICAg IGRvbS0+YWNwaV9tb2R1bGVzWzBdLmxlbmd0aCArPSBST1VORFVQKGFjcGl0YWJsZXNbTUFEVF0u c2l6ZSwgMyk7CisKKyAgICBhY3BpdGFibGVzW0ZBRFRdLmFkZHIgPSBHVUVTVF9BQ1BJX0JBU0Ug KyBkb20tPmFjcGlfbW9kdWxlc1swXS5sZW5ndGg7CisgICAgYWNwaXRhYmxlc1tGQURUXS5zaXpl ID0gc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX2ZhZHQpOworICAgIGRvbS0+YWNwaV9tb2R1bGVz WzBdLmxlbmd0aCArPSBST1VORFVQKGFjcGl0YWJsZXNbRkFEVF0uc2l6ZSwgMyk7CisKKyAgICBh Y3BpdGFibGVzW0RTRFRdLmFkZHIgPSBHVUVTVF9BQ1BJX0JBU0UgKyBkb20tPmFjcGlfbW9kdWxl c1swXS5sZW5ndGg7CisgICAgYWNwaXRhYmxlc1tEU0RUXS5zaXplID0gZHNkdF9hbnljcHVfYXJt X2xlbjsKKyAgICBkb20tPmFjcGlfbW9kdWxlc1swXS5sZW5ndGggKz0gUk9VTkRVUChhY3BpdGFi bGVzW0RTRFRdLnNpemUsIDMpOworCisgICAgYXNzZXJ0KGRvbS0+YWNwaV9tb2R1bGVzWzBdLmxl bmd0aCA8PSBHVUVTVF9BQ1BJX1NJWkUpOworICAgIGRvbS0+YWNwaV9tb2R1bGVzWzBdLmRhdGEg PSBsaWJ4bF9femFsbG9jKGdjLCBkb20tPmFjcGlfbW9kdWxlc1swXS5sZW5ndGgpOworCisgICAg cmMgPSAwOworb3V0OgorICAgIHJldHVybiByYzsKK30KKwogaW50IGxpYnhsX19wcmVwYXJlX2Fj cGkobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCiAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlICpzdGF0ZSwKICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKIHsKICAgICBjb25z dCBsaWJ4bF92ZXJzaW9uX2luZm8gKnZlcnM7CiAgICAgaW50IHJjID0gMDsKKyAgICBzdHJ1Y3Qg YWNwaXRhYmxlIGFjcGl0YWJsZXNbTUFYX1RBQkxFX05VTVNdOworCisgICAgLyogY29udmVuaWVu Y2UgYWxpYXNlcyAqLworICAgIHhjX2RvbWFpbl9jb25maWd1cmF0aW9uX3QgKnhjX2NvbmZpZyA9 ICZzdGF0ZS0+Y29uZmlnOwogCiAgICAgdmVycyA9IGxpYnhsX2dldF92ZXJzaW9uX2luZm8oQ1RY KTsKICAgICBpZiAodmVycyA9PSBOVUxMKSB7CkBAIC01NCw2ICsxNTIsOCBAQCBpbnQgbGlieGxf X3ByZXBhcmVfYWNwaShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5m bywKICAgICBkb20tPmFjcGlfbW9kdWxlc1swXS5sZW5ndGggPSAwOwogICAgIGRvbS0+YWNwaV9t b2R1bGVzWzBdLmd1ZXN0X2FkZHJfb3V0ID0gR1VFU1RfQUNQSV9CQVNFOwogCisgICAgcmMgPSBs aWJ4bF9fZXN0aW1hdGVfYWNwaV9zaXplKGdjLCBpbmZvLCBkb20sIHhjX2NvbmZpZywgYWNwaXRh Ymxlcyk7CisKIG91dDoKICAgICByZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hY3BpL2FjdGJsMS5oIGIveGVuL2luY2x1ZGUvYWNwaS9hY3RibDEuaAppbmRleCBlZDVjZDJk Li5lMTk5MTM2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hY3BpL2FjdGJsMS5oCisrKyBiL3hl bi9pbmNsdWRlL2FjcGkvYWN0YmwxLmgKQEAgLTc4Niw2ICs3ODYsOCBAQCBzdHJ1Y3QgYWNwaV9t YWR0X2dlbmVyaWNfaW50ZXJydXB0IHsKIAl1OCByZXNlcnZlZDJbM107CiB9OwogCisjZGVmaW5l IEFDUElfTUFEVF9HSUNDX1NJWkVfdjUgICAgICAgICAgNzYKKwogLyogTWFza3MgZm9yIEZsYWdz IGZpZWxkIGFib3ZlICovCiAKIC8qIEFDUElfTUFEVF9FTkFCTEVEICAgICAgICAgICAgICAgICAg ICAoMSkgICAgICBQcm9jZXNzb3IgaXMgdXNhYmxlIGlmIHNldCAqLwotLSAKMi4xMC4wLndpbmRv d3MuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=