From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v5 09/16] libxl/arm: Construct ACPI MADT table Date: Fri, 2 Sep 2016 10:55:32 +0800 Message-ID: <1472784939-14404-10-git-send-email-zhaoshenglong@huawei.com> References: <1472784939-14404-1-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: <1472784939-14404-1-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, peter.huangpeng@huawei.com, julien.grall@arm.com, shannon.zhao@linaro.org, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org RnJvbTogU2hhbm5vbiBaaGFvIDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KCkFjY29yZGluZyB0 byB0aGUgR0lDIHZlcnNpb24sIGNvbnN0cnVjdCB0aGUgTUFEVCB0YWJsZS4KClNpZ25lZC1vZmYt Ynk6IFNoYW5ub24gWmhhbyA8c2hhbm5vbi56aGFvQGxpbmFyby5vcmc+Ci0tLQogdG9vbHMvbGli eGwvbGlieGxfYXJtX2FjcGkuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybV9hY3BpLmMgYi90b29scy9saWJ4bC9saWJ4bF9hcm1f YWNwaS5jCmluZGV4IGFiNDlkNTcuLmQzMzU4YjMgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsX2FybV9hY3BpLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtX2FjcGkuYwpAQCAtMjI3 LDYgKzIyNyw4OSBAQCBzdGF0aWMgdm9pZCBtYWtlX2FjcGlfZ3RkdChsaWJ4bF9fZ2MgKmdjLCBz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCiAgICAgICAgICAgICAgICAgICAgICAgIGFjcGl0YWJs ZXNbR1REVF0uc2l6ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIG1ha2VfYWNwaV9tYWR0X2dpY2Modm9p ZCAqdGFibGUsIGludCBucl9jcHVzLCB1aW50NjRfdCBnaWNjX2Jhc2UpCit7CisgICAgaW50IGk7 CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCAqZ2ljYyA9IHRhYmxlOwor CisgICAgZm9yIChpID0gMDsgaSA8IG5yX2NwdXM7IGkrKykgeworICAgICAgICBnaWNjLT5oZWFk ZXIudHlwZSA9IEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfSU5URVJSVVBUOworICAgICAgICBnaWNj LT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKCpnaWNjKTsKKyAgICAgICAgZ2ljYy0+YmFzZV9hZGRy ZXNzID0gZ2ljY19iYXNlOworICAgICAgICBnaWNjLT5jcHVfaW50ZXJmYWNlX251bWJlciA9IGk7 CisgICAgICAgIGdpY2MtPmFybV9tcGlkciA9IGxpYnhsX19jb21wdXRlX21wZGlyKGkpOworICAg ICAgICBnaWNjLT51aWQgPSBpOworICAgICAgICBnaWNjLT5mbGFncyA9IEFDUElfTUFEVF9FTkFC TEVEOworICAgICAgICBnaWNjKys7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBtYWtlX2FjcGlf bWFkdF9naWNkKHZvaWQgKnRhYmxlLCB1aW50NjRfdCBnaWNkX2Jhc2UsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZ2ljX3ZlcnNpb24pCit7CisgICAgc3RydWN0IGFj cGlfbWFkdF9nZW5lcmljX2Rpc3RyaWJ1dG9yICpnaWNkID0gdGFibGU7CisKKyAgICBnaWNkLT5o ZWFkZXIudHlwZSA9IEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfRElTVFJJQlVUT1I7CisgICAgZ2lj ZC0+aGVhZGVyLmxlbmd0aCA9IHNpemVvZigqZ2ljZCk7CisgICAgZ2ljZC0+YmFzZV9hZGRyZXNz ID0gZ2ljZF9iYXNlOworICAgIC8qIFRoaXMgdmVyc2lvbiBmaWVsZCBoYXMgbm8gbWVhbmluZyBi ZWZvcmUgQUNQSSA1LjEgZXJyYXRhLiAqLworICAgIGdpY2QtPnZlcnNpb24gPSBnaWNfdmVyc2lv bjsKK30KKworc3RhdGljIHZvaWQgbWFrZV9hY3BpX21hZHRfZ2ljcih2b2lkICp0YWJsZSwgdWlu dDY0X3QgZ2ljcl9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCBnaWNyX3NpemUpCit7CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0 b3IgKmdpY3IgPSB0YWJsZTsKKworICAgIGdpY3ItPmhlYWRlci50eXBlID0gQUNQSV9NQURUX1RZ UEVfR0VORVJJQ19SRURJU1RSSUJVVE9SOworICAgIGdpY3ItPmhlYWRlci5sZW5ndGggPSBzaXpl b2YoKmdpY3IpOworICAgIGdpY3ItPmJhc2VfYWRkcmVzcyA9IGdpY3JfYmFzZTsKKyAgICBnaWNy LT5sZW5ndGggPSBnaWNyX3NpemU7Cit9CisKK3N0YXRpYyBpbnQgbWFrZV9hY3BpX21hZHQobGli eGxfX2djICpnYywgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLCBpbnQgbnJfY3B1cywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgeGNfZG9tYWluX2NvbmZpZ3VyYXRpb25fdCAqeGNfY29uZmln LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYWNwaXRhYmxlIGFjcGl0YWJsZXNb XSkKK3sKKyAgICB1aW50NjRfdCBvZmZzZXQgPSBhY3BpdGFibGVzW01BRFRdLmFkZHIgLSBHVUVT VF9BQ1BJX0JBU0U7CisgICAgdm9pZCAqdGFibGUgPSBkb20tPmFjcGlfbW9kdWxlc1swXS5kYXRh ICsgb2Zmc2V0OworICAgIHN0cnVjdCBhY3BpX3RhYmxlX21hZHQgKm1hZHQgPSB0YWJsZTsKKyAg ICBpbnQgcmMgPSAwOworCisgICAgc3dpdGNoICh4Y19jb25maWctPmdpY192ZXJzaW9uKSB7Cisg ICAgY2FzZSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfVjI6CisgICAgICAgIHRhYmxlICs9IHNpemVv ZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KTsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljYyh0 YWJsZSwgbnJfY3B1cywgR1VFU1RfR0lDQ19CQVNFKTsKKworICAgICAgICB0YWJsZSArPSBzaXpl b2Yoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCkgKiBucl9jcHVzOworICAgICAg ICBtYWtlX2FjcGlfbWFkdF9naWNkKHRhYmxlLCBHVUVTVF9HSUNEX0JBU0UsIEFDUElfTUFEVF9H SUNfVkVSU0lPTl9WMik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWEVOX0RPTUNUTF9DT05G SUdfR0lDX1YzOgorICAgICAgICB0YWJsZSArPSBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFk dCk7CisgICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY2ModGFibGUsIG5yX2NwdXMsIDApOworCisg ICAgICAgIHRhYmxlICs9IHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0 KSAqIG5yX2NwdXM7CisgICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY2QodGFibGUsIEdVRVNUX0dJ Q1YzX0dJQ0RfQkFTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX01BRFRfR0lD X1ZFUlNJT05fVjMpOworCisgICAgICAgIHRhYmxlICs9IHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0 X2dlbmVyaWNfZGlzdHJpYnV0b3IpOworICAgICAgICBtYWtlX2FjcGlfbWFkdF9naWNyKHRhYmxl LCBHVUVTVF9HSUNWM19HSUNSMF9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdV RVNUX0dJQ1YzX0dJQ1IwX1NJWkUpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAg ICAgICBMT0coRVJST1IsICJVbmtub3duIEdJQyB2ZXJzaW9uIik7CisgICAgICAgIHJjID0gRVJS T1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgbWFrZV9hY3BpX2hlYWRl cigmbWFkdC0+aGVhZGVyLCAiQVBJQyIsIGFjcGl0YWJsZXNbTUFEVF0uc2l6ZSwgMyk7CisgICAg Y2FsY3VsYXRlX2NoZWNrc3VtKG1hZHQsIG9mZnNldG9mKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRl ciwgY2hlY2tzdW0pLAorICAgICAgICAgICAgICAgICAgICAgICBhY3BpdGFibGVzW01BRFRdLnNp emUpOworCitvdXQ6CisgICAgcmV0dXJuIHJjOworfQorCiBpbnQgbGlieGxfX3ByZXBhcmVfYWNw aShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyAqaW5mbywKICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fYnVpbGRfc3RhdGUgKnN0YXRlLAogICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQpAQCAtMjU4LDYgKzM0 MSw3IEBAIGludCBsaWJ4bF9fcHJlcGFyZV9hY3BpKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFp bl9idWlsZF9pbmZvICppbmZvLAogICAgIG1ha2VfYWNwaV9yc2RwKGdjLCBkb20sIGFjcGl0YWJs ZXMpOwogICAgIG1ha2VfYWNwaV94c2R0KGdjLCBkb20sIGFjcGl0YWJsZXMpOwogICAgIG1ha2Vf YWNwaV9ndGR0KGdjLCBkb20sIGFjcGl0YWJsZXMpOworICAgIHJjID0gbWFrZV9hY3BpX21hZHQo Z2MsIGRvbSwgaW5mby0+bWF4X3ZjcHVzLCB4Y19jb25maWcsIGFjcGl0YWJsZXMpOwogCiBvdXQ6 CiAgICAgcmV0dXJuIHJjOwotLSAKMi4wLjQKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==