From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v2 09/17] libxl/arm: Construct ACPI MADT table Date: Thu, 23 Jun 2016 11:16:56 +0800 Message-ID: <1466651824-6964-10-git-send-email-zhaoshenglong@huawei.com> References: <1466651824-6964-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: <1466651824-6964-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 eGwvbGlieGxfYXJtX2FjcGkuYyB8IDEwMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF9hcm1fYWNwaS5jIGIvdG9vbHMvbGlieGwvbGlieGxfYXJt X2FjcGkuYwppbmRleCBkZTg2M2Y0Li42NTlkYmZhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9hcm1fYWNwaS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2FybV9hY3BpLmMKQEAgLTQy LDYgKzQyLDggQEAgdHlwZWRlZiB1aW50NjRfdCB1NjQ7CiAjZGVmaW5lIEFDUElfTEVWRUxfU0VO U0lUSVZFICAgICAgICAgICAgKHU4KSAweDAwCiAjZGVmaW5lIEFDUElfQUNUSVZFX0xPVyAgICAg ICAgICAgICAgICAgKHU4KSAweDAxCiAKKyNkZWZpbmUgQUNQSV9HSUNDX0VOQUJMRUQgMQorCiBl bnVtIHsKICAgICBSU0RQLAogICAgIFhTRFQsCkBAIC0xMzcsNiArMTM5LDEwMSBAQCBzdGF0aWMg dm9pZCBtYWtlX2FjcGlfZ3RkdChsaWJ4bF9fZ2MgKmdjLCBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpk b20pCiAgICAgZG9tLT5hY3BpdGFibGVfc2l6ZSArPSBST1VORFVQKGFjcGl0YWJsZXNbR1REVF0u c2l6ZSwgMyk7CiB9CiAKK3N0YXRpYyB2b2lkIG1ha2VfYWNwaV9tYWR0X2dpY2Modm9pZCAqdGFi bGUsIGludCBucl9jcHVzLCB1aW50NjRfdCBnaWNjX2Jhc2UpCit7CisgICAgdWludDMyX3QgaTsK KyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICpnaWNjID0gdGFibGU7CisK KyAgICBmb3IgKGkgPSAwOyBpIDwgbnJfY3B1czsgaSsrKSB7CisgICAgICAgIGdpY2MtPmhlYWRl ci50eXBlID0gQUNQSV9NQURUX1RZUEVfR0VORVJJQ19JTlRFUlJVUFQ7CisgICAgICAgIGdpY2Mt PmhlYWRlci5sZW5ndGggPSBzaXplb2YoKmdpY2MpOworICAgICAgICBnaWNjLT5iYXNlX2FkZHJl c3MgPSBnaWNjX2Jhc2U7CisgICAgICAgIGdpY2MtPmNwdV9pbnRlcmZhY2VfbnVtYmVyID0gaTsK KyAgICAgICAgZ2ljYy0+YXJtX21waWRyID0gbGlieGxfX2NvbXB1dGVfbXBkaXIoaSk7CisgICAg ICAgIGdpY2MtPnVpZCA9IGk7CisgICAgICAgIGdpY2MtPmZsYWdzID0gQUNQSV9HSUNDX0VOQUJM RUQ7CisgICAgICAgIGdpY2MrKzsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkIG1ha2VfYWNwaV9t YWR0X2dpY2Qodm9pZCAqdGFibGUsIHVpbnQ2NF90IGdpY2RfYmFzZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDhfdCBnaWNfdmVyc2lvbikKK3sKKyAgICBzdHJ1Y3QgYWNw aV9tYWR0X2dlbmVyaWNfZGlzdHJpYnV0b3IgKmdpY2QgPSB0YWJsZTsKKworICAgIGdpY2QtPmhl YWRlci50eXBlID0gQUNQSV9NQURUX1RZUEVfR0VORVJJQ19ESVNUUklCVVRPUjsKKyAgICBnaWNk LT5oZWFkZXIubGVuZ3RoID0gc2l6ZW9mKCpnaWNkKTsKKyAgICBnaWNkLT5iYXNlX2FkZHJlc3Mg PSBnaWNkX2Jhc2U7CisgICAgLyogVGhpcyB2ZXJzaW9uIGZpbGVkIGhhcyBubyBtZWFuaW5nIGJl Zm9yZSBBQ1BJIDUuMSBlcnJhdGEuICovCisgICAgZ2ljZC0+dmVyc2lvbiA9IGdpY192ZXJzaW9u OworfQorCitzdGF0aWMgdm9pZCBtYWtlX2FjcGlfbWFkdF9naWNyKHZvaWQgKnRhYmxlLCB1aW50 NjRfdCBnaWNyX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IGdpY3Jfc2l6ZSkKK3sKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRv ciAqZ2ljciA9IHRhYmxlOworCisgICAgZ2ljci0+aGVhZGVyLnR5cGUgPSBBQ1BJX01BRFRfVFlQ RV9HRU5FUklDX1JFRElTVFJJQlVUT1I7CisgICAgZ2ljci0+aGVhZGVyLmxlbmd0aCA9IHNpemVv ZigqZ2ljcik7CisgICAgZ2ljci0+YmFzZV9hZGRyZXNzID0gZ2ljcl9iYXNlOworICAgIGdpY3It Pmxlbmd0aCA9IGdpY3Jfc2l6ZTsKK30KKworc3RhdGljIGludCBtYWtlX2FjcGlfbWFkdChsaWJ4 bF9fZ2MgKmdjLCBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIGludCBucl9jcHVzLAorICAgICAg ICAgICAgICAgICAgICAgICAgICB4Y19kb21haW5fY29uZmlndXJhdGlvbl90ICp4Y19jb25maWcp Cit7CisgICAgc2l6ZV90IHNpemU7CisgICAgdm9pZCAqdGFibGU7CisgICAgc3RydWN0IGFjcGlf dGFibGVfbWFkdCAqbWFkdDsKKworICAgIHN3aXRjaCAoeGNfY29uZmlnLT5naWNfdmVyc2lvbikg eworICAgIGNhc2UgWEVOX0RPTUNUTF9DT05GSUdfR0lDX1YyOgorICAgICAgICBzaXplID0gc2l6 ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpICsKKyAgICAgICAgICAgICAgIHNpemVvZihzdHJ1 Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0KSAqIG5yX2NwdXMgKworICAgICAgICAgICAg ICAgc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19kaXN0cmlidXRvcik7CisgICAgICAg IHRhYmxlID0gbGlieGxfX3phbGxvYyhnYywgc2l6ZSk7CisgICAgICAgIG1hZHQgPSAoc3RydWN0 IGFjcGlfdGFibGVfbWFkdCAqKXRhYmxlOworCisgICAgICAgIHRhYmxlICs9IHNpemVvZihzdHJ1 Y3QgYWNwaV90YWJsZV9tYWR0KTsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljYyh0YWJsZSwg bnJfY3B1cywgR1VFU1RfR0lDQ19CQVNFKTsKKworICAgICAgICB0YWJsZSArPSBzaXplb2Yoc3Ry dWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCkgKiBucl9jcHVzOworICAgICAgICBtYWtl X2FjcGlfbWFkdF9naWNkKHRhYmxlLCBHVUVTVF9HSUNEX0JBU0UsIEFDUElfTUFEVF9HSUNfVkVS U0lPTl9WMik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgWEVOX0RPTUNUTF9DT05GSUdfR0lD X1YzOgorICAgICAgICBzaXplID0gc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpICsKKyAg ICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0KSAq IG5yX2NwdXMgKworICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJp Y19kaXN0cmlidXRvcikgKworICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRf Z2VuZXJpY19yZWRpc3RyaWJ1dG9yKTsKKyAgICAgICAgdGFibGUgPSBsaWJ4bF9femFsbG9jKGdj LCBzaXplKTsKKyAgICAgICAgbWFkdCA9IChzdHJ1Y3QgYWNwaV90YWJsZV9tYWR0ICopdGFibGU7 CisKKyAgICAgICAgdGFibGUgKz0gc2l6ZW9mKHN0cnVjdCBhY3BpX3RhYmxlX21hZHQpOworICAg ICAgICBtYWtlX2FjcGlfbWFkdF9naWNjKHRhYmxlLCBucl9jcHVzLCAwKTsKKworICAgICAgICB0 YWJsZSArPSBzaXplb2Yoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCkgKiBucl9j cHVzOworICAgICAgICBtYWtlX2FjcGlfbWFkdF9naWNkKHRhYmxlLCBHVUVTVF9HSUNWM19HSUNE X0JBU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNQSV9NQURUX0dJQ19WRVJTSU9O X1YzKTsKKworICAgICAgICB0YWJsZSArPSBzaXplb2Yoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmlj X2Rpc3RyaWJ1dG9yKTsKKyAgICAgICAgbWFrZV9hY3BpX21hZHRfZ2ljcih0YWJsZSwgR1VFU1Rf R0lDVjNfR0lDUjBfQkFTRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVUVTVF9HSUNW M19HSUNSMF9TSVpFKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgTE9H KEVSUk9SLCAiVW5rbm93biBHSUMgdmVyc2lvbiIpOworICAgICAgICByZXR1cm4gRVJST1JfRkFJ TDsKKyAgICB9CisKKyAgICBtYWtlX2FjcGlfaGVhZGVyKCZtYWR0LT5oZWFkZXIsICJBUElDIiwg c2l6ZSwgMyk7CisKKyAgICBhY3BpdGFibGVzW01BRFRdLnRhYmxlID0gbWFkdDsKKyAgICBhY3Bp dGFibGVzW01BRFRdLnNpemUgPSBzaXplOworICAgIC8qIEFsaWduIHRvIDY0Yml0LiAqLworICAg IGRvbS0+YWNwaXRhYmxlX3NpemUgKz0gUk9VTkRVUChhY3BpdGFibGVzW01BRFRdLnNpemUsIDMp OworCisgICAgcmV0dXJuIDA7Cit9CisKIGludCBsaWJ4bF9fcHJlcGFyZV9hY3BpKGxpYnhsX19n YyAqZ2MsIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSAqc3RhdGUsCiAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCkBAIC0xNjAsNiArMjU3LDkgQEAgaW50 IGxpYnhsX19wcmVwYXJlX2FjcGkobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2J1aWxkX2lu Zm8gKmluZm8sCiAgICAgbWFrZV9hY3BpX3JzZHAoZ2MsIGRvbSk7CiAgICAgbWFrZV9hY3BpX3hz ZHQoZ2MsIGRvbSk7CiAgICAgbWFrZV9hY3BpX2d0ZHQoZ2MsIGRvbSk7CisgICAgcmMgPSBtYWtl X2FjcGlfbWFkdChnYywgZG9tLCBpbmZvLT5tYXhfdmNwdXMsIHhjX2NvbmZpZyk7CisgICAgaWYg KHJjKQorCXJldHVybiByYzsKIAogICAgIHJldHVybiAwOwogfQotLSAKMi4wLjQKCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK