From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v10 31/32] ARM: vITS: create and initialize virtual ITSes for Dom0 Date: Fri, 26 May 2017 18:35:39 +0100 Message-ID: <20170526173540.10066-32-andre.przywara@arm.com> References: <20170526173540.10066-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dEJAB-00069X-6s for xen-devel@lists.xenproject.org; Fri, 26 May 2017 17:36:35 +0000 In-Reply-To: <20170526173540.10066-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org Rm9yIGVhY2ggaGFyZHdhcmUgSVRTIGNyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIHZpcnR1YWwgSVRT IGZvciBEb20wLgpXZSB1c2UgdGhlIHNhbWUgbWVtb3J5IG1hcHBlZCBhZGRyZXNzIHRvIGtlZXAg dGhlIGRvb3JiZWxsIHdvcmtpbmcuClRoaXMgaW50cm9kdWNlcyBhIGZ1bmN0aW9uIHRvIGluaXRp YWxpemUgYSB2aXJ0dWFsIElUUy4KV2UgbWFpbnRhaW4gYSBsaXN0IG9mIHZpcnR1YWwgSVRTZXMs IGF0IHRoZSBtb21lbnQgZm9yIHRoZSBvbmx5CnB1cnBvc2Ugb2YgbGF0ZXIgYmVpbmcgYWJsZSB0 byBmcmVlIHRoZW0gYWdhaW4uCldlIGNvbmZpZ3VyZSB0aGUgdmlydHVhbCBJVFNlcyB0byBtYXRj aCB0aGUgaGFyZHdhcmUgb25lcywgdGhhdCBpcyB3ZQprZWVwIHRoZSBudW1iZXIgb2YgZGV2aWNl IElEIGJpdHMgYW5kIGV2ZW50IElEIGJpdHMgdGhlIHNhbWUgYXMgdGhlIGhvc3QKSVRTLgoKU2ln bmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+Ci0tLQog eGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMgICB8IDc3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oIHwgIDEg KwogMiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL3ZnaWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwppbmRleCA1 NjgyYTM4Li43NTY3ZjE1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwor KysgYi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwpAQCAtNTIsNiArNTIsNyBAQAogICovCiBz dHJ1Y3QgdmlydF9pdHMgewogICAgIHN0cnVjdCBkb21haW4gKmQ7CisgICAgc3RydWN0IGxpc3Rf aGVhZCB2aXRzX2xpc3Q7CiAgICAgcGFkZHJfdCBkb29yYmVsbF9hZGRyZXNzOwogICAgIHVuc2ln bmVkIGludCBkZXZpZF9iaXRzOwogICAgIHVuc2lnbmVkIGludCBldmlkX2JpdHM7CkBAIC0xNDM1 LDYgKzE0MzYsNDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtbWlvX2hhbmRsZXJfb3BzIHZnaWNf aXRzX21taW9faGFuZGxlciA9IHsKICAgICAud3JpdGUgPSB2Z2ljX3YzX2l0c19tbWlvX3dyaXRl LAogfTsKIAorc3RhdGljIGludCB2Z2ljX3YzX2l0c19pbml0X3ZpcnR1YWwoc3RydWN0IGRvbWFp biAqZCwgcGFkZHJfdCBndWVzdF9hZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGRldmlkX2JpdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgZXZpZF9iaXRzKQoreworICAgIHN0cnVjdCB2aXJ0X2l0 cyAqaXRzOworICAgIHVpbnQ2NF90IGJhc2VfYXR0cjsKKworICAgIGl0cyA9IHh6YWxsb2Moc3Ry dWN0IHZpcnRfaXRzKTsKKyAgICBpZiAoICFpdHMgKQorICAgICAgICByZXR1cm4gLUVOT01FTTsK KworICAgIGJhc2VfYXR0ciAgPSBHSUNfQkFTRVJfSW5uZXJTaGFyZWFibGUgPDwgR0lUU19CQVNF Ul9TSEFSRUFCSUxJVFlfU0hJRlQ7CisgICAgYmFzZV9hdHRyIHw9IEdJQ19CQVNFUl9DQUNIRV9T YW1lQXNJbm5lciA8PCBHSVRTX0JBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElGVDsKKyAgICBi YXNlX2F0dHIgfD0gR0lDX0JBU0VSX0NBQ0hFX1JhV2FXYiA8PCBHSVRTX0JBU0VSX0lOTkVSX0NB Q0hFQUJJTElUWV9TSElGVDsKKworICAgIGl0cy0+Y2Jhc2VyICA9IGJhc2VfYXR0cjsKKyAgICBi YXNlX2F0dHIgfD0gMFVMTCA8PCBHSVRTX0JBU0VSX1BBR0VfU0laRV9TSElGVDsgICAgLyogNEsg cGFnZXMgKi8KKyAgICBpdHMtPmJhc2VyX2RldiA9IEdJVFNfQkFTRVJfVFlQRV9ERVZJQ0UgPDwg R0lUU19CQVNFUl9UWVBFX1NISUZUOworICAgIGl0cy0+YmFzZXJfZGV2IHw9IChzaXplb2YoZGV2 X3RhYmxlX2VudHJ5X3QpIC0gMSkgPDwKKyAgICAgICAgICAgICAgICAgICAgICBHSVRTX0JBU0VS X0VOVFJZX1NJWkVfU0hJRlQ7CisgICAgaXRzLT5iYXNlcl9kZXYgfD0gYmFzZV9hdHRyOworICAg IGl0cy0+YmFzZXJfY29sbCAgPSBHSVRTX0JBU0VSX1RZUEVfQ09MTEVDVElPTiA8PCBHSVRTX0JB U0VSX1RZUEVfU0hJRlQ7CisgICAgaXRzLT5iYXNlcl9jb2xsIHw9IChzaXplb2YoY29sbF90YWJs ZV9lbnRyeV90KSAtIDEpIDw8CisgICAgICAgICAgICAgICAgICAgICAgIEdJVFNfQkFTRVJfRU5U UllfU0laRV9TSElGVDsKKyAgICBpdHMtPmJhc2VyX2NvbGwgfD0gYmFzZV9hdHRyOworICAgIGl0 cy0+ZCA9IGQ7CisgICAgaXRzLT5kb29yYmVsbF9hZGRyZXNzID0gZ3Vlc3RfYWRkciArIElUU19E T09SQkVMTF9PRkZTRVQ7CisgICAgaXRzLT5kZXZpZF9iaXRzID0gZGV2aWRfYml0czsKKyAgICBp dHMtPmV2aWRfYml0cyA9IGV2aWRfYml0czsKKyAgICBzcGluX2xvY2tfaW5pdCgmaXRzLT52Y21k X2xvY2spOworICAgIHNwaW5fbG9ja19pbml0KCZpdHMtPml0c19sb2NrKTsKKworICAgIHJlZ2lz dGVyX21taW9faGFuZGxlcihkLCAmdmdpY19pdHNfbW1pb19oYW5kbGVyLCBndWVzdF9hZGRyLCBT Wl82NEssIGl0cyk7CisKKyAgICAvKiBSZWdpc3RlciB0aGUgdmlydHVhbCBJVFMgdG8gYmUgYWJs ZSB0byBjbGVhbiBpdCB1cCBsYXRlci4gKi8KKyAgICBsaXN0X2FkZF90YWlsKCZpdHMtPnZpdHNf bGlzdCwgJmQtPmFyY2gudmdpYy52aXRzX2xpc3QpOworCisgICAgcmV0dXJuIDA7Cit9CisKIHVu c2lnbmVkIGludCB2Z2ljX3YzX2l0c19jb3VudChjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQogewog ICAgIHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzOwpAQCAtMTQ1MCwxNiArMTQ5MSw1MiBAQCB1bnNp Z25lZCBpbnQgdmdpY192M19pdHNfY291bnQoY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkKICAgICBy ZXR1cm4gcmV0OwogfQogCisvKgorICogRm9yIGEgaGFyZHdhcmUgZG9tYWluLCB0aGlzIHdpbGwg aXRlcmF0ZSBvdmVyIHRoZSBob3N0IElUU2VzCisgKiBhbmQgbWFwIG9uZSB2aXJ0dWFsIElUUyBw ZXIgaG9zdCBJVFMgYXQgdGhlIHNhbWUgYWRkcmVzcy4KKyAqLwogaW50IHZnaWNfdjNfaXRzX2lu aXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiB7CisgICAgaW50IHJldDsKKworICAgIElOSVRf TElTVF9IRUFEKCZkLT5hcmNoLnZnaWMudml0c19saXN0KTsKICAgICBzcGluX2xvY2tfaW5pdCgm ZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzX2xvY2spOwogICAgIGQtPmFyY2gudmdpYy5pdHNfZGV2 aWNlcyA9IFJCX1JPT1Q7CiAKKyAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAg eworICAgICAgICBzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0czsKKworICAgICAgICBsaXN0X2Zvcl9l YWNoX2VudHJ5KGh3X2l0cywgJmhvc3RfaXRzX2xpc3QsIGVudHJ5KQorICAgICAgICB7CisgICAg ICAgICAgICAvKgorICAgICAgICAgICAgICogRm9yIGVhY2ggaG9zdCBJVFMgY3JlYXRlIGEgdmly dHVhbCBJVFMgdXNpbmcgdGhlIHNhbWUKKyAgICAgICAgICAgICAqIGJhc2UgYW5kIHRodXMgZG9v cmJlbGwgYWRkcmVzcy4KKyAgICAgICAgICAgICAqIFVzZSB0aGUgc2FtZSBudW1iZXIgb2YgZGV2 aWNlIElEIGFuZCBldmVudCBJRCBiaXRzIGFzIHRoZSBob3N0LgorICAgICAgICAgICAgICovCisg ICAgICAgICAgICByZXQgPSB2Z2ljX3YzX2l0c19pbml0X3ZpcnR1YWwoZCwgaHdfaXRzLT5hZGRy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3X2l0cy0+ZGV2 aWRfYml0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod19p dHMtPmV2aWRfYml0cyk7CisgICAgICAgICAgICBpZiAoIHJldCApCisgICAgICAgICAgICAgICAg cmV0dXJuIHJldDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBkLT5hcmNoLnZn aWMuaGFzX2l0cyA9IHRydWU7CisgICAgICAgIH0KKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0K IAogdm9pZCB2Z2ljX3YzX2l0c19mcmVlX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQogeworICAg IHN0cnVjdCB2aXJ0X2l0cyAqcG9zLCAqdGVtcDsKKworICAgIGxpc3RfZm9yX2VhY2hfZW50cnlf c2FmZSggcG9zLCB0ZW1wLCAmZC0+YXJjaC52Z2ljLnZpdHNfbGlzdCwgdml0c19saXN0ICkKKyAg ICB7CisgICAgICAgIGxpc3RfZGVsKCZwb3MtPnZpdHNfbGlzdCk7CisgICAgICAgIHhmcmVlKHBv cyk7CisgICAgfQorCiAgICAgQVNTRVJUKFJCX0VNUFRZX1JPT1QoJmQtPmFyY2gudmdpYy5pdHNf ZGV2aWNlcykpOwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5o IGIveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAppbmRleCBiMzNmNTRhLi44ZGZjMWQxIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS1hcm0vZG9tYWluLmgKQEAgLTExNSw2ICsxMTUsNyBAQCBzdHJ1Y3QgYXJjaF9kb21haW4K ICAgICAgICAgc3BpbmxvY2tfdCBpdHNfZGV2aWNlc19sb2NrOyAgICAgICAgLyogUHJvdGVjdHMg dGhlIGl0c19kZXZpY2VzIHRyZWUgKi8KICAgICAgICAgc3RydWN0IHJhZGl4X3RyZWVfcm9vdCBw ZW5kX2xwaV90cmVlOyAvKiBTdG9yZXMgc3RydWN0IHBlbmRpbmdfaXJxJ3MgKi8KICAgICAgICAg cndsb2NrX3QgcGVuZF9scGlfdHJlZV9sb2NrOyAgICAgICAgLyogUHJvdGVjdHMgdGhlIHBlbmRf bHBpX3RyZWUgKi8KKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCB2aXRzX2xpc3Q7ICAgICAgICAg LyogTGlzdCBvZiB2aXJ0dWFsIElUU2VzICovCiAgICAgICAgIHVuc2lnbmVkIGludCBpbnRpZF9i aXRzOwogICAgICAgICAvKgogICAgICAgICAgKiBUT0RPOiBpZiB0aGVyZSBhcmUgbW9yZSBib29s J3MgYmVpbmcgYWRkZWQgYmVsb3csIGNvbnNpZGVyCi0tIAoyLjkuMAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=