From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v4 09/16] libxl/arm: Construct ACPI MADT table Date: Tue, 16 Aug 2016 18:25:06 +0800 Message-ID: <1471343113-10652-10-git-send-email-zhaoshenglong@huawei.com> References: <1471343113-10652-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: <1471343113-10652-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 YWNwaS5jCmluZGV4IDI4ZmI2ZmUuLjc1ZGZjYzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsX2FybV9hY3BpLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtX2FjcGkuYwpAQCAtMjAz LDYgKzIwMyw4OSBAQCBzdGF0aWMgdm9pZCBtYWtlX2FjcGlfZ3RkdChsaWJ4bF9fZ2MgKmdjLCBz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCiAgICAgICAgICAgICAgICAgICAgICAgIGFjcGl0YWJs ZXNbR1REVF0uc2l6ZSk7CiB9CiAKK3N0YXRpYyB2b2lkIG1ha2VfYWNwaV9tYWR0X2dpY2Modm9p ZCAqdGFibGUsIGludCBucl9jcHVzLCB1aW50NjRfdCBnaWNjX2Jhc2UpCit7CisgICAgdWludDMy X3QgaTsKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICpnaWNjID0gdGFi bGU7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbnJfY3B1czsgaSsrKSB7CisgICAgICAgIGdpY2Mt PmhlYWRlci50eXBlID0gQUNQSV9NQURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQ7CisgICAgICAg IGdpY2MtPmhlYWRlci5sZW5ndGggPSBzaXplb2YoKmdpY2MpOworICAgICAgICBnaWNjLT5iYXNl X2FkZHJlc3MgPSBnaWNjX2Jhc2U7CisgICAgICAgIGdpY2MtPmNwdV9pbnRlcmZhY2VfbnVtYmVy ID0gaTsKKyAgICAgICAgZ2ljYy0+YXJtX21waWRyID0gbGlieGxfX2NvbXB1dGVfbXBkaXIoaSk7 CisgICAgICAgIGdpY2MtPnVpZCA9IGk7CisgICAgICAgIGdpY2MtPmZsYWdzID0gQUNQSV9NQURU X0VOQUJMRUQ7CisgICAgICAgIGdpY2MrKzsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIG1ha2Vf YWNwaV9tYWR0X2dpY2Qodm9pZCAqdGFibGUsIHVpbnQ2NF90IGdpY2RfYmFzZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBnaWNfdmVyc2lvbikKK3sKKyAgICBzdHJ1 Y3QgYWNwaV9tYWR0X2dlbmVyaWNfZGlzdHJpYnV0b3IgKmdpY2QgPSB0YWJsZTsKKworICAgIGdp Y2QtPmhlYWRlci50eXBlID0gQUNQSV9NQURUX1RZUEVfR0VORVJJQ19ESVNUUklCVVRPUjsKKyAg ICBnaWNkLT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKCpnaWNkKTsKKyAgICBnaWNkLT5iYXNlX2Fk ZHJlc3MgPSBnaWNkX2Jhc2U7CisgICAgLyogVGhpcyB2ZXJzaW9uIGZpZWxkIGhhcyBubyBtZWFu aW5nIGJlZm9yZSBBQ1BJIDUuMSBlcnJhdGEuICovCisgICAgZ2ljZC0+dmVyc2lvbiA9IGdpY192 ZXJzaW9uOworfQorCitzdGF0aWMgdm9pZCBtYWtlX2FjcGlfbWFkdF9naWNyKHZvaWQgKnRhYmxl LCB1aW50NjRfdCBnaWNyX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90IGdpY3Jfc2l6ZSkKK3sKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0 cmlidXRvciAqZ2ljciA9IHRhYmxlOworCisgICAgZ2ljci0+aGVhZGVyLnR5cGUgPSBBQ1BJX01B RFRfVFlQRV9HRU5FUklDX1JFRElTVFJJQlVUT1I7CisgICAgZ2ljci0+aGVhZGVyLmxlbmd0aCA9 IHNpemVvZigqZ2ljcik7CisgICAgZ2ljci0+YmFzZV9hZGRyZXNzID0gZ2ljcl9iYXNlOworICAg IGdpY3ItPmxlbmd0aCA9IGdpY3Jfc2l6ZTsKK30KKworc3RhdGljIGludCBtYWtlX2FjcGlfbWFk dChsaWJ4bF9fZ2MgKmdjLCBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIGludCBucl9jcHVzLAor ICAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICp4Y19j b25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhY3BpdGFibGUgYWNwaXRh Ymxlc1tdKQoreworICAgIHVpbnQ2NF90IG9mZnNldCA9IGFjcGl0YWJsZXNbTUFEVF0uYWRkciAt IEdVRVNUX0FDUElfQkFTRTsKKyAgICB2b2lkICp0YWJsZSA9IGRvbS0+YWNwaV9tb2R1bGVzWzBd LmRhdGEgKyBvZmZzZXQ7CisgICAgc3RydWN0IGFjcGlfdGFibGVfbWFkdCAqbWFkdCA9IHRhYmxl OworICAgIGludCByYyA9IDA7CisKKyAgICBzd2l0Y2ggKHhjX2NvbmZpZy0+Z2ljX3ZlcnNpb24p IHsKKyAgICBjYXNlIFhFTl9ET01DVExfQ09ORklHX0dJQ19WMjoKKyAgICAgICAgdGFibGUgKz0g c2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpOworICAgICAgICBtYWtlX2FjcGlfbWFkdF9n aWNjKHRhYmxlLCBucl9jcHVzLCBHVUVTVF9HSUNDX0JBU0UpOworCisgICAgICAgIHRhYmxlICs9 IHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0KSAqIG5yX2NwdXM7Cisg ICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY2QodGFibGUsIEdVRVNUX0dJQ0RfQkFTRSwgQUNQSV9N QURUX0dJQ19WRVJTSU9OX1YyKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBYRU5fRE9NQ1RM X0NPTkZJR19HSUNfVjM6CisgICAgICAgIHRhYmxlICs9IHNpemVvZihzdHJ1Y3QgYWNwaV90YWJs ZV9tYWR0KTsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljYyh0YWJsZSwgbnJfY3B1cywgMCk7 CisKKyAgICAgICAgdGFibGUgKz0gc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRl cnJ1cHQpICogbnJfY3B1czsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljZCh0YWJsZSwgR1VF U1RfR0lDVjNfR0lDRF9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDUElfTUFE VF9HSUNfVkVSU0lPTl9WMyk7CisKKyAgICAgICAgdGFibGUgKz0gc2l6ZW9mKHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY19kaXN0cmlidXRvcik7CisgICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY3Io dGFibGUsIEdVRVNUX0dJQ1YzX0dJQ1IwX0JBU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR1VFU1RfR0lDVjNfR0lDUjBfU0laRSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6 CisgICAgICAgIExPRyhFUlJPUiwgIlVua25vd24gR0lDIHZlcnNpb24iKTsKKyAgICAgICAgcmMg PSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBtYWtlX2FjcGlf aGVhZGVyKCZtYWR0LT5oZWFkZXIsICJBUElDIiwgYWNwaXRhYmxlc1tNQURUXS5zaXplLCAzKTsK KyAgICBjYWxjdWxhdGVfY2hlY2tzdW0obWFkdCwgb2Zmc2V0b2Yoc3RydWN0IGFjcGlfdGFibGVf aGVhZGVyLCBjaGVja3N1bSksCisgICAgICAgICAgICAgICAgICAgICAgIGFjcGl0YWJsZXNbTUFE VF0uc2l6ZSk7CisKK291dDoKKyAgICByZXR1cm4gcmM7Cit9CisKIGludCBsaWJ4bF9fcHJlcGFy ZV9hY3BpKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUsCiAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCkBAIC0yMzQs NiArMzE3LDcgQEAgaW50IGxpYnhsX19wcmVwYXJlX2FjcGkobGlieGxfX2djICpnYywgbGlieGxf ZG9tYWluX2J1aWxkX2luZm8gKmluZm8sCiAgICAgbWFrZV9hY3BpX3JzZHAoZ2MsIGRvbSwgYWNw aXRhYmxlcyk7CiAgICAgbWFrZV9hY3BpX3hzZHQoZ2MsIGRvbSwgYWNwaXRhYmxlcyk7CiAgICAg bWFrZV9hY3BpX2d0ZHQoZ2MsIGRvbSwgYWNwaXRhYmxlcyk7CisgICAgcmMgPSBtYWtlX2FjcGlf bWFkdChnYywgZG9tLCBpbmZvLT5tYXhfdmNwdXMsIHhjX2NvbmZpZywgYWNwaXRhYmxlcyk7CiAK IG91dDoKICAgICByZXR1cm4gcmM7Ci0tIAoyLjAuNAoKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK