From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [RFC PATCH 12/24] ARM: vGICv3: introduce basic ITS emulation bits Date: Mon, 10 Oct 2016 11:38:53 +0100 Message-ID: <0aa18976-e4d9-553c-1831-f9ecb9ec4659@arm.com> References: <20160928182457.12433-1-andre.przywara@arm.com> <20160928182457.12433-13-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 1btXyj-0003hv-VI for xen-devel@lists.xenproject.org; Mon, 10 Oct 2016 10:38:42 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Vijay Kilari Cc: xen-devel , Julien Grall , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAwOS8xMC8xNiAxNToyMCwgVmlqYXkgS2lsYXJpIHdyb3RlOgo+IE9uIFdlZCwgU2Vw IDI4LCAyMDE2IGF0IDExOjU0IFBNLCBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJt LmNvbT4gd3JvdGU6Cj4+IENyZWF0ZSBhIG5ldyBmaWxlIHRvIGhvbGQgdGhlIGVtdWxhdGlvbiBj b2RlIGZvciB0aGUgSVRTIHdpZGdldC4KPj4gRm9yIG5vdyB3ZSBlbXVsYXRlIHRoZSBtZW1vcnkg bWFwcGVkIElUUyByZWdpc3RlcnMgYW5kIHByb3ZpZGUgYSBzdHViCj4+IHRvIGludHJvZHVjZSB0 aGUgSVRTIGNvbW1hbmQgaGFuZGxpbmcgZnJhbWV3b3JrIChidXQgd2l0aG91dCBhY3R1YWxseQo+ PiBlbXVsYXRpbmcgYW55IGNvbW1hbmRzIGF0IHRoaXMgdGltZSkuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+PiAtLS0KPj4gIHhl bi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMSArCj4+ICB4ZW4vYXJjaC9hcm0v dmdpYy1pdHMuYyAgICAgICAgICAgfCAzNzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKPj4gIHhlbi9hcmNoL2FybS92Z2ljLXYzLmMgICAgICAgICAgICB8ICAgOSAtCj4+ ICB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19kZWZzLmggfCAgMTkgKysKPj4gIDQgZmlsZXMg Y2hhbmdlZCwgMzk4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgeGVuL2FyY2gvYXJtL3ZnaWMtaXRzLmMKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9NYWtlZmlsZSBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+PiBpbmRleCBjMmM0ZGFh Li5jYjAyMDFmIDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKPj4gKysrIGIv eGVuL2FyY2gvYXJtL01ha2VmaWxlCj4+IEBAIC00NCw2ICs0NCw3IEBAIG9iai15ICs9IHRyYXBz Lm8KPj4gIG9iai15ICs9IHZnaWMubwo+PiAgb2JqLXkgKz0gdmdpYy12Mi5vCj4+ICBvYmotJChD T05GSUdfQVJNXzY0KSArPSB2Z2ljLXYzLm8KPj4gK29iai0kKENPTkZJR19IQVNfSVRTKSArPSB2 Z2ljLWl0cy5vCj4+ICBvYmoteSArPSB2bV9ldmVudC5vCj4+ICBvYmoteSArPSB2dGltZXIubwo+ PiAgb2JqLXkgKz0gdnBzY2kubwo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMtaXRz LmMgYi94ZW4vYXJjaC9hcm0vdmdpYy1pdHMuYwo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp bmRleCAwMDAwMDAwLi44NzViOTkyCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIveGVuL2FyY2gv YXJtL3ZnaWMtaXRzLmMKPj4gQEAgLTAsMCArMSwzNzggQEAKPj4gKy8qCj4+ICsgKiB4ZW4vYXJj aC9hcm0vdmdpYy1pdHMuYwo+PiArICoKPj4gKyAqIEFSTSBJbnRlcnJ1cHQgVHJhbnNsYXRpb24g U2VydmljZSAoSVRTKSBlbXVsYXRpb24KPj4gKyAqCj4+ICsgKiBBbmRyZSBQcnp5d2FyYSA8YW5k cmUucHJ6eXdhcmFAYXJtLmNvbT4KPj4gKyAqIENvcHlyaWdodCAoYykgMjAxNiBBUk0gTHRkLgo+ PiArICoKPj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4+ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQo+PiArICogdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg b3IKPj4gKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4+ICsgKgo+PiAr ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4+ICsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+PiArICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+PiArICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPj4gKyAqLwo+PiArCj4+ICsjaW5jbHVkZSA8 eGVuL2JpdG9wcy5oPgo+PiArI2luY2x1ZGUgPHhlbi9jb25maWcuaD4KPj4gKyNpbmNsdWRlIDx4 ZW4vZG9tYWluX3BhZ2UuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vbGliLmg+Cj4+ICsjaW5jbHVkZSA8 eGVuL2luaXQuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vc29mdGlycS5oPgo+PiArI2luY2x1ZGUgPHhl bi9pcnEuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KPj4gKyNpbmNsdWRlIDx4ZW4vc2l6 ZXMuaD4KPj4gKyNpbmNsdWRlIDxhc20vY3VycmVudC5oPgo+PiArI2luY2x1ZGUgPGFzbS9tbWlv Lmg+Cj4+ICsjaW5jbHVkZSA8YXNtL2dpY192M19kZWZzLmg+Cj4+ICsjaW5jbHVkZSA8YXNtL2dp Yy1pdHMuaD4KPj4gKyNpbmNsdWRlIDxhc20vdmdpYy5oPgo+PiArI2luY2x1ZGUgPGFzbS92Z2lj LWVtdWwuaD4KPj4gKwo+PiArLyogRGF0YSBzdHJ1Y3R1cmUgdG8gZGVzY3JpYmUgYSB2aXJ0dWFs IElUUyAqLwo+PiArc3RydWN0IHZpcnRfaXRzIHsKPj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkOwo+ PiArICAgIHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzOwo+PiArICAgIHNwaW5sb2NrX3QgdmNtZF9s b2NrOyAgICAgICAvKiBwcm90ZWN0cyB0aGUgdmlydHVhbCBjb21tYW5kIGJ1ZmZlciAqLwo+PiAr ICAgIHVpbnQ2NF90IGNiYXNlcjsKPj4gKyAgICB1aW50NjRfdCAqY21kYnVmOwo+PiArICAgIGlu dCBjd3JpdGVyOwo+PiArICAgIGludCBjcmVhZHI7Cj4+ICsgICAgc3BpbmxvY2tfdCBpdHNfbG9j azsgICAgICAgIC8qIHByb3RlY3RzIHRoZSBjb2xsZWN0aW9uIGFuZCBkZXZpY2UgdGFibGVzICov Cj4+ICsgICAgdWludDY0X3QgYmFzZXIwLCBiYXNlcjE7Cj4+ICsgICAgdWludDE2X3QgKmNvbGxf dGFibGU7Cj4+ICsgICAgaW50IG1heF9jb2xsZWN0aW9uczsKPj4gKyAgICB1aW50NjRfdCAqZGV2 X3RhYmxlOwo+PiArICAgIGludCBtYXhfZGV2aWNlczsKPj4gKyAgICBib29sIGVuYWJsZWQ7Cj4+ ICt9Owo+PiArCj4+ICsvKiBBbiBJbnRlcnJ1cHQgVHJhbnNsYXRpb24gVGFibGUgRW50cnk6IHRo aXMgaXMgaW5kZXhlZCBieSBhCj4+ICsgKiBEZXZpY2VJRC9FdmVudElEIHBhaXIgYW5kIGlzIGxv Y2F0ZWQgaW4gZ3Vlc3QgbWVtb3J5Lgo+PiArICovCj4+ICtzdHJ1Y3Qgdml0c19pdHRlCj4+ICt7 Cj4+ICsgICAgdWludDY0X3QgaGxwaToyNDsKPj4gKyAgICB1aW50NjRfdCB2bHBpOjI0Owo+PiAr ICAgIHVpbnQ2NF90IGNvbGxlY3Rpb246MTY7Cj4+ICt9Owo+PiArCj4+ICsvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gKyAqIEZ1bmN0aW9ucyB0aGF0IGhhbmRsZSBJ VFMgY29tbWFuZHMgKgo+PiArICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Lwo+PiArCj4+ICtzdGF0aWMgdWludDY0X3QgaXRzX2NtZF9tYXNrX2ZpZWxkKHVpbnQ2NF90ICpp dHNfY21kLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgd29yZCwg aW50IHNoaWZ0LCBpbnQgc2l6ZSkKPj4gK3sKPj4gKyAgICByZXR1cm4gKGxlNjRfdG9fY3B1KGl0 c19jbWRbd29yZF0pID4+IHNoaWZ0KSAmIChCSVQoc2l6ZSkgLSAxKTsKPj4gK30KPj4gKwo+PiAr I2RlZmluZSBpdHNfY21kX2dldF9jb21tYW5kKGNtZCkgICAgICAgIGl0c19jbWRfbWFza19maWVs ZChjbWQsIDAsICAwLCAgOCkKPj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfZGV2aWNlaWQoY21kKSAg ICAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAwLCAzMiwgMzIpCj4+ICsjZGVmaW5lIGl0c19j bWRfZ2V0X3NpemUoY21kKSAgICAgICAgICAgaXRzX2NtZF9tYXNrX2ZpZWxkKGNtZCwgMSwgIDAs ICA1KQo+PiArI2RlZmluZSBpdHNfY21kX2dldF9pZChjbWQpICAgICAgICAgICAgIGl0c19jbWRf bWFza19maWVsZChjbWQsIDEsICAwLCAzMikKPj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfcGh5c2lj YWxfaWQoY21kKSAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAxLCAzMiwgMzIpCj4+ICsjZGVm aW5lIGl0c19jbWRfZ2V0X2NvbGxlY3Rpb24oY21kKSAgICAgaXRzX2NtZF9tYXNrX2ZpZWxkKGNt ZCwgMiwgIDAsIDE2KQo+PiArI2RlZmluZSBpdHNfY21kX2dldF90YXJnZXRfYWRkcihjbWQpICAg IGl0c19jbWRfbWFza19maWVsZChjbWQsIDIsIDE2LCAzMikKPj4gKyNkZWZpbmUgaXRzX2NtZF9n ZXRfdmFsaWRiaXQoY21kKSAgICAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAyLCA2MywgIDEp Cj4+ICsKPj4gKyNkZWZpbmUgSVRTX0NNRF9CVUZGRVJfU0laRShiYXNlcikgICAgICAoKCgoYmFz ZXIpICYgMHhmZikgKyAxKSA8PCAxMikKPj4gKwo+PiArc3RhdGljIGludCB2Z2ljX2l0c19oYW5k bGVfY21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlydF9pdHMgKml0cywKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgd3JpdGVyKQo+PiArewo+PiArICAg IHVpbnQ2NF90ICpjbWRwdHI7Cj4+ICsKPj4gKyAgICBpZiAoICFpdHMtPmNtZGJ1ZiApCj4+ICsg ICAgICAgIHJldHVybiAtMTsKPj4gKwo+PiArICAgIGlmICggd3JpdGVyID49IElUU19DTURfQlVG RkVSX1NJWkUoaXRzLT5jYmFzZXIpICkKPj4gKyAgICAgICAgcmV0dXJuIC0xOwo+PiArCj4+ICsg ICAgc3Bpbl9sb2NrKCZpdHMtPnZjbWRfbG9jayk7Cj4+ICsKPj4gKyAgICB3aGlsZSAoIGl0cy0+ Y3JlYWRyICE9IHdyaXRlciApCj4+ICsgICAgewo+PiArICAgICAgICBjbWRwdHIgPSBpdHMtPmNt ZGJ1ZiArIChpdHMtPmNyZWFkciAvIHNpemVvZigqaXRzLT5jbWRidWYpKTsKPj4gKyAgICAgICAg c3dpdGNoIChpdHNfY21kX2dldF9jb21tYW5kKGNtZHB0cikpCj4+ICsgICAgICAgIHsKPj4gKyAg ICAgICAgY2FzZSBHSVRTX0NNRF9TWU5DOgo+PiArICAgICAgICAgICAgLyogV2UgaGFuZGxlIElU UyBjb21tYW5kcyBzeW5jaHJvbm91c2x5LCBzbyB3ZSBpZ25vcmUgU1lOQy4gKi8KPj4gKyAgICAg ICAgICAgYnJlYWs7Cj4+ICsgICAgICAgIGRlZmF1bHQ6Cj4+ICsgICAgICAgICAgICBnZHByaW50 ayhYRU5MT0dfR19XQVJOSU5HLCAiSVRTOiB1bmhhbmRsZWQgSVRTIGNvbW1hbmQgJWxkXG4iLAo+ PiArICAgICAgICAgICAgICAgICAgIGl0c19jbWRfZ2V0X2NvbW1hbmQoY21kcHRyKSk7Cj4+ICsg ICAgICAgICAgICBicmVhazsKPj4gKyAgICAgICAgfQo+PiArCj4+ICsgICAgICAgIGl0cy0+Y3Jl YWRyICs9IElUU19DTURfU0laRTsKPj4gKyAgICAgICAgaWYgKCBpdHMtPmNyZWFkciA9PSBJVFNf Q01EX0JVRkZFUl9TSVpFKGl0cy0+Y2Jhc2VyKSApCj4+ICsgICAgICAgICAgICBpdHMtPmNyZWFk ciA9IDA7Cj4+ICsgICAgfQo+PiArICAgIGl0cy0+Y3dyaXRlciA9IHdyaXRlcjsKPj4gKwo+PiAr ICAgIHNwaW5fdW5sb2NrKCZpdHMtPnZjbWRfbG9jayk7Cj4+ICsKPj4gKyAgICByZXR1cm4gMDsK Pj4gK30KPj4gKwo+PiArLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4+ICsgKiBJVFMg cmVnaXN0ZXJzIHJlYWQgYWNjZXNzICoKPj4gKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8KPj4gKwo+PiArLyogVGhlIHBoeXNpY2FsIGFkZHJlc3MgaXMgZW5jb2RlZCBzbGlnaHRseSBk aWZmZXJlbnRseSBkZXBlbmRpbmcgb24KPj4gKyAqIHRoZSB1c2VkIHBhZ2Ugc2l6ZTogdGhlIGhp Z2hlc3QgZm91ciBiaXRzIGFyZSBzdG9yZWQgaW4gdGhlIGxvd2VzdAo+PiArICogZm91ciBiaXRz IG9mIHRoZSBmaWVsZCBmb3IgNjRLIHBhZ2VzLgo+PiArICovCj4+ICtzdGF0aWMgcGFkZHJfdCBn ZXRfYmFzZXJfcGh5c19hZGRyKHVpbnQ2NF90IHJlZykKPj4gK3sKPj4gKyAgICBpZiAoIHJlZyAm IEJJVCg5KSApCj4+ICsgICAgICAgIHJldHVybiAocmVnICYgR0VOTUFTSyg0NywgMTYpKSB8ICgo cmVnICYgR0VOTUFTSygxNSwgMTIpKSA8PCAzNik7Cj4+ICsgICAgZWxzZQo+PiArICAgICAgICBy ZXR1cm4gcmVnICYgR0VOTUFTSyg0NywgMTIpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IHZn aWNfdjNfaXRzX21taW9fcmVhZChzdHJ1Y3QgdmNwdSAqdiwgbW1pb19pbmZvX3QgKmluZm8sCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90ICpyLCB2b2lkICpw cml2KQo+PiArewo+PiArICAgIHN0cnVjdCB2aXJ0X2l0cyAqaXRzID0gcHJpdjsKPj4gKwo+PiAr ICAgIHN3aXRjaCAoIGluZm8tPmdwYSAmIDB4ZmZmZiApCj4+ICsgICAgewo+PiArICAgIGNhc2Ug VlJFRzMyKEdJVFNfQ1RMUik6Cj4+ICsgICAgICAgIGlmICggaW5mby0+ZGFidC5zaXplICE9IERB QlRfV09SRCApIGdvdG8gYmFkX3dpZHRoOwo+PiArICAgICAgICAqciA9IHZnaWNfcmVnMzJfZXh0 cmFjdChpdHMtPmVuYWJsZWQgfCBCSVQoMzEpLCBpbmZvKTsKPj4gKyAgICAgICBicmVhazsKPj4g KyAgICBjYXNlIFZSRUczMihHSVRTX0lJRFIpOgo+PiArICAgICAgICBpZiAoIGluZm8tPmRhYnQu c2l6ZSAhPSBEQUJUX1dPUkQgKSBnb3RvIGJhZF93aWR0aDsKPj4gKyAgICAgICAgKnIgPSB2Z2lj X3JlZzMyX2V4dHJhY3QoR0lUU19JSURSX1ZBTFVFLCBpbmZvKTsKPj4gKyAgICAgICAgYnJlYWs7 Cj4+ICsgICAgY2FzZSBWUkVHNjQoR0lUU19UWVBFUik6Cj4+ICsgICAgICAgIGlmICggaW5mby0+ ZGFidC5zaXplIDwgREFCVF9XT1JEICkgZ290byBiYWRfd2lkdGg7Cj4+ICsgICAgICAgICpyID0g dmdpY19yZWc2NF9leHRyYWN0KDB4MWVmZjEsIGluZm8pOwo+IAo+ICAgICAgSGVyZSB5b3UgYXJl IGxpbWl0aW5nIERldklEIGJpdHMgdG8gMTUsIHdoaWNoIGlzIG5vdCBlbm91Z2gKClJpZ2h0LCBJ IHdhc24ndCBhd2FyZSBvZiB0aG9zZSBzZWdtZW50cyBDYXZpdW0gdXNlcy4KSSB3aWxsIHRyeSB0 byBmaW5kIG91dCBvdGhlciB2ZW5kb3IncyByZXF1aXJlbWVudHMgZm9yIG1heGltdW0gZGV2aWNl CklEcyBhbmQgd2lsbCBhZGp1c3QgdGhpcyBudW1iZXIuCkFuZCBpdCBzZWVtcyB0byBiZSBvbmUg b2YgdGhlIHBsYWNlcyB3aGVyZSBJIG1pc3NlZCB0byBjaGFuZ2UgdGhlIGhhY2tlZAp1cCBudW1i ZXJzIGludG8gbmljZSAjZGVmaW5lcyA7LSkKCkNoZWVycywKQW5kcmUuCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK