From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v3 11/17] libxl/arm: Construct ACPI MADT table Date: Tue, 5 Jul 2016 11:12:41 +0800 Message-ID: <1467688367-17320-12-git-send-email-zhaoshenglong@huawei.com> References: <1467688367-17320-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: <1467688367-17320-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: hangaohuai@huawei.com, 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 eGwvbGlieGxfYXJtX2FjcGkuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgODMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybV9hY3BpLmMgYi90b29scy9saWJ4bC9saWJ4bF9hcm1f YWNwaS5jCmluZGV4IGMyNTk5YjcuLjk2Y2U2MDUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsX2FybV9hY3BpLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtX2FjcGkuYwpAQCAtMTk5 LDYgKzE5OSw4NiBAQCBzdGF0aWMgdm9pZCBtYWtlX2FjcGlfZ3RkdChsaWJ4bF9fZ2MgKmdjLCBz 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 IEdVRVNUX0FDUElfQkFTRTsKKyAgICBzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0ICptYWR0ID0gZG9t LT5hY3BpdGFibGVfYmxvYiArIG9mZnNldDsKKyAgICB2b2lkICp0YWJsZSA9IGRvbS0+YWNwaXRh YmxlX2Jsb2IgKyBvZmZzZXQ7CisKKyAgICBzd2l0Y2ggKHhjX2NvbmZpZy0+Z2ljX3ZlcnNpb24p IHsKKyAgICBjYXNlIFhFTl9ET01DVExfQ09ORklHX0dJQ19WMjoKKyAgICAgICAgdGFibGUgKz0g c2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpOworICAgICAgICBtYWtlX2FjcGlfbWFkdF9n aWNjKHRhYmxlLCBucl9jcHVzLCBHVUVTVF9HSUNDX0JBU0UpOworCisgICAgICAgIHRhYmxlICs9 IHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0KSAqIG5yX2NwdXM7Cisg ICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY2QodGFibGUsIEdVRVNUX0dJQ0RfQkFTRSwgQUNQSV9N QURUX0dJQ19WRVJTSU9OX1YyKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBYRU5fRE9NQ1RM X0NPTkZJR19HSUNfVjM6CisgICAgICAgIHRhYmxlICs9IHNpemVvZihzdHJ1Y3QgYWNwaV90YWJs ZV9tYWR0KTsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljYyh0YWJsZSwgbnJfY3B1cywgMCk7 CisKKyAgICAgICAgdGFibGUgKz0gc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRl cnJ1cHQpICogbnJfY3B1czsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljZCh0YWJsZSwgR1VF U1RfR0lDVjNfR0lDRF9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDUElfTUFE VF9HSUNfVkVSU0lPTl9WMyk7CisKKyAgICAgICAgdGFibGUgKz0gc2l6ZW9mKHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY19kaXN0cmlidXRvcik7CisgICAgICAgIG1ha2VfYWNwaV9tYWR0X2dpY3Io dGFibGUsIEdVRVNUX0dJQ1YzX0dJQ1IwX0JBU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR1VFU1RfR0lDVjNfR0lDUjBfU0laRSk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6 CisgICAgICAgIExPRyhFUlJPUiwgIlVua25vd24gR0lDIHZlcnNpb24iKTsKKyAgICAgICAgcmV0 dXJuIEVSUk9SX0ZBSUw7CisgICAgfQorCisgICAgbWFrZV9hY3BpX2hlYWRlcigmbWFkdC0+aGVh ZGVyLCAiQVBJQyIsIGFjcGl0YWJsZXNbTUFEVF0uc2l6ZSwgMyk7CisgICAgY2FsY3VsYXRlX2No ZWNrc3VtKG1hZHQsIG9mZnNldG9mKHN0cnVjdCBhY3BpX3RhYmxlX2hlYWRlciwgY2hlY2tzdW0p LAorICAgICAgICAgICAgICAgICAgICAgICBhY3BpdGFibGVzW01BRFRdLnNpemUpOworCisgICAg cmV0dXJuIDA7Cit9CisKIGludCBsaWJ4bF9fcHJlcGFyZV9hY3BpKGxpYnhsX19nYyAqZ2MsIGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCkBAIC0yMjcsNiArMzA3LDkgQEAgaW50IGxpYnhsX19w cmVwYXJlX2FjcGkobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gKmluZm8s CiAgICAgbWFrZV9hY3BpX3JzZHAoZ2MsIGRvbSwgYWNwaXRhYmxlcyk7CiAgICAgbWFrZV9hY3Bp X3hzZHQoZ2MsIGRvbSwgYWNwaXRhYmxlcyk7CiAgICAgbWFrZV9hY3BpX2d0ZHQoZ2MsIGRvbSwg YWNwaXRhYmxlcyk7CisgICAgcmMgPSBtYWtlX2FjcGlfbWFkdChnYywgZG9tLCBpbmZvLT5tYXhf dmNwdXMsIHhjX2NvbmZpZywgYWNwaXRhYmxlcyk7CisgICAgaWYgKHJjKQorCXJldHVybiByYzsK IAogICAgIHJldHVybiAwOwogfQotLSAKMi4wLjQKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==