From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: Re: [PATCH v2 14/27] ARM: vGICv3: introduce basic ITS emulation bits Date: Thu, 16 Mar 2017 11:25:53 -0500 Message-ID: <2002ed1f-af8f-a57f-fc06-42d682918bb1@codeaurora.org> References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-15-andre.przywara@arm.com> Reply-To: shankerd@codeaurora.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 1coYDy-0003Kl-Kj for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 16:26:02 +0000 In-Reply-To: <20170316112030.20419-15-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara , Stefano Stabellini , Julien Grall Cc: xen-devel@lists.xenproject.org, Vijay Kilari List-Id: xen-devel@lists.xenproject.org SGkgQW5kcmUsCgoKT24gMDMvMTYvMjAxNyAwNjoyMCBBTSwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6 Cj4gQ3JlYXRlIGEgbmV3IGZpbGUgdG8gaG9sZCB0aGUgZW11bGF0aW9uIGNvZGUgZm9yIHRoZSBJ VFMgd2lkZ2V0Lgo+IEZvciBub3cgd2UgZW11bGF0ZSB0aGUgbWVtb3J5IG1hcHBlZCBJVFMgcmVn aXN0ZXJzIGFuZCBwcm92aWRlIGEgc3R1Ygo+IHRvIGludHJvZHVjZSB0aGUgSVRTIGNvbW1hbmQg aGFuZGxpbmcgZnJhbWV3b3JrIChidXQgd2l0aG91dCBhY3R1YWxseQo+IGVtdWxhdGluZyBhbnkg Y29tbWFuZHMgYXQgdGhpcyB0aW1lKS4KPgo+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJh IDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUg ICAgICAgICAgICAgfCAgIDEgKwo+ICB4ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYyAgICAgICAg fCA0ODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gv YXJtL3ZnaWMtdjMuYyAgICAgICAgICAgIHwgICA5IC0KPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9n aWNfdjNfZGVmcy5oIHwgIDE5ICsrCj4gIDQgZmlsZXMgY2hhbmdlZCwgNTA3IGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vdmdp Yy12My1pdHMuYwo+Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZSBiL3hlbi9h cmNoL2FybS9NYWtlZmlsZQo+IGluZGV4IDAyYTg3MzcuLmU3Y2UyYzgzIDEwMDY0NAo+IC0tLSBh L3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+ICsrKyBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQo+IEBA IC00Nyw2ICs0Nyw3IEBAIG9iai15ICs9IHRyYXBzLm8KPiAgb2JqLXkgKz0gdmdpYy5vCj4gIG9i ai15ICs9IHZnaWMtdjIubwo+ICBvYmotJChDT05GSUdfSEFTX0dJQ1YzKSArPSB2Z2ljLXYzLm8K PiArb2JqLSQoQ09ORklHX0hBU19JVFMpICs9IHZnaWMtdjMtaXRzLm8KPiAgb2JqLXkgKz0gdm1f ZXZlbnQubwo+ICBvYmoteSArPSB2dGltZXIubwo+ICBvYmoteSArPSB2cHNjaS5vCj4gZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjMt aXRzLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjUzMzc2MzgKPiAt LS0gL2Rldi9udWxsCj4gKysrIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMKPiBAQCAtMCww ICsxLDQ4NyBAQAo+ICsvKgo+ICsgKiB4ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwo+ICsgKgo+ ICsgKiBBUk0gSW50ZXJydXB0IFRyYW5zbGF0aW9uIFNlcnZpY2UgKElUUykgZW11bGF0aW9uCj4g KyAqCj4gKyAqIEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+ICsgKiBD b3B5cmlnaHQgKGMpIDIwMTYsMjAxNyBBUk0gTHRkLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ ICsgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQo+ICsgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB1bmRl ciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UuCj4gKyAqCj4gKyAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ICsgKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv Zgo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCj4gKyAqCj4gKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCj4gKyAqLwo+ICsK PiArI2luY2x1ZGUgPHhlbi9iaXRvcHMuaD4KPiArI2luY2x1ZGUgPHhlbi9jb25maWcuaD4KPiAr I2luY2x1ZGUgPHhlbi9kb21haW5fcGFnZS5oPgo+ICsjaW5jbHVkZSA8eGVuL2xpYi5oPgo+ICsj aW5jbHVkZSA8eGVuL2luaXQuaD4KPiArI2luY2x1ZGUgPHhlbi9zb2Z0aXJxLmg+Cj4gKyNpbmNs dWRlIDx4ZW4vaXJxLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KPiArI2luY2x1ZGUgPHhl bi9zaXplcy5oPgo+ICsjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KPiArI2luY2x1ZGUgPGFzbS9t bWlvLmg+Cj4gKyNpbmNsdWRlIDxhc20vZ2ljX3YzX2RlZnMuaD4KPiArI2luY2x1ZGUgPGFzbS9n aWNfdjNfaXRzLmg+Cj4gKyNpbmNsdWRlIDxhc20vdmdpYy5oPgo+ICsjaW5jbHVkZSA8YXNtL3Zn aWMtZW11bC5oPgo+ICsKPiArLyogRGF0YSBzdHJ1Y3R1cmUgdG8gZGVzY3JpYmUgYSB2aXJ0dWFs IElUUyAqLwo+ICtzdHJ1Y3QgdmlydF9pdHMgewo+ICsgICAgc3RydWN0IGRvbWFpbiAqZDsKPiAr ICAgIHNwaW5sb2NrX3QgdmNtZF9sb2NrOyAgICAgICAvKiBwcm90ZWN0cyB0aGUgdmlydHVhbCBj b21tYW5kIGJ1ZmZlciAqLwo+ICsgICAgdWludDY0X3QgY2Jhc2VyOwo+ICsgICAgdWludDY0X3Qg KmNtZGJ1ZjsKPiArICAgIGludCBjd3JpdGVyOwo+ICsgICAgaW50IGNyZWFkcjsKPiArICAgIHNw aW5sb2NrX3QgaXRzX2xvY2s7ICAgICAgICAvKiBwcm90ZWN0cyB0aGUgY29sbGVjdGlvbiBhbmQg ZGV2aWNlIHRhYmxlcyAqLwo+ICsgICAgdWludDY0X3QgYmFzZXIwLCBiYXNlcjE7Cj4gKyAgICB1 aW50MTZfdCAqY29sbF90YWJsZTsKPiArICAgIGludCBtYXhfY29sbGVjdGlvbnM7Cj4gKyAgICB1 aW50NjRfdCAqZGV2X3RhYmxlOwo+ICsgICAgaW50IG1heF9kZXZpY2VzOwo+ICsgICAgYm9vbCBl bmFibGVkOwo+ICt9Owo+ICsKPiArLyoKPiArICogQW4gSW50ZXJydXB0IFRyYW5zbGF0aW9uIFRh YmxlIEVudHJ5OiB0aGlzIGlzIGluZGV4ZWQgYnkgYQo+ICsgKiBEZXZpY2VJRC9FdmVudElEIHBh aXIgYW5kIGlzIGxvY2F0ZWQgaW4gZ3Vlc3QgbWVtb3J5Lgo+ICsgKi8KPiArc3RydWN0IHZpdHNf aXR0ZQo+ICt7Cj4gKyAgICB1aW50MzJfdCB2bHBpOwo+ICsgICAgdWludDE2X3QgY29sbGVjdGlv bjsKPiArfTsKPiArCj4gKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ ICsgKiBGdW5jdGlvbnMgdGhhdCBoYW5kbGUgSVRTIGNvbW1hbmRzICoKPiArICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+ICsKPiArc3RhdGljIHVpbnQ2NF90IGl0c19j bWRfbWFza19maWVsZCh1aW50NjRfdCAqaXRzX2NtZCwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgd29yZCwgaW50IHNoaWZ0LCBpbnQgc2l6ZSkKPiArewo+ICsgICAg cmV0dXJuIChsZTY0X3RvX2NwdShpdHNfY21kW3dvcmRdKSA+PiBzaGlmdCkgJiAoQklUKHNpemUp IC0gMSk7Cj4gK30KPiArCj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfY29tbWFuZChjbWQpICAgICAg ICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAwLCAgMCwgIDgpCj4gKyNkZWZpbmUgaXRzX2NtZF9n ZXRfZGV2aWNlaWQoY21kKSAgICAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAwLCAzMiwgMzIp Cj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfc2l6ZShjbWQpICAgICAgICAgICBpdHNfY21kX21hc2tf ZmllbGQoY21kLCAxLCAgMCwgIDUpCj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfaWQoY21kKSAgICAg ICAgICAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAxLCAgMCwgMzIpCj4gKyNkZWZpbmUgaXRz X2NtZF9nZXRfcGh5c2ljYWxfaWQoY21kKSAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAxLCAz MiwgMzIpCj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfY29sbGVjdGlvbihjbWQpICAgICBpdHNfY21k X21hc2tfZmllbGQoY21kLCAyLCAgMCwgMTYpCj4gKyNkZWZpbmUgaXRzX2NtZF9nZXRfdGFyZ2V0 X2FkZHIoY21kKSAgICBpdHNfY21kX21hc2tfZmllbGQoY21kLCAyLCAxNiwgMzIpCj4gKyNkZWZp bmUgaXRzX2NtZF9nZXRfdmFsaWRiaXQoY21kKSAgICAgICBpdHNfY21kX21hc2tfZmllbGQoY21k LCAyLCA2MywgIDEpCj4gKwo+ICsjZGVmaW5lIElUU19DTURfQlVGRkVSX1NJWkUoYmFzZXIpICAg ICAgKCgoKGJhc2VyKSAmIDB4ZmYpICsgMSkgPDwgMTIpCj4gKwo+ICtzdGF0aWMgaW50IHZnaWNf aXRzX2hhbmRsZV9jbWRzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2aXJ0X2l0cyAqaXRzLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHdyaXRlcikKPiArewo+ ICsgICAgdWludDY0X3QgKmNtZHB0cjsKPiArCj4gKyAgICBpZiAoICFpdHMtPmNtZGJ1ZiApCj4g KyAgICAgICAgcmV0dXJuIC0xOwo+ICsKPiArICAgIGlmICggd3JpdGVyID49IElUU19DTURfQlVG RkVSX1NJWkUoaXRzLT5jYmFzZXIpICkKPiArICAgICAgICByZXR1cm4gLTE7Cj4gKwo+ICsgICAg c3Bpbl9sb2NrKCZpdHMtPnZjbWRfbG9jayk7Cj4gKwo+ICsgICAgd2hpbGUgKCBpdHMtPmNyZWFk ciAhPSB3cml0ZXIgKQo+ICsgICAgewo+ICsgICAgICAgIGNtZHB0ciA9IGl0cy0+Y21kYnVmICsg KGl0cy0+Y3JlYWRyIC8gc2l6ZW9mKCppdHMtPmNtZGJ1ZikpOwo+ICsgICAgICAgIHN3aXRjaCAo aXRzX2NtZF9nZXRfY29tbWFuZChjbWRwdHIpKQo+ICsgICAgICAgIHsKPiArICAgICAgICBjYXNl IEdJVFNfQ01EX1NZTkM6Cj4gKyAgICAgICAgICAgIC8qIFdlIGhhbmRsZSBJVFMgY29tbWFuZHMg c3luY2hyb25vdXNseSwgc28gd2UgaWdub3JlIFNZTkMuICovCj4gKwkgICAgYnJlYWs7Cj4gKyAg ICAgICAgZGVmYXVsdDoKPiArICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0dfV0FSTklORywg IklUUzogdW5oYW5kbGVkIElUUyBjb21tYW5kICVsZFxuIiwKPiArICAgICAgICAgICAgICAgICAg IGl0c19jbWRfZ2V0X2NvbW1hbmQoY21kcHRyKSk7Cj4gKyAgICAgICAgICAgIGJyZWFrOwo+ICsg ICAgICAgIH0KPiArCj4gKyAgICAgICAgaXRzLT5jcmVhZHIgKz0gSVRTX0NNRF9TSVpFOwo+ICsg ICAgICAgIGlmICggaXRzLT5jcmVhZHIgPT0gSVRTX0NNRF9CVUZGRVJfU0laRShpdHMtPmNiYXNl cikgKQo+ICsgICAgICAgICAgICBpdHMtPmNyZWFkciA9IDA7Cj4gKyAgICB9Cj4gKyAgICBpdHMt PmN3cml0ZXIgPSB3cml0ZXI7Cj4gKwo+ICsgICAgc3Bpbl91bmxvY2soJml0cy0+dmNtZF9sb2Nr KTsKPiArCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqCj4gKyAqIElUUyByZWdpc3RlcnMgcmVhZCBhY2Nlc3MgKgo+ICsgKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCj4gKwo+ICsvKgo+ICsgKiBUaGUgcGh5c2ljYWwgYWRkcmVz cyBpcyBlbmNvZGVkIHNsaWdodGx5IGRpZmZlcmVudGx5IGRlcGVuZGluZyBvbgo+ICsgKiB0aGUg dXNlZCBwYWdlIHNpemU6IHRoZSBoaWdoZXN0IGZvdXIgYml0cyBhcmUgc3RvcmVkIGluIHRoZSBs b3dlc3QKPiArICogZm91ciBiaXRzIG9mIHRoZSBmaWVsZCBmb3IgNjRLIHBhZ2VzLgo+ICsgKi8K PiArc3RhdGljIHBhZGRyX3QgZ2V0X2Jhc2VyX3BoeXNfYWRkcih1aW50NjRfdCByZWcpCj4gK3sK PiArICAgIGlmICggcmVnICYgQklUKDkpICkKPiArICAgICAgICByZXR1cm4gKHJlZyAmIEdFTk1B U0soNDcsIDE2KSkgfCAoKHJlZyAmIEdFTk1BU0soMTUsIDEyKSkgPDwgMzYpOwo+ICsgICAgZWxz ZQo+ICsgICAgICAgIHJldHVybiByZWcgJiBHRU5NQVNLKDQ3LCAxMik7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbnQgdmdpY192M19pdHNfbW1pb19yZWFkKHN0cnVjdCB2Y3B1ICp2LCBtbWlvX2luZm9f dCAqaW5mbywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJfdCAq ciwgdm9pZCAqcHJpdikKPiArewo+ICsgICAgc3RydWN0IHZpcnRfaXRzICppdHMgPSBwcml2Owo+ ICsKPiArICAgIHN3aXRjaCAoIGluZm8tPmdwYSAmIDB4ZmZmZiApCj4gKyAgICB7Cj4gKyAgICBj YXNlIFZSRUczMihHSVRTX0NUTFIpOgo+ICsgICAgICAgIGlmICggaW5mby0+ZGFidC5zaXplICE9 IERBQlRfV09SRCApIGdvdG8gYmFkX3dpZHRoOwo+ICsgICAgICAgICpyID0gdmdpY19yZWczMl9l eHRyYWN0KGl0cy0+ZW5hYmxlZCB8IEJJVCgzMSksIGluZm8pOwo+ICsJYnJlYWs7Cj4gKyAgICBj YXNlIFZSRUczMihHSVRTX0lJRFIpOgo+ICsgICAgICAgIGlmICggaW5mby0+ZGFidC5zaXplICE9 IERBQlRfV09SRCApIGdvdG8gYmFkX3dpZHRoOwo+ICsgICAgICAgICpyID0gdmdpY19yZWczMl9l eHRyYWN0KEdJVFNfSUlEUl9WQUxVRSwgaW5mbyk7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKyAgICBj YXNlIFZSRUc2NChHSVRTX1RZUEVSKToKPiArICAgICAgICBpZiAoIGluZm8tPmRhYnQuc2l6ZSA8 IERBQlRfV09SRCApIGdvdG8gYmFkX3dpZHRoOwo+ICsgICAgICAgICpyID0gdmdpY19yZWc2NF9l eHRyYWN0KDB4MWVmZjEsIGluZm8pOwoKUGxlYXNlIGRvbid0IGhhcmQtY29kZSBEZXZiaXRzIChi aXRzIDE3LTEzKSB2YWx1ZSB0byAxNiBoZXJlLiBGb3IgZG9tMCwgYXQgbGVhc3QgbWF0Y2ggdG8g S2NvbmZpZyBvcHRpb24sIG9yIHVzZSBJVFMgaGFyZHdhcmUgcmVwb3J0ZWQgdmFsdWUuIE9uIFF1 YWxjb21tIHNlcnZlciBjaGlwcywgR0lUU19UWVBFUi5EZXZiaXQgaXMgc2V0IHRvIDMyYml0cy4K Ci0tIApTaGFua2VyIERvbnRoaW5lbmkKUXVhbGNvbW0gRGF0YWNlbnRlciBUZWNobm9sb2dpZXMs IEluYy4gYXMgYW4gYWZmaWxpYXRlIG9mIFF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLgpRdWFs Y29tbSBUZWNobm9sb2dpZXMsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZv cnVtLCBhIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0LgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=