From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 05/22] arm/acpi: Prepare MADT table for Dom0 Date: Fri, 25 Mar 2016 21:48:38 +0800 Message-ID: <1458913735-2678-6-git-send-email-shannon.zhao@linaro.org> References: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458913735-2678-1-git-send-email-shannon.zhao@linaro.org> 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: julien.grall@arm.com, shannon.zhao@linaro.org, stefano.stabellini@citrix.com, peter.huangpeng@huawei.com, zhaoshenglong@huawei.com List-Id: xen-devel@lists.xenproject.org Q29weSBtYWluIE1BRFQgdGFibGUgY29udGVudHMgYW5kIGRpc3RyaWJ1dG9yIHN1YnRhYmxlIGZy b20gcGh5c2ljYWwKQUNQSSBNQURUIHRhYmxlLiBNYWtlIG90aGVyIHN1YnRhYmxlcyB0aHJvdWdo IHRoZSBjYWxsYmFjayBvZgpnaWNfaHdfb3BzLgoKU2lnbmVkLW9mZi1ieTogU2hhbm5vbiBaaGFv IDxzaGFubm9uLnpoYW9AbGluYXJvLm9yZz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGlu aSA8c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+CkFja2VkLWJ5OiBKdWxpZW4gR3Jh bGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS9kb21haW5fYnVpbGQu YyB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0v ZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggMGU0NGUx MC4uODZmYzNlMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBi L3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMTM1Nyw2ICsxMzU3LDYyIEBAIHN0YXRp YyBpbnQgcHJlcGFyZV9kdGIoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpr aW5mbykKIH0KIAogI2lmZGVmIENPTkZJR19BQ1BJCitzdGF0aWMgaW50IGFjcGlfY3JlYXRlX21h ZHQoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKQoreworICAgIHN0 cnVjdCBhY3BpX3RhYmxlX2hlYWRlciAqdGFibGUgPSBOVUxMOworICAgIHN0cnVjdCBhY3BpX3Rh YmxlX21hZHQgKm1hZHQgPSBOVUxMOworICAgIHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAq aGVhZGVyOworICAgIHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19kaXN0cmlidXRvciAqZ2ljZDsK KyAgICB1MzIgdGFibGVfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0KTsKKyAg ICB1MzIgb2Zmc2V0ID0gYWNwaV9nZXRfdGFibGVfb2Zmc2V0KHRibF9hZGQsIFRCTF9NQURUKTsK KyAgICBpbnQgcmV0OworICAgIGFjcGlfc3RhdHVzIHN0YXR1czsKKyAgICB1OCAqYmFzZV9wdHIs IGNoZWNrc3VtOworCisgICAgc3RhdHVzID0gYWNwaV9nZXRfdGFibGUoQUNQSV9TSUdfTUFEVCwg MCwgJnRhYmxlKTsKKworICAgIGlmICggQUNQSV9GQUlMVVJFKHN0YXR1cykgKQorICAgIHsKKyAg ICAgICAgY29uc3QgY2hhciAqbXNnID0gYWNwaV9mb3JtYXRfZXhjZXB0aW9uKHN0YXR1cyk7CisK KyAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gZ2V0IE1BRFQgdGFibGUsICVzXG4iLCBtc2cpOwor ICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICBiYXNlX3B0ciA9IGQtPmFyY2gu ZWZpX2FjcGlfdGFibGUgKyBvZmZzZXQ7CisgICAgQUNQSV9NRU1DUFkoYmFzZV9wdHIsIHRhYmxl LCB0YWJsZV9zaXplKTsKKworICAgIC8qIEFkZCBHZW5lcmljIERpc3RyaWJ1dG9yLiAqLworICAg IGhlYWRlciA9IGFjcGlfdGFibGVfZ2V0X2VudHJ5X21hZHQoQUNQSV9NQURUX1RZUEVfR0VORVJJ Q19ESVNUUklCVVRPUiwgMCk7CisgICAgaWYgKCAhaGVhZGVyICkKKyAgICB7CisgICAgICAgIHBy aW50aygiQ2FuJ3QgZ2V0IEdJQ0QgZW50cnlcbiIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsK KyAgICB9CisgICAgZ2ljZCA9IGNvbnRhaW5lcl9vZihoZWFkZXIsIHN0cnVjdCBhY3BpX21hZHRf Z2VuZXJpY19kaXN0cmlidXRvciwgaGVhZGVyKTsKKyAgICBBQ1BJX01FTUNQWShiYXNlX3B0ciAr IHRhYmxlX3NpemUsIGdpY2QsCisgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX21h ZHRfZ2VuZXJpY19kaXN0cmlidXRvcikpOworICAgIHRhYmxlX3NpemUgKz0gc2l6ZW9mKHN0cnVj dCBhY3BpX21hZHRfZ2VuZXJpY19kaXN0cmlidXRvcik7CisKKyAgICAvKiBBZGQgb3RoZXIgc3Vi dGFibGVzLiAqLworICAgIHJldCA9IGdpY19tYWtlX2h3ZG9tX21hZHQoZCwgb2Zmc2V0ICsgdGFi bGVfc2l6ZSk7CisgICAgaWYgKCByZXQgPCAwICkKKyAgICB7CisgICAgICAgIHByaW50aygiRmFp bGVkIHRvIGdldCBvdGhlciBzdWJ0YWJsZXNcbiIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsK KyAgICB9CisgICAgdGFibGVfc2l6ZSArPSByZXQ7CisKKyAgICBtYWR0ID0gKHN0cnVjdCBhY3Bp X3RhYmxlX21hZHQgKiliYXNlX3B0cjsKKyAgICBtYWR0LT5oZWFkZXIubGVuZ3RoID0gdGFibGVf c2l6ZTsKKyAgICBjaGVja3N1bSA9IGFjcGlfdGJfY2hlY2tzdW0oQUNQSV9DQVNUX1BUUih1OCwg bWFkdCksIHRhYmxlX3NpemUpOworICAgIG1hZHQtPmhlYWRlci5jaGVja3N1bSAtPSBjaGVja3N1 bTsKKworICAgIHRibF9hZGRbVEJMX01BRFRdLnN0YXJ0ID0gZC0+YXJjaC5lZmlfYWNwaV9ncGEg KyBvZmZzZXQ7CisgICAgdGJsX2FkZFtUQkxfTUFEVF0uc2l6ZSA9IHRhYmxlX3NpemU7CisKKyAg ICByZXR1cm4gMDsKK30KIAogc3RhdGljIGludCBhY3BpX2NyZWF0ZV9mYWR0KHN0cnVjdCBkb21h aW4gKmQsIHN0cnVjdCBtZW1iYW5rIHRibF9hZGRbXSkKIHsKQEAgLTE0ODQsNiArMTU0MCwxMCBA QCBzdGF0aWMgaW50IHByZXBhcmVfYWNwaShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVs X2luZm8gKmtpbmZvKQogICAgIGlmICggcmMgIT0gMCApCiAgICAgICAgIHJldHVybiByYzsKIAor ICAgIHJjID0gYWNwaV9jcmVhdGVfbWFkdChkLCB0YmxfYWRkKTsKKyAgICBpZiAoIHJjICE9IDAg KQorICAgICAgICByZXR1cm4gcmM7CisKICAgICByZXR1cm4gMDsKIH0KICNlbHNlCi0tIAoyLjEu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==