From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shannon Zhao Subject: [PATCH v7 04/22] arm/gic: Add a new callback for creating MADT table for Dom0 Date: Fri, 25 Mar 2016 21:48:37 +0800 Message-ID: <1458913735-2678-5-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 QWRkIGEgbmV3IG1lbWJlciBpbiBnaWNfaHdfb3BlcmF0aW9ucyB3aGljaCBpcyB1c2VkIHRvIGNy ZWF0ZSBNQURUIHRhYmxlCmZvciBEb20wLgoKU2lnbmVkLW9mZi1ieTogU2hhbm5vbiBaaGFvIDxz aGFubm9uLnpoYW9AbGluYXJvLm9yZz4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8 c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb20+Ci0tLQp2NzogbWFrZSBvdGhlciBmaWVs ZHMgb2YgR0lDQyB6ZXJvCi0tLQogeGVuL2FyY2gvYXJtL2dpYy12Mi5jICAgICB8IDQyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgICAg IHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhl bi9hcmNoL2FybS9naWMuYyAgICAgICAgfCAgNSArKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS9n aWMuaCB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9naWMtdjIuYyBiL3hlbi9hcmNoL2FybS9naWMtdjIuYwppbmRl eCAwZmNiODk0Li4zOGUzMjE2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYyLmMKKysr IGIveGVuL2FyY2gvYXJtL2dpYy12Mi5jCkBAIC02ODUsNiArNjg1LDQzIEBAIHN0YXRpYyB2b2lk IF9faW5pdCBnaWN2Ml9kdF9pbml0KHZvaWQpCiB9CiAKICNpZmRlZiBDT05GSUdfQUNQSQorc3Rh dGljIGludCBnaWN2Ml9tYWtlX2h3ZG9tX21hZHQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdTMy IG9mZnNldCkKK3sKKyAgICBzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlcjsKKyAg ICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICpob3N0X2dpY2MsICpnaWNjOwor ICAgIHUzMiBpLCBzaXplLCB0YWJsZV9sZW4gPSAwOworICAgIHU4ICpiYXNlX3B0ciA9IGQtPmFy Y2guZWZpX2FjcGlfdGFibGUgKyBvZmZzZXQ7CisKKyAgICBoZWFkZXIgPSBhY3BpX3RhYmxlX2dl dF9lbnRyeV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfSU5URVJSVVBULCAwKTsKKyAgICBp ZiAoICFoZWFkZXIgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKCJDYW4ndCBnZXQgR0lDQyBlbnRy eSIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKKyAgICBob3N0X2dpY2MgPSBj b250YWluZXJfb2YoaGVhZGVyLCBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXIpOworICAgIHNpemUgPSBzaXplb2Yo c3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCk7CisgICAgLyogQWRkIEdlbmVyaWMg SW50ZXJydXB0ICovCisgICAgZm9yICggaSA9IDA7IGkgPCBkLT5tYXhfdmNwdXM7IGkrKyApCisg ICAgeworICAgICAgICBnaWNjID0gKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQg KikoYmFzZV9wdHIgKyB0YWJsZV9sZW4pOworICAgICAgICBBQ1BJX01FTUNQWShnaWNjLCBob3N0 X2dpY2MsIHNpemUpOworICAgICAgICBnaWNjLT5jcHVfaW50ZXJmYWNlX251bWJlciA9IGk7Cisg ICAgICAgIGdpY2MtPnVpZCA9IGk7CisgICAgICAgIGdpY2MtPmZsYWdzID0gQUNQSV9NQURUX0VO QUJMRUQ7CisgICAgICAgIGdpY2MtPmFybV9tcGlkciA9IHZjcHVpZF90b192YWZmaW5pdHkoaSk7 CisgICAgICAgIGdpY2MtPnBhcmtpbmdfdmVyc2lvbiA9IDA7CisgICAgICAgIGdpY2MtPnBlcmZv cm1hbmNlX2ludGVycnVwdCA9IDA7CisgICAgICAgIGdpY2MtPmdpY3ZfYmFzZV9hZGRyZXNzID0g MDsKKyAgICAgICAgZ2ljYy0+Z2ljaF9iYXNlX2FkZHJlc3MgPSAwOworICAgICAgICBnaWNjLT52 Z2ljX2ludGVycnVwdCA9IDA7CisgICAgICAgIHRhYmxlX2xlbiArPSBzaXplOworICAgIH0KKwor ICAgIHJldHVybiB0YWJsZV9sZW47Cit9CisKIHN0YXRpYyBpbnQgX19pbml0CiBnaWNfYWNwaV9w YXJzZV9tYWR0X2NwdShzdHJ1Y3QgYWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwKICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgZW5kKQpAQCAtNzc2LDYgKzgx MywxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZ2ljdjJfYWNwaV9pbml0KHZvaWQpCiB9CiAjZWxz ZQogc3RhdGljIHZvaWQgX19pbml0IGdpY3YyX2FjcGlfaW5pdCh2b2lkKSB7IH0KK3N0YXRpYyBp bnQgZ2ljdjJfbWFrZV9od2RvbV9tYWR0KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHUzMiBvZmZz ZXQpCit7CisgICAgcmV0dXJuIDA7Cit9CiAjZW5kaWYKIAogc3RhdGljIGludCBfX2luaXQgZ2lj djJfaW5pdCh2b2lkKQpAQCAtODY4LDYgKzkwOSw3IEBAIGNvbnN0IHN0YXRpYyBzdHJ1Y3QgZ2lj X2h3X29wZXJhdGlvbnMgZ2ljdjJfb3BzID0gewogICAgIC5yZWFkX3ZtY3JfcHJpb3JpdHkgID0g Z2ljdjJfcmVhZF92bWNyX3ByaW9yaXR5LAogICAgIC5yZWFkX2FwciAgICAgICAgICAgID0gZ2lj djJfcmVhZF9hcHIsCiAgICAgLm1ha2VfaHdkb21fZHRfbm9kZSAgPSBnaWN2Ml9tYWtlX2h3ZG9t X2R0X25vZGUsCisgICAgLm1ha2VfaHdkb21fbWFkdCAgICAgPSBnaWN2Ml9tYWtlX2h3ZG9tX21h ZHQsCiB9OwogCiAvKiBTZXQgdXAgdGhlIEdJQyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJt L2dpYy12My5jIGIveGVuL2FyY2gvYXJtL2dpYy12My5jCmluZGV4IGY4M2ZkODguLjUyZWUyM2Mg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2lj LXYzLmMKQEAgLTEyMzYsNiArMTIzNiw1NyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZ2ljdjNfZHRf aW5pdCh2b2lkKQogfQogCiAjaWZkZWYgQ09ORklHX0FDUEkKK3N0YXRpYyBpbnQgZ2ljdjNfbWFr ZV9od2RvbV9tYWR0KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHUzMiBvZmZzZXQpCit7CisgICAg c3RydWN0IGFjcGlfc3VidGFibGVfaGVhZGVyICpoZWFkZXI7CisgICAgc3RydWN0IGFjcGlfbWFk dF9nZW5lcmljX2ludGVycnVwdCAqaG9zdF9naWNjLCAqZ2ljYzsKKyAgICBzdHJ1Y3QgYWNwaV9t YWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciAqZ2ljcjsKKyAgICB1OCAqYmFzZV9wdHIgPSBkLT5h cmNoLmVmaV9hY3BpX3RhYmxlICsgb2Zmc2V0OworICAgIHUzMiBpLCB0YWJsZV9sZW4gPSAwLCBz aXplOworCisgICAgLyogQWRkIEdlbmVyaWMgSW50ZXJydXB0ICovCisgICAgaGVhZGVyID0gYWNw aV90YWJsZV9nZXRfZW50cnlfbWFkdChBQ1BJX01BRFRfVFlQRV9HRU5FUklDX0lOVEVSUlVQVCwg MCk7CisgICAgaWYgKCAhaGVhZGVyICkKKyAgICB7CisgICAgICAgIHByaW50aygiQ2FuJ3QgZ2V0 IEdJQ0MgZW50cnkiKTsKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCisgICAgaG9z dF9naWNjID0gY29udGFpbmVyX29mKGhlYWRlciwgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2lu dGVycnVwdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyKTsKKyAgICBzaXpl ID0gc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQpOworICAgIGZvciAo IGkgPSAwOyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQorICAgIHsKKyAgICAgICAgZ2ljYyA9IChz dHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfaW50ZXJydXB0ICopKGJhc2VfcHRyICsgdGFibGVfbGVu KTsKKyAgICAgICAgQUNQSV9NRU1DUFkoZ2ljYywgaG9zdF9naWNjLCBzaXplKTsKKyAgICAgICAg Z2ljYy0+Y3B1X2ludGVyZmFjZV9udW1iZXIgPSBpOworICAgICAgICBnaWNjLT51aWQgPSBpOwor ICAgICAgICBnaWNjLT5mbGFncyA9IEFDUElfTUFEVF9FTkFCTEVEOworICAgICAgICBnaWNjLT5h cm1fbXBpZHIgPSB2Y3B1aWRfdG9fdmFmZmluaXR5KGkpOworICAgICAgICBnaWNjLT5wYXJraW5n X3ZlcnNpb24gPSAwOworICAgICAgICBnaWNjLT5wZXJmb3JtYW5jZV9pbnRlcnJ1cHQgPSAwOwor ICAgICAgICBnaWNjLT5naWN2X2Jhc2VfYWRkcmVzcyA9IDA7CisgICAgICAgIGdpY2MtPmdpY2hf YmFzZV9hZGRyZXNzID0gMDsKKyAgICAgICAgZ2ljYy0+Z2ljcl9iYXNlX2FkZHJlc3MgPSAwOwor ICAgICAgICBnaWNjLT52Z2ljX2ludGVycnVwdCA9IDA7CisgICAgICAgIHRhYmxlX2xlbiArPSBz aXplOworICAgIH0KKworICAgIC8qIEFkZCBHZW5lcmljIFJlZGlzdHJpYnV0b3IgKi8KKyAgICBz aXplID0gc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19yZWRpc3RyaWJ1dG9yKTsKKyAg ICBmb3IgKCBpID0gMDsgaSA8IGQtPmFyY2gudmdpYy5ucl9yZWdpb25zOyBpKysgKQorICAgIHsK KyAgICAgICAgZ2ljciA9IChzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfcmVkaXN0cmlidXRvciAq KShiYXNlX3B0ciArIHRhYmxlX2xlbik7CisgICAgICAgIGdpY3ItPmhlYWRlci50eXBlID0gQUNQ SV9NQURUX1RZUEVfR0VORVJJQ19SRURJU1RSSUJVVE9SOworICAgICAgICBnaWNyLT5oZWFkZXIu bGVuZ3RoID0gc2l6ZTsKKyAgICAgICAgZ2ljci0+YmFzZV9hZGRyZXNzID0gZC0+YXJjaC52Z2lj LnJkaXN0X3JlZ2lvbnNbaV0uYmFzZTsKKyAgICAgICAgZ2ljci0+bGVuZ3RoID0gZC0+YXJjaC52 Z2ljLnJkaXN0X3JlZ2lvbnNbaV0uc2l6ZTsKKyAgICAgICAgdGFibGVfbGVuICs9IHNpemU7Cisg ICAgfQorCisgICAgcmV0dXJuIHRhYmxlX2xlbjsKK30KKwogc3RhdGljIGludCBfX2luaXQKIGdp Y19hY3BpX3BhcnNlX21hZHRfY3B1KHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVy LAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgbG9uZyBlbmQpCkBAIC0x MzgwLDYgKzE0MzEsMTAgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lk KQogfQogI2Vsc2UKIHN0YXRpYyB2b2lkIF9faW5pdCBnaWN2M19hY3BpX2luaXQodm9pZCkgeyB9 CitzdGF0aWMgaW50IGdpY3YzX21ha2VfaHdkb21fbWFkdChjb25zdCBzdHJ1Y3QgZG9tYWluICpk LCB1MzIgb2Zmc2V0KQoreworICAgIHJldHVybiAwOworfQogI2VuZGlmCiAKIC8qIFNldCB1cCB0 aGUgR0lDICovCkBAIC0xNDc0LDYgKzE1MjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdpY19o d19vcGVyYXRpb25zIGdpY3YzX29wcyA9IHsKICAgICAucmVhZF9hcHIgICAgICAgICAgICA9IGdp Y3YzX3JlYWRfYXByLAogICAgIC5zZWNvbmRhcnlfaW5pdCAgICAgID0gZ2ljdjNfc2Vjb25kYXJ5 X2NwdV9pbml0LAogICAgIC5tYWtlX2h3ZG9tX2R0X25vZGUgID0gZ2ljdjNfbWFrZV9od2RvbV9k dF9ub2RlLAorICAgIC5tYWtlX2h3ZG9tX21hZHQgICAgID0gZ2ljdjNfbWFrZV9od2RvbV9tYWR0 LAogfTsKIAogc3RhdGljIGludCBfX2luaXQgZ2ljdjNfZHRfcHJlaW5pdChzdHJ1Y3QgZHRfZGV2 aWNlX25vZGUgKm5vZGUsIGNvbnN0IHZvaWQgKmRhdGEpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vZ2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKaW5kZXggZmJiZTM3Zi4uYjNjMWViMyAxMDA2 NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMuYwpAQCAt NzM5LDYgKzczOSwxMSBAQCBpbnQgZ2ljX21ha2VfaHdkb21fZHRfbm9kZShjb25zdCBzdHJ1Y3Qg ZG9tYWluICpkLAogICAgIHJldHVybiBnaWNfaHdfb3BzLT5tYWtlX2h3ZG9tX2R0X25vZGUoZCwg Z2ljLCBmZHQpOwogfQogCitpbnQgZ2ljX21ha2VfaHdkb21fbWFkdChjb25zdCBzdHJ1Y3QgZG9t YWluICpkLCB1MzIgb2Zmc2V0KQoreworICAgIHJldHVybiBnaWNfaHdfb3BzLT5tYWtlX2h3ZG9t X21hZHQoZCwgb2Zmc2V0KTsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6 IEMKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmggYi94ZW4vaW5jbHVkZS9h c20tYXJtL2dpYy5oCmluZGV4IDdiZDA2ZTEuLjgxMzAxMzYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS1hcm0vZ2ljLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWMuaApAQCAtMzU4 LDEyICszNTgsMTUgQEAgc3RydWN0IGdpY19od19vcGVyYXRpb25zIHsKICAgICAvKiBDcmVhdGUg R0lDIG5vZGUgZm9yIHRoZSBoYXJkd2FyZSBkb21haW4gKi8KICAgICBpbnQgKCptYWtlX2h3ZG9t X2R0X25vZGUpKGNvbnN0IHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmdpYywgdm9pZCAqZmR0KTsKKyAg ICAvKiBDcmVhdGUgTUFEVCB0YWJsZSBmb3IgdGhlIGhhcmR3YXJlIGRvbWFpbiAqLworICAgIGlu dCAoKm1ha2VfaHdkb21fbWFkdCkoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCwgdTMyIG9mZnNldCk7 CiB9OwogCiB2b2lkIHJlZ2lzdGVyX2dpY19vcHMoY29uc3Qgc3RydWN0IGdpY19od19vcGVyYXRp b25zICpvcHMpOwogaW50IGdpY19tYWtlX2h3ZG9tX2R0X25vZGUoY29uc3Qgc3RydWN0IGRvbWFp biAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vf bm9kZSAqZ2ljLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZmR0KTsKK2ludCBn aWNfbWFrZV9od2RvbV9tYWR0KGNvbnN0IHN0cnVjdCBkb21haW4gKmQsIHUzMiBvZmZzZXQpOwog CiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCiAjZW5kaWYKLS0gCjIuMS40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK