From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manish Jaggi Subject: [RFC v2][PATCH] arm-acpi: Add ITS Support for Dom0 Date: Thu, 8 Jun 2017 18:33:41 +0530 Message-ID: <6ed5eb3b-861c-e1bd-20a2-f24e55ce59e3@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIx6l-0000LS-GM for xen-devel@lists.xenproject.org; Thu, 08 Jun 2017 13:04:15 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: "xen-devel@lists.xenproject.org" , Julien Grall , Andre Przywara List-Id: xen-devel@lists.xenproject.org ClRoaXMgcGF0Y2ggc3VwcG9ydHMgSVRTIGluIGhhcmR3YXJlIGRvbWFpbiwgc3VwcG9ydHMgSVRT IGluIFhlbgp3aGVuIGJvb3Rpbmcgd2l0aCBBQ1BJLgoKU2lnbmVkLW9mZi1ieTogTWFuaXNoIEph Z2dpIDxtamFnZ2lAY2F2aXVtLmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjE6Ci0gTW92ZWQgaXRz IHNwZWNpZmljIGNvZGUgdG8gZ2ljLXYzLWl0cy5jCi0gZml4ZWQgbWFjcm9zCgogIHhlbi9hcmNo L2FybS9kb21haW5fYnVpbGQuYyAgICAgIHwgIDYgKystLQogIHhlbi9hcmNoL2FybS9naWMtdjMt aXRzLmMgICAgICAgIHwgNzUgCisrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0KICB4ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgICAgICAgICAgICB8IDEwICsrKystLQogIHhlbi9p bmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0cy5oIHwgIDYgKysrKwogIDQgZmlsZXMgY2hhbmdlZCwg OTEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vZG9tYWluX2J1aWxkLmMgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggM2Fi YWNjMC4uZDZkNmM5NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisr KyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwpAQCAtMjAsNyArMjAsNyBAQAogICNpbmNs dWRlIDxhc20vcHNjaS5oPgogICNpbmNsdWRlIDxhc20vc2V0dXAuaD4KICAjaW5jbHVkZSA8YXNt L2NwdWZlYXR1cmUuaD4KLQorI2luY2x1ZGUgPGFzbS1hcm0vZ2ljX3YzX2l0cy5oPgogICNpbmNs dWRlIDxhc20vZ2ljLmg+CiAgI2luY2x1ZGUgPHhlbi9pcnEuaD4KICAjaW5jbHVkZSA8eGVuL2dy YW50X3RhYmxlLmg+CkBAIC0xODA0LDcgKzE4MDQsOSBAQCBzdGF0aWMgaW50IGVzdGltYXRlX2Fj cGlfZWZpX3NpemUoc3RydWN0IGRvbWFpbiAKKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8p CgogICAgICBtYWR0X3NpemUgPSBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfbWFkdCkKICAgICAg ICAgICAgICAgICAgKyBzaXplb2Yoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX2ludGVycnVwdCkg KiAKZC0+bWF4X3ZjcHVzCi0gICAgICAgICAgICAgICAgKyBzaXplb2Yoc3RydWN0IGFjcGlfbWFk dF9nZW5lcmljX2Rpc3RyaWJ1dG9yKTsKKyAgICAgICAgICAgICAgICArIHNpemVvZihzdHJ1Y3Qg YWNwaV9tYWR0X2dlbmVyaWNfZGlzdHJpYnV0b3IpCisgICAgICAgICAgICAgICAgKyBnaWN2M19p dHNfbWFkdF9nZW5lcmljX3RyYW5zbGF0b3Jfc2l6ZSgpOworCiAgICAgIGlmICggZC0+YXJjaC52 Z2ljLnZlcnNpb24gPT0gR0lDX1YzICkKICAgICAgICAgIG1hZHRfc2l6ZSArPSBzaXplb2Yoc3Ry dWN0IGFjcGlfbWFkdF9nZW5lcmljX3JlZGlzdHJpYnV0b3IpCiAgICAgICAgICAgICAgICAgICAg ICAgKiBkLT5hcmNoLnZnaWMubnJfcmVnaW9uczsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9n aWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCmluZGV4IDFmYjA2Y2EuLjkz N2I5NzAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2dpYy12My1pdHMuYwpAQCAtMjUsMTQgKzI1LDE4IEBACiAgI2luY2x1ZGUgPHhlbi9y YnRyZWUuaD4KICAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+CiAgI2luY2x1ZGUgPHhlbi9zaXplcy5o PgorI2luY2x1ZGUgPHhlbi9pb2NhcC5oPgogICNpbmNsdWRlIDxhc20vZ2ljLmg+CiAgI2luY2x1 ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgogICNpbmNsdWRlIDxhc20vZ2ljX3YzX2l0cy5oPgogICNp bmNsdWRlIDxhc20vaW8uaD4KICAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KKyNpbmNsdWRlIDx4ZW4v YWNwaS5oPgorI2luY2x1ZGUgPGFjcGkvYWN0YWJsZXMuaD4KKyNpbmNsdWRlIDx4ZW4vcGZuLmg+ CgogICNkZWZpbmUgSVRTX0NNRF9RVUVVRV9TWiAgICAgICAgICAgICAgICBTWl8xTQotCisjZGVm aW5lIEFDUElfR0lDVjNfSVRTX01FTV9TSVpFIChTWl82NEspCiAgLyoKICAgKiBObyBsb2NrIGhl cmUsIGFzIHRoaXMgbGlzdCBnZXRzIG9ubHkgcG9wdWxhdGVkIHVwb24gYm9vdCB3aGlsZSBzY2Fu bmluZwogICAqIGZpcm13YXJlIHRhYmxlcyBmb3IgYWxsIGhvc3QgSVRTZXMsIGFuZCBvbmx5IGdl dHMgaXRlcmF0ZWQgYWZ0ZXJ3YXJkcy4KQEAgLTkyMCw2ICs5MjQsNTUgQEAgaW50IGdpY3YzX2xw aV9jaGFuZ2VfdmNwdShzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IAp2ZG9vcmJlbGwsCiAgICAg IHJldHVybiAwOwogIH0KCitpbnQgZ2ljdjNfaXRzX2RlbnlfYWNjZXNzKGNvbnN0IHN0cnVjdCBk b21haW4gKmQpCit7CisgICAgaW50IHJjID0gMDsKKyAgICB1bnNpZ25lZCBsb25nIG1mbiwgbnI7 CisgICAgY29uc3Qgc3RydWN0IGhvc3RfaXRzICppdHNfZGF0YTsKKworICAgIGxpc3RfZm9yX2Vh Y2hfZW50cnkoaXRzX2RhdGEsICZob3N0X2l0c19saXN0LCBlbnRyeSkKKyAgICB7CisgICAgICAg IG1mbiA9IHBhZGRyX3RvX3BmbihpdHNfZGF0YS0+YWRkcik7CisgICAgICAgIG5yID0gUEZOX1VQ KEFDUElfR0lDVjNfSVRTX01FTV9TSVpFKTsKKyAgICAgICAgcmMgPSBpb21lbV9kZW55X2FjY2Vz cyhkLCBtZm4sIG1mbiArIG5yKTsKKyAgICAgICAgaWYgKCByYyApCisgICAgICAgICAgICBnb3Rv IGVuZDsKKyAgICB9CitlbmQ6CisgICAgcmV0dXJuIHJjOworfQorCit1MzIgZ2ljdjNfaXRzX21h ZHRfZ2VuZXJpY190cmFuc2xhdG9yX3NpemUodm9pZCkKK3sKKyAgICBjb25zdCBzdHJ1Y3QgaG9z dF9pdHMgKml0c19kYXRhOworICAgIHUzMiBzaXplID0gMDsKKworICAgIGxpc3RfZm9yX2VhY2hf ZW50cnkoaXRzX2RhdGEsICZob3N0X2l0c19saXN0LCBlbnRyeSkKKyAgICB7CisgICAgICAgIHNp emUgKz0gc2l6ZW9mKHN0cnVjdCBhY3BpX21hZHRfZ2VuZXJpY190cmFuc2xhdG9yKTsKKyAgICB9 CisgICAgcmV0dXJuIHNpemU7Cit9CisKK3UzMiBnaWN2M19pdHNfbWFrZV9od2RvbV9tYWR0KHU4 ICpiYXNlX3B0ciwgdTMyIG9mZnNldCkKK3sKKyAgICBzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNf dHJhbnNsYXRvciAqZ2ljX2l0czsKKyAgICBjb25zdCBzdHJ1Y3QgaG9zdF9pdHMgKml0c19kYXRh OworICAgIHUzMiB0YWJsZV9sZW4gPSBvZmZzZXQsIHNpemU7CisKKyAgICAvKiBVcGRhdGUgR0lD IElUUyBpbmZvcm1hdGlvbiBpbiBoYXJkd2FyZSBkb21haW4ncyBNQURUICovCisgICAgbGlzdF9m b3JfZWFjaF9lbnRyeShpdHNfZGF0YSwgJmhvc3RfaXRzX2xpc3QsIGVudHJ5KQorICAgIHsKKyAg ICAgICAgc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYWNwaV9tYWR0X2dlbmVyaWNfdHJhbnNsYXRvcik7 CisgICAgICAgIGdpY19pdHMgPSAoc3RydWN0IGFjcGlfbWFkdF9nZW5lcmljX3RyYW5zbGF0b3Ig KikoYmFzZV9wdHIgKyAKdGFibGVfbGVuKTsKKyAgICAgICAgZ2ljX2l0cy0+aGVhZGVyLnR5cGUg PSBBQ1BJX01BRFRfVFlQRV9HRU5FUklDX1RSQU5TTEFUT1I7CisgICAgICAgIGdpY19pdHMtPmhl YWRlci5sZW5ndGggPSBzaXplOworICAgICAgICBnaWNfaXRzLT5iYXNlX2FkZHJlc3MgPSBpdHNf ZGF0YS0+YWRkcjsKKyAgICAgICAgdGFibGVfbGVuICs9ICBzaXplOworICAgIH0KKyAgICByZXR1 cm4gdGFibGVfbGVuOworfQorCiAgLyoKICAgKiBDcmVhdGUgdGhlIHJlc3BlY3RpdmUgZ3Vlc3Qg RFQgbm9kZXMgZnJvbSBhIGxpc3Qgb2YgaG9zdCBJVFNlcy4KICAgKiBUaGlzIGNvcGllcyB0aGUg cmVnIHByb3BlcnR5LCBzbyB0aGUgZ3Vlc3Qgc2VlcyB0aGUgSVRTIGF0IHRoZSBzYW1lIAphZGRy ZXNzCkBAIC05OTIsNiArMTA0NSwyNiBAQCBpbnQgZ2ljdjNfaXRzX21ha2VfaHdkb21fZHRfbm9k ZXMoY29uc3Qgc3RydWN0IApkb21haW4gKmQsCiAgICAgIHJldHVybiByZXM7CiAgfQoKK2ludCBn aWN2M19pdHNfYWNwaV9pbml0KHN0cnVjdCBhY3BpX3N1YnRhYmxlX2hlYWRlciAqaGVhZGVyLCBj b25zdCAKdW5zaWduZWQgbG9uZyBlbmQpCit7CisgICAgc3RydWN0IGFjcGlfbWFkdF9nZW5lcmlj X3RyYW5zbGF0b3IgKml0c19lbnRyeTsKKyAgICBzdHJ1Y3QgaG9zdF9pdHMgKml0c19kYXRhOwor CisgICAgaXRzX2RhdGEgPSB4emFsbG9jKHN0cnVjdCBob3N0X2l0cyk7CisgICAgaWYgKCFpdHNf ZGF0YSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaXRzX2VudHJ5ID0gKHN0cnVjdCBhY3Bp X21hZHRfZ2VuZXJpY190cmFuc2xhdG9yICopaGVhZGVyOworICAgIGl0c19kYXRhLT5hZGRyICA9 IGl0c19lbnRyeS0+YmFzZV9hZGRyZXNzOworICAgIGl0c19kYXRhLT5zaXplID0gQUNQSV9HSUNW M19JVFNfTUVNX1NJWkU7CisKKyAgICBzcGluX2xvY2tfaW5pdCgmaXRzX2RhdGEtPmNtZF9sb2Nr KTsKKworICAgIHByaW50aygiR0lDdjM6IEZvdW5kIElUUyBAMHglbHhcbiIsIGl0c19kYXRhLT5h ZGRyKTsKKworICAgIGxpc3RfYWRkX3RhaWwoJml0c19kYXRhLT5lbnRyeSwgJmhvc3RfaXRzX2xp c3QpOworICAgIHJldHVybiAwOworfQogIC8qIFNjYW4gdGhlIERUIGZvciBhbnkgSVRTIG5vZGVz IGFuZCBjcmVhdGUgYSBsaXN0IG9mIGhvc3QgSVRTZXMgb3V0IApvZiBpdC4gKi8KICB2b2lkIGdp Y3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKICB7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMK aW5kZXggYzkyNzMwNi4uZjBmNmQxMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12My5j CisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMuYwpAQCAtMTMzMyw5ICsxMzMzLDggQEAgc3RhdGlj IGludCBnaWN2M19pb21lbV9kZW55X2FjY2Vzcyhjb25zdCBzdHJ1Y3QgCmRvbWFpbiAqZCkKICAg ICAgICAgIHJldHVybiBpb21lbV9kZW55X2FjY2VzcyhkLCBtZm4sIG1mbiArIG5yKTsKICAgICAg fQoKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZ2ljdjNfaXRzX2RlbnlfYWNjZXNzKGQpOwog IH0KLQogICNpZmRlZiBDT05GSUdfQUNQSQogIHN0YXRpYyB2b2lkIF9faW5pdAogIGdpY19hY3Bp X2FkZF9yZGlzdF9yZWdpb24ocGFkZHJfdCBiYXNlLCBwYWRkcl90IHNpemUsIGJvb2wgc2luZ2xl X3JkaXN0KQpAQCAtMTM3NCw2ICsxMzczLDcgQEAgc3RhdGljIGludCBnaWN2M19tYWtlX2h3ZG9t X21hZHQoY29uc3Qgc3RydWN0IApkb21haW4gKmQsIHUzMiBvZmZzZXQpCiAgICAgIGZvciAoIGkg PSAwOyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQogICAgICB7CiAgICAgICAgICBnaWNjID0gKHN0 cnVjdCBhY3BpX21hZHRfZ2VuZXJpY19pbnRlcnJ1cHQgKikoYmFzZV9wdHIgKyAKdGFibGVfbGVu KTsKKwogICAgICAgICAgQUNQSV9NRU1DUFkoZ2ljYywgaG9zdF9naWNjLCBzaXplKTsKICAgICAg ICAgIGdpY2MtPmNwdV9pbnRlcmZhY2VfbnVtYmVyID0gaTsKICAgICAgICAgIGdpY2MtPnVpZCA9 IGk7CkBAIC0xMzk5LDcgKzEzOTksNyBAQCBzdGF0aWMgaW50IGdpY3YzX21ha2VfaHdkb21fbWFk dChjb25zdCBzdHJ1Y3QgCmRvbWFpbiAqZCwgdTMyIG9mZnNldCkKICAgICAgICAgIGdpY3ItPmxl bmd0aCA9IGQtPmFyY2gudmdpYy5yZGlzdF9yZWdpb25zW2ldLnNpemU7CiAgICAgICAgICB0YWJs ZV9sZW4gKz0gc2l6ZTsKICAgICAgfQotCisgICAgdGFibGVfbGVuID0gZ2ljdjNfaXRzX21ha2Vf aHdkb21fbWFkdChiYXNlX3B0ciwgdGFibGVfbGVuKTsKICAgICAgcmV0dXJuIHRhYmxlX2xlbjsK ICB9CgpAQCAtMTU2Nyw2ICsxNTY3LDkgQEAgc3RhdGljIHZvaWQgX19pbml0IGdpY3YzX2FjcGlf aW5pdCh2b2lkKQoKICAgICAgZ2ljdjMucmRpc3Rfc3RyaWRlID0gMDsKCisgICAgYWNwaV90YWJs ZV9wYXJzZV9tYWR0KEFDUElfTUFEVF9UWVBFX0dFTkVSSUNfVFJBTlNMQVRPUiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgZ2ljdjNfaXRzX2FjcGlfaW5pdCwgMCk7CisKICAgICAgLyoKICAg ICAgICogSW4gQUNQSSwgMCBpcyBjb25zaWRlcmVkIGFzIHRoZSBpbnZhbGlkIGFkZHJlc3MuIEhv d2V2ZXIgdGhlIHJlc3QKICAgICAgICogb2YgdGhlIGluaXRpYWxpemF0aW9uIHJlbHkgb24gdGhl IGludmFsaWQgYWRkcmVzcyB0byBiZQpAQCAtMTU4NSw2ICsxNTg4LDcgQEAgc3RhdGljIHZvaWQg X19pbml0IGdpY3YzX2FjcGlfaW5pdCh2b2lkKQogICAgICBlbHNlCiAgICAgICAgICB2c2l6ZSA9 IEdVRVNUX0dJQ0NfU0laRTsKCisKICB9CiAgI2Vsc2UKICBzdGF0aWMgdm9pZCBfX2luaXQgZ2lj djNfYWNwaV9pbml0KHZvaWQpIHsgfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9n aWNfdjNfaXRzLmggCmIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKaW5kZXggZDJh M2U1My4uYjcyYWVjMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRz LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKQEAgLTEwNSw2ICsxMDUs NyBAQAoKICAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CiAgI2luY2x1ZGUgPHhlbi9yYnRy ZWUuaD4KKyNpbmNsdWRlIDx4ZW4vYWNwaS5oPgoKICAjZGVmaW5lIEhPU1RfSVRTX0ZMVVNIX0NN RF9RVUVVRSAgICAgICAgKDFVIDw8IDApCiAgI2RlZmluZSBIT1NUX0lUU19VU0VTX1BUQSAgICAg ICAgICAgICAgICgxVSA8PCAxKQpAQCAtMTM0LDYgKzEzNSw3IEBAIGV4dGVybiBzdHJ1Y3QgbGlz dF9oZWFkIGhvc3RfaXRzX2xpc3Q7CgogIC8qIFBhcnNlIHRoZSBob3N0IERUIGFuZCBwaWNrIHVw IGFsbCBob3N0IElUU2VzLiAqLwogIHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qgc3RydWN0 IGR0X2RldmljZV9ub2RlICpub2RlKTsKK2ludCAgZ2ljdjNfaXRzX2FjcGlfaW5pdChzdHJ1Y3Qg YWNwaV9zdWJ0YWJsZV9oZWFkZXIgKmhlYWRlciwgY29uc3QgCnVuc2lnbmVkIGxvbmcgZW5kKTsK CiAgYm9vbCBnaWN2M19pdHNfaG9zdF9oYXNfaXRzKHZvaWQpOwoKQEAgLTE2Nyw2ICsxNjksMTAg QEAgaW50IGdpY3YzX2l0c19tYWtlX2h3ZG9tX2R0X25vZGVzKGNvbnN0IHN0cnVjdCAKZG9tYWlu ICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHRf ZGV2aWNlX25vZGUgKmdpYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqZmR0KTsKCit1MzIgZ2ljdjNfaXRzX21ha2VfaHdkb21fbWFkdCh1OCAqYmFzZV9wdHIsIHUz MiBvZmZzZXQpOwordTMyIGdpY3YzX2l0c19tYWR0X2dlbmVyaWNfdHJhbnNsYXRvcl9zaXplKHZv aWQpOworLyogRGVueSBpb21lbSBhY2Nlc3MgZm9yIGl0cyAqLworaW50IGdpY3YzX2l0c19kZW55 X2FjY2Vzcyhjb25zdCBzdHJ1Y3QgZG9tYWluICpkKTsKICAvKgogICAqIE1hcCBhIGRldmljZSBv biB0aGUgaG9zdCBieSBhbGxvY2F0aW5nIGFuIElUVCBvbiB0aGUgaG9zdCAoSVRTKS4KICAgKiAi bnJfZXZlbnQiIHNwZWNpZmllcyBob3cgbWFueSBldmVudHMgKGludGVycnVwdHMpIHRoaXMgZGV2 aWNlIHdpbGwgCm5lZWQuCi0tIAoyLjcuNAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK