From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v5 28/30] ARM: vITS: create and initialize virtual ITSes for Dom0 Date: Thu, 6 Apr 2017 00:19:20 +0100 Message-ID: <1491434362-30310-29-git-send-email-andre.przywara@arm.com> References: <1491434362-30310-1-git-send-email-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cvuEs-0005LD-AO for xen-devel@lists.xenproject.org; Wed, 05 Apr 2017 23:21:22 +0000 In-Reply-To: <1491434362-30310-1-git-send-email-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Shanker Donthineni , Vijay Kilari List-Id: xen-devel@lists.xenproject.org Rm9yIGVhY2ggaGFyZHdhcmUgSVRTIGNyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIHZpcnR1YWwgSVRT IGZvciBEb20wLgpXZSB1c2UgdGhlIHNhbWUgbWVtb3J5IG1hcHBlZCBhZGRyZXNzIHRvIGtlZXAg dGhlIGRvb3JiZWxsIHdvcmtpbmcuClRoaXMgaW50cm9kdWNlcyBhIGZ1bmN0aW9uIHRvIGluaXRp YWxpemUgYSB2aXJ0dWFsIElUUy4KV2UgbWFpbnRhaW4gYSBsaXN0IG9mIHZpcnR1YWwgSVRTZXMs IGF0IHRoZSBtb21lbnQgZm9yIHRoZSBvbmx5CnB1cnBvc2Ugb2YgbGF0ZXIgYmVpbmcgYWJsZSB0 byBmcmVlIHRoZW0gYWdhaW4uCldlIGFkdmVydGlzZSAyNCBiaXRzIHdvcnRoIG9mIExQSXMgb24g dGhlIGd1ZXN0IHNpZGUsIHVzaW5nIHRoZSBmdWxsCjMyIGJpdHMgc2VlbXMgdG8gdHJpZ2dlciBh IExpbnV4IGJ1ZyAodG8gYmUgaW52ZXN0aWdhdGVkKS4KClNpZ25lZC1vZmYtYnk6IEFuZHJlIFBy enl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS92Z2ljLXYz LWl0cy5jICAgICAgIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogeGVuL2FyY2gvYXJtL3ZnaWMtdjMuYyAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysK IHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL2Fz bS1hcm0vZ2ljX3YzX2l0cy5oIHwgMTIgKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNzcg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jIGIv eGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMKaW5kZXggOTY4NGIzYS4uNGU2NmNhZCAxMDA2NDQK LS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMt djMtaXRzLmMKQEAgLTQyLDYgKzQyLDcgQEAKICAqLwogc3RydWN0IHZpcnRfaXRzIHsKICAgICBz dHJ1Y3QgZG9tYWluICpkOworICAgIHN0cnVjdCBsaXN0X2hlYWQgdml0c19saXN0OwogICAgIHBh ZGRyX3QgZG9vcmJlbGxfYWRkcmVzczsKICAgICB1bnNpZ25lZCBpbnQgZGV2aWRfYml0czsKICAg ICB1bnNpZ25lZCBpbnQgaW50aWRfYml0czsKQEAgLTcyLDEyICs3MywyMCBAQCBzdHJ1Y3Qgdml0 c19pdHRlCiAKIHZvaWQgdmdpY192M19pdHNfaW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCkK IHsKKyAgICBJTklUX0xJU1RfSEVBRCgmZC0+YXJjaC52Z2ljLnZpdHNfbGlzdCk7CiAgICAgc3Bp bl9sb2NrX2luaXQoJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKICAgICBkLT5hcmNo LnZnaWMuaXRzX2RldmljZXMgPSBSQl9ST09UOwogfQogCiB2b2lkIHZnaWNfdjNfaXRzX2ZyZWVf ZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiB7CisgICAgc3RydWN0IHZpcnRfaXRzICpwb3MsICp0 ZW1wOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKCBwb3MsIHRlbXAsICZkLT5hcmNo LnZnaWMudml0c19saXN0LCB2aXRzX2xpc3QgKQorICAgIHsKKyAgICAgICAgbGlzdF9kZWwoJnBv cy0+dml0c19saXN0KTsKKyAgICAgICAgeGZyZWUocG9zKTsKKyAgICB9CiAgICAgQVNTRVJUKFJC X0VNUFRZX1JPT1QoJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlcykpOwogfQogCkBAIC0xMTU3LDYg KzExNjYsNDMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtbWlvX2hhbmRsZXJfb3BzIHZnaWNfaXRz X21taW9faGFuZGxlciA9IHsKICAgICAud3JpdGUgPSB2Z2ljX3YzX2l0c19tbWlvX3dyaXRlLAog fTsKIAoraW50IHZnaWNfdjNfaXRzX2luaXRfdmlydHVhbChzdHJ1Y3QgZG9tYWluICpkLCBwYWRk cl90IGd1ZXN0X2FkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBkZXZpZF9iaXRzLCB1bnNpZ25lZCBpbnQgaW50aWRfYml0cykKK3sKKyAgICBzdHJ1Y3Qgdmly dF9pdHMgKml0czsKKyAgICB1aW50NjRfdCBiYXNlX2F0dHI7CisKKyAgICBpdHMgPSB4emFsbG9j KHN0cnVjdCB2aXJ0X2l0cyk7CisgICAgaWYgKCAhaXRzICkKKyAgICAgICAgcmV0dXJuIC1FTk9N RU07CisKKyAgICBiYXNlX2F0dHIgID0gR0lDX0JBU0VSX0lubmVyU2hhcmVhYmxlIDw8IEdJVFNf QkFTRVJfU0hBUkVBQklMSVRZX1NISUZUOworICAgIGJhc2VfYXR0ciB8PSBHSUNfQkFTRVJfQ0FD SEVfU2FtZUFzSW5uZXIgPDwgR0lUU19CQVNFUl9PVVRFUl9DQUNIRUFCSUxJVFlfU0hJRlQ7Cisg ICAgYmFzZV9hdHRyIHw9IEdJQ19CQVNFUl9DQUNIRV9SYVdhV2IgPDwgR0lUU19CQVNFUl9JTk5F Ul9DQUNIRUFCSUxJVFlfU0hJRlQ7CisKKyAgICBpdHMtPmNiYXNlciAgPSBiYXNlX2F0dHI7Cisg ICAgYmFzZV9hdHRyIHw9IDBVTEwgPDwgR0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQ7ICAgIC8q IDRLIHBhZ2VzICovCisgICAgaXRzLT5iYXNlcl9kZXYgPSBHSVRTX0JBU0VSX1RZUEVfREVWSUNF IDw8IEdJVFNfQkFTRVJfVFlQRV9TSElGVDsKKyAgICBpdHMtPmJhc2VyX2RldiB8PSAoc2l6ZW9m KHVpbnQ2NF90KSAtIDEpIDw8IEdJVFNfQkFTRVJfRU5UUllfU0laRV9TSElGVDsKKyAgICBpdHMt PmJhc2VyX2RldiB8PSBiYXNlX2F0dHI7CisgICAgaXRzLT5iYXNlcl9jb2xsICA9IEdJVFNfQkFT RVJfVFlQRV9DT0xMRUNUSU9OIDw8IEdJVFNfQkFTRVJfVFlQRV9TSElGVDsKKyAgICBpdHMtPmJh c2VyX2NvbGwgfD0gKHNpemVvZih1aW50MTZfdCkgLSAxKSA8PCBHSVRTX0JBU0VSX0VOVFJZX1NJ WkVfU0hJRlQ7CisgICAgaXRzLT5iYXNlcl9jb2xsIHw9IGJhc2VfYXR0cjsKKyAgICBpdHMtPmQg PSBkOworICAgIGl0cy0+ZG9vcmJlbGxfYWRkcmVzcyA9IGd1ZXN0X2FkZHIgKyBJVFNfRE9PUkJF TExfT0ZGU0VUOworICAgIGl0cy0+ZGV2aWRfYml0cyA9IGRldmlkX2JpdHM7CisgICAgaXRzLT5p bnRpZF9iaXRzID0gaW50aWRfYml0czsKKyAgICBzcGluX2xvY2tfaW5pdCgmaXRzLT52Y21kX2xv Y2spOworICAgIHNwaW5fbG9ja19pbml0KCZpdHMtPml0c19sb2NrKTsKKworICAgIHJlZ2lzdGVy X21taW9faGFuZGxlcihkLCAmdmdpY19pdHNfbW1pb19oYW5kbGVyLCBndWVzdF9hZGRyLCBTWl82 NEssIGl0cyk7CisKKyAgICAvKiBSZWdpc3RlciB0aGUgdmlydHVhbCBJVFNlcyB0byBiZSBhYmxl IHRvIGNsZWFuIHRoZW0gdXAgbGF0ZXIuICovCisgICAgbGlzdF9hZGRfdGFpbCgmaXRzLT52aXRz X2xpc3QsICZkLT5hcmNoLnZnaWMudml0c19saXN0KTsKKworICAgIHJldHVybiAwOworfQorCiAv KgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv YXJtL3ZnaWMtdjMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKaW5kZXggZTZhMzNkMC4uM2Iw MTI0NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMuYworKysgYi94ZW4vYXJjaC9h cm0vdmdpYy12My5jCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4K ICNpbmNsdWRlIDxhc20vbW1pby5oPgogI2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgorI2lu Y2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+CiAjaW5jbHVkZSA8YXNtL3ZnaWMuaD4KICNpbmNsdWRl IDxhc20vdmdpYy1lbXVsLmg+CiAjaW5jbHVkZSA8YXNtL3ZyZWcuaD4KQEAgLTE1NjksNiArMTU3 MCw3IEBAIHN0YXRpYyBpbnQgdmdpY192M19kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQog ICAgICAqLwogICAgIGlmICggaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKICAgICB7CisgICAgICAg IHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzOwogICAgICAgICB1bnNpZ25lZCBpbnQgZmlyc3RfY3B1 ID0gMDsKIAogICAgICAgICBkLT5hcmNoLnZnaWMuZGJhc2UgPSB2Z2ljX3YzX2h3LmRiYXNlOwpA QCAtMTU5NCw2ICsxNTk2LDIxIEBAIHN0YXRpYyBpbnQgdmdpY192M19kb21haW5faW5pdChzdHJ1 Y3QgZG9tYWluICpkKQogCiAgICAgICAgICAgICBmaXJzdF9jcHUgKz0gc2l6ZSAvIGQtPmFyY2gu dmdpYy5yZGlzdF9zdHJpZGU7CiAgICAgICAgIH0KKyAgICAgICAgZC0+YXJjaC52Z2ljLm5yX3Jl Z2lvbnMgPSB2Z2ljX3YzX2h3Lm5yX3JkaXN0X3JlZ2lvbnM7CisKKyAgICAgICAgbGlzdF9mb3Jf ZWFjaF9lbnRyeShod19pdHMsICZob3N0X2l0c19saXN0LCBlbnRyeSkKKyAgICAgICAgeworICAg ICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIEZvciBlYWNoIGhvc3QgSVRTIGNyZWF0ZSBhIHZp cnR1YWwgSVRTIHVzaW5nIHRoZSBzYW1lCisgICAgICAgICAgICAgKiBiYXNlIGFuZCB0aHVzIGRv b3JiZWxsIGFkZHJlc3MuCisgICAgICAgICAgICAgKiBVc2UgdGhlIHNhbWUgbnVtYmVyIG9mIGRl dmljZSBJRCBiaXRzIGFzIHRoZSBob3N0LCBhbmQKKyAgICAgICAgICAgICAqIGFsbG93IDI0IGJp dHMgZm9yIHRoZSBpbnRlcnJ1cHQgSUQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHZn aWNfdjNfaXRzX2luaXRfdmlydHVhbChkLCBod19pdHMtPmFkZHIsIGh3X2l0cy0+ZGV2aWRfYml0 cywgMjQpOworCisgICAgICAgICAgICBkLT5hcmNoLnZnaWMuaGFzX2l0cyA9IHRydWU7CisgICAg ICAgIH0KKwogICAgIH0KICAgICBlbHNlCiAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLWFybS9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKaW5kZXggZjk5 MzI5Mi4uY2JiZmI5OSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAor KysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCkBAIC0xMTUsNiArMTE1LDggQEAgc3Ry dWN0IGFyY2hfZG9tYWluCiAgICAgICAgIHNwaW5sb2NrX3QgaXRzX2RldmljZXNfbG9jazsgICAg ICAgIC8qIFByb3RlY3RzIHRoZSBpdHNfZGV2aWNlcyB0cmVlICovCiAgICAgICAgIHN0cnVjdCBy YWRpeF90cmVlX3Jvb3QgcGVuZF9scGlfdHJlZTsgLyogU3RvcmVzIHN0cnVjdCBwZW5kaW5nX2ly cSdzICovCiAgICAgICAgIHJ3bG9ja190IHBlbmRfbHBpX3RyZWVfbG9jazsgICAgICAgIC8qIFBy b3RlY3RzIHRoZSBwZW5kX2xwaV90cmVlICovCisgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgdml0 c19saXN0OyAgICAgICAgIC8qIExpc3Qgb2YgdmlydHVhbCBJVFNlcyAqLworICAgICAgICBib29s IGhhc19pdHM7CiAjZW5kaWYKICAgICB9IHZnaWM7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS1hcm0vZ2ljX3YzX2l0cy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgK aW5kZXggZGFhZTE0My4uMWI4ZTQ3YyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9n aWNfdjNfaXRzLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKQEAgLTE2 MSw2ICsxNjEsMTAgQEAgaW50IGdpY3YzX2l0c19zZXR1cF9jb2xsZWN0aW9uKHVuc2lnbmVkIGlu dCBjcHUpOwogdm9pZCB2Z2ljX3YzX2l0c19pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKTsK IHZvaWQgdmdpY192M19pdHNfZnJlZV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7CiAKKy8qIENy ZWF0ZSBhbmQgcmVnaXN0ZXIgYSB2aXJ0dWFsIElUUyBhdCB0aGUgZ2l2ZW4gZ3Vlc3QgYWRkcmVz cy4gKi8KK2ludCB2Z2ljX3YzX2l0c19pbml0X3ZpcnR1YWwoc3RydWN0IGRvbWFpbiAqZCwgcGFk ZHJfdCBndWVzdF9hZGRyLAorCQkJICAgICB1bnNpZ25lZCBpbnQgZGV2aWRfYml0cywgdW5zaWdu ZWQgaW50IGludGlkX2JpdHMpOworCiAvKgogICogTWFwIGEgZGV2aWNlIG9uIHRoZSBob3N0IGJ5 IGFsbG9jYXRpbmcgYW4gSVRUIG9uIHRoZSBob3N0IChJVFMpLgogICogIm5yX2V2ZW50IiBzcGVj aWZpZXMgaG93IG1hbnkgZXZlbnRzIChpbnRlcnJ1cHRzKSB0aGlzIGRldmljZSB3aWxsIG5lZWQu CkBAIC0yMzcsNiArMjQxLDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB2Z2ljX3YzX2l0c19mcmVl X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogewogfQogCitzdGF0aWMgaW5saW5lIGludCB2Z2lj X3YzX2l0c19pbml0X3ZpcnR1YWwoc3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGd1ZXN0X2FkZHIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRldmlkX2JpdHMs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGludGlkX2JpdHMpCit7CisgICAgcmV0dXJuIDA7Cit9CisKICNlbmRpZiAvKiBDT05GSUdfSEFT X0lUUyAqLwogCiAjZW5kaWYKLS0gCjIuOC4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==