From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: Re: [PATCH v2 05/27] ARM: GICv3 ITS: introduce ITS command handling Date: Thu, 16 Mar 2017 10:05:16 -0500 Message-ID: <5dacefe8-e0c4-bc7c-1620-4643a04bfa9a@codeaurora.org> References: <20170316112030.20419-1-andre.przywara@arm.com> <20170316112030.20419-6-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coWxu-0005Kc-G8 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 15:05:22 +0000 In-Reply-To: <20170316112030.20419-6-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 Cj4gVG8gYmUgYWJsZSB0byBlYXNpbHkgc2VuZCBjb21tYW5kcyB0byB0aGUgSVRTLCBjcmVhdGUg dGhlIHJlc3BlY3RpdmUKPiB3cmFwcGVyIGZ1bmN0aW9ucywgd2hpY2ggdGFrZSBjYXJlIG9mIHRo ZSByaW5nIGJ1ZmZlci4KPiBUaGUgZmlyc3QgdHdvIGNvbW1hbmRzIHdlIGltcGxlbWVudCBwcm92 aWRlIG1ldGhvZHMgdG8gbWFwIGEgY29sbGVjdGlvbgo+IHRvIGEgcmVkaXN0cmlidXRvciAoYWth IGhvc3QgY29yZSkgYW5kIHRvIGZsdXNoIHRoZSBjb21tYW5kIHF1ZXVlIChTWU5DKS4KPiBTdGFy dCB1c2luZyB0aGVzZSBjb21tYW5kcyBmb3IgbWFwcGluZyBvbmUgY29sbGVjdGlvbiB0byBlYWNo IGhvc3QgQ1BVLgo+Cj4gU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3 YXJhQGFybS5jb20+Cj4gLS0tCj4gIHhlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMgICAgICAgICB8 IDE4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICB4ZW4vYXJjaC9h cm0vZ2ljLXYzLWxwaS5jICAgICAgICAgfCAgMjIgKysrKysKPiAgeGVuL2FyY2gvYXJtL2dpYy12 My5jICAgICAgICAgICAgIHwgIDE5ICsrKy0KPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNf ZGVmcy5oIHwgICAyICsKPiAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmggIHwgIDM4 ICsrKysrKysrCj4gIDUgZmlsZXMgY2hhbmdlZCwgMjYwIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYyBiL3hlbi9h cmNoL2FybS9naWMtdjMtaXRzLmMKPiBpbmRleCBlNTYwMWVkLi41YzExYjBkIDEwMDY0NAo+IC0t LSBhL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vZ2ljLXYz LWl0cy5jCj4gQEAgLTE5LDExICsxOSwxNCBAQAo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDx4ZW4v bGliLmg+Cj4gKyNpbmNsdWRlIDx4ZW4vZGVsYXkuaD4KPiAgI2luY2x1ZGUgPHhlbi9tbS5oPgo+ ICAjaW5jbHVkZSA8eGVuL3NpemVzLmg+Cj4gKyNpbmNsdWRlIDxhc20vZ2ljLmg+Cj4gICNpbmNs dWRlIDxhc20vZ2ljX3YzX2RlZnMuaD4KPiAgI2luY2x1ZGUgPGFzbS9naWNfdjNfaXRzLmg+Cj4g ICNpbmNsdWRlIDxhc20vaW8uaD4KPiArI2luY2x1ZGUgPGFzbS9wYWdlLmg+Cj4gIAo+ICAjZGVm aW5lIElUU19DTURfUVVFVUVfU1ogICAgICAgICAgICAgICAgU1pfNjRLCj4gIAo+IEBAIC0zNCw2 ICszNywxNDUgQEAgYm9vbCBnaWN2M19pdHNfaG9zdF9oYXNfaXRzKHZvaWQpCj4gICAgICByZXR1 cm4gIWxpc3RfZW1wdHkoJmhvc3RfaXRzX2xpc3QpOwo+ICB9Cj4gIAo+ICsjZGVmaW5lIEJVRlBU Ul9NQVNLICAgICAgICAgICAgICAgICAgICAgR0VOTUFTSygxOSwgNSkKPiArc3RhdGljIGludCBp dHNfc2VuZF9jb21tYW5kKHN0cnVjdCBob3N0X2l0cyAqaHdfaXRzLCBjb25zdCB2b2lkICppdHNf Y21kKQo+ICt7Cj4gKyAgICBzX3RpbWVfdCBkZWFkbGluZSA9IE5PVygpICsgTUlMTElTRUNTKDEp Owo+ICsgICAgdWludDY0X3QgcmVhZHAsIHdyaXRlcDsKPiArICAgIGludCByZXQgPSAtRUJVU1k7 Cj4gKwo+ICsgICAgLyogTm8gSVRTIGNvbW1hbmRzIGZyb20gYW4gaW50ZXJydXB0IGhhbmRsZXIg KGF0IHRoZSBtb21lbnQpLiAqLwo+ICsgICAgQVNTRVJUKCFpbl9pcnEoKSk7Cj4gKwo+ICsgICAg c3Bpbl9sb2NrKCZod19pdHMtPmNtZF9sb2NrKTsKPiArCj4gKyAgICBkbyB7Cj4gKyAgICAgICAg cmVhZHAgPSByZWFkcV9yZWxheGVkKGh3X2l0cy0+aXRzX2Jhc2UgKyBHSVRTX0NSRUFEUikgJiBC VUZQVFJfTUFTSzsKPiArICAgICAgICB3cml0ZXAgPSByZWFkcV9yZWxheGVkKGh3X2l0cy0+aXRz X2Jhc2UgKyBHSVRTX0NXUklURVIpICYgQlVGUFRSX01BU0s7Cj4gKwo+ICsgICAgICAgIGlmICgg KCh3cml0ZXAgKyBJVFNfQ01EX1NJWkUpICUgSVRTX0NNRF9RVUVVRV9TWikgIT0gcmVhZHAgKQo+ ICsgICAgICAgIHsKPiArICAgICAgICAgICAgcmV0ID0gMDsKPiArICAgICAgICAgICAgYnJlYWs7 Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICAvKgo+ICsgICAgICAgICAqIElmIHRoZSBjb21t YW5kIHF1ZXVlIGlzIGZ1bGwsIHdhaXQgZm9yIGEgYml0IGluIHRoZSBob3BlIGl0IGRyYWlucwo+ ICsgICAgICAgICAqIGJlZm9yZSBnaXZpbmcgdXAuCj4gKyAgICAgICAgICovCj4gKyAgICAgICAg c3Bpbl91bmxvY2soJmh3X2l0cy0+Y21kX2xvY2spOwo+ICsgICAgICAgIGNwdV9yZWxheCgpOwo+ ICsgICAgICAgIHVkZWxheSgxKTsKPiArICAgICAgICBzcGluX2xvY2soJmh3X2l0cy0+Y21kX2xv Y2spOwo+ICsgICAgfSB3aGlsZSAoIE5PVygpIDw9IGRlYWRsaW5lICk7Cj4gKwo+ICsgICAgaWYg KCByZXQgKQo+ICsgICAgewo+ICsgICAgICAgIHNwaW5fdW5sb2NrKCZod19pdHMtPmNtZF9sb2Nr KTsKPiArICAgICAgICBwcmludGsoWEVOTE9HX1dBUk5JTkcgIklUUzogY29tbWFuZCBxdWV1ZSBm dWxsLlxuIik7Cj4gKyAgICAgICAgcmV0dXJuIHJldDsKPiArICAgIH0KPiArCj4gKyAgICBtZW1j cHkoaHdfaXRzLT5jbWRfYnVmICsgd3JpdGVwLCBpdHNfY21kLCBJVFNfQ01EX1NJWkUpOwo+ICsg ICAgaWYgKCBod19pdHMtPmZsYWdzICYgSE9TVF9JVFNfRkxVU0hfQ01EX1FVRVVFICkKPiArICAg ICAgICBjbGVhbl9hbmRfaW52YWxpZGF0ZV9kY2FjaGVfdmFfcmFuZ2UoaHdfaXRzLT5jbWRfYnVm ICsgd3JpdGVwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJVFNfQ01EX1NJWkUpOwo+ICsgICAgZWxzZQo+ICsgICAgICAgIGRzYihpc2hzdCk7Cj4gKwo+ ICsgICAgd3JpdGVwID0gKHdyaXRlcCArIElUU19DTURfU0laRSkgJSBJVFNfQ01EX1FVRVVFX1Na Owo+ICsgICAgd3JpdGVxX3JlbGF4ZWQod3JpdGVwICYgQlVGUFRSX01BU0ssIGh3X2l0cy0+aXRz X2Jhc2UgKyBHSVRTX0NXUklURVIpOwo+ICsKPiArICAgIHNwaW5fdW5sb2NrKCZod19pdHMtPmNt ZF9sb2NrKTsKPiArCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiArLyogV2FpdCBmb3IgYW4g SVRTIHRvIGZpbmlzaCBwcm9jZXNzaW5nIGFsbCBjb21tYW5kcy4gKi8KPiArc3RhdGljIGludCBn aWN2M19pdHNfd2FpdF9jb21tYW5kcyhzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiArewo+ICsg ICAgc190aW1lX3QgZGVhZGxpbmUgPSBOT1coKSArIE1JTExJU0VDUygxMDApOwo+ICsgICAgdWlu dDY0X3QgcmVhZHAsIHdyaXRlcDsKPiArCj4gKyAgICBkbyB7Cj4gKyAgICAgICAgc3Bpbl9sb2Nr KCZod19pdHMtPmNtZF9sb2NrKTsKPiArICAgICAgICByZWFkcCA9IHJlYWRxX3JlbGF4ZWQoaHdf aXRzLT5pdHNfYmFzZSArIEdJVFNfQ1JFQURSKSAmIEJVRlBUUl9NQVNLOwo+ICsgICAgICAgIHdy aXRlcCA9IHJlYWRxX3JlbGF4ZWQoaHdfaXRzLT5pdHNfYmFzZSArIEdJVFNfQ1dSSVRFUikgJiBC VUZQVFJfTUFTSzsKPiArICAgICAgICBzcGluX3VubG9jaygmaHdfaXRzLT5jbWRfbG9jayk7Cj4g Kwo+ICsgICAgICAgIGlmICggcmVhZHAgPT0gd3JpdGVwICkKPiArICAgICAgICAgICAgcmV0dXJu IDA7Cj4gKwo+ICsgICAgICAgIGNwdV9yZWxheCgpOwo+ICsgICAgICAgIHVkZWxheSgxKTsKPiAr ICAgIH0gd2hpbGUgKCBOT1coKSA8PSBkZWFkbGluZSApOwo+ICsKPiArICAgIHJldHVybiAtRVRJ TUVET1VUOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdWludDY0X3QgZW5jb2RlX3JkYmFzZShzdHJ1Y3Qg aG9zdF9pdHMgKmh3X2l0cywgdW5zaWduZWQgaW50IGNwdSwKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgcmVnKQo+ICt7Cj4gKyAgICByZWcgJj0gfkdFTk1BU0soNTEs IDE2KTsKPiArCj4gKyAgICByZWcgfD0gZ2ljdjNfZ2V0X3JlZGlzdF9hZGRyZXNzKGNwdSwgaHdf aXRzLT5mbGFncyAmIEhPU1RfSVRTX1VTRVNfUFRBKTsKPiArCj4gKyAgICByZXR1cm4gcmVnOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGl0c19zZW5kX2NtZF9zeW5jKHN0cnVjdCBob3N0X2l0cyAq aXRzLCB1bnNpZ25lZCBpbnQgY3B1KQo+ICt7Cj4gKyAgICB1aW50NjRfdCBjbWRbNF07Cj4gKwo+ ICsgICAgY21kWzBdID0gR0lUU19DTURfU1lOQzsKPiArICAgIGNtZFsxXSA9IDB4MDA7Cj4gKyAg ICBjbWRbMl0gPSBlbmNvZGVfcmRiYXNlKGl0cywgY3B1LCAweDApOwo+ICsgICAgY21kWzNdID0g MHgwMDsKPiArCj4gKyAgICByZXR1cm4gaXRzX3NlbmRfY29tbWFuZChpdHMsIGNtZCk7Cj4gK30K PiArCj4gK3N0YXRpYyBpbnQgaXRzX3NlbmRfY21kX21hcGMoc3RydWN0IGhvc3RfaXRzICppdHMs IHVpbnQzMl90IGNvbGxlY3Rpb25faWQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGNwdSkKPiArewo+ICsgICAgdWludDY0X3QgY21kWzRdOwo+ICsKPiArICAg IGNtZFswXSA9IEdJVFNfQ01EX01BUEM7Cj4gKyAgICBjbWRbMV0gPSAweDAwOwo+ICsgICAgY21k WzJdID0gZW5jb2RlX3JkYmFzZShpdHMsIGNwdSwgKGNvbGxlY3Rpb25faWQgJiBHRU5NQVNLKDE1 LCAwKSkpOwo+ICsgICAgY21kWzJdIHw9IEdJVFNfVkFMSURfQklUOwo+ICsgICAgY21kWzNdID0g MHgwMDsKPiArCj4gKyAgICByZXR1cm4gaXRzX3NlbmRfY29tbWFuZChpdHMsIGNtZCk7Cj4gK30K PiArCj4gKy8qIFNldCB1cCB0aGUgKDE6MSkgY29sbGVjdGlvbiBtYXBwaW5nIGZvciB0aGUgZ2l2 ZW4gaG9zdCBDUFUuICovCj4gK2ludCBnaWN2M19pdHNfc2V0dXBfY29sbGVjdGlvbih1bnNpZ25l ZCBpbnQgY3B1KQo+ICt7Cj4gKyAgICBzdHJ1Y3QgaG9zdF9pdHMgKml0czsKPiArICAgIGludCBy ZXQ7Cj4gKwo+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShpdHMsICZob3N0X2l0c19saXN0LCBl bnRyeSkKPiArICAgIHsKPiArICAgICAgICBpZiAoICFpdHMtPmNtZF9idWYgKQo+ICsgICAgICAg ICAgICBjb250aW51ZTsKPiArCj4gKyAgICAgICAgcmV0ID0gaXRzX3NlbmRfY21kX21hcGMoaXRz LCBjcHUsIGNwdSk7Cj4gKyAgICAgICAgaWYgKCByZXQgKQo+ICsgICAgICAgICAgICByZXR1cm4g cmV0Owo+ICsKPiArICAgICAgICByZXQgPSBpdHNfc2VuZF9jbWRfc3luYyhpdHMsIGNwdSk7Cj4g KyAgICAgICAgaWYgKCByZXQgKQo+ICsgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAg ICAgICByZXQgPSBnaWN2M19pdHNfd2FpdF9jb21tYW5kcyhpdHMpOwo+ICsgICAgICAgIGlmICgg cmV0ICkKPiArICAgICAgICAgICAgcmV0dXJuIHJldDsKPiArICAgIH0KPiArCj4gKyAgICByZXR1 cm4gMDsKPiArfQo+ICsKPiAgI2RlZmluZSBCQVNFUl9BVFRSX01BU0sgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICgoMHgzVUwgPDwgR0lUU19C QVNFUl9TSEFSRUFCSUxJVFlfU0hJRlQpICAgICAgICAgICAgICAgfCBcCj4gICAgICAgICAgICgw eDdVTCA8PCBHSVRTX0JBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElGVCkgICAgICAgICB8IFwK PiBAQCAtMTg0LDIyICszMjYsNTkgQEAgcmV0cnk6Cj4gICAgICByZXR1cm4gLUVJTlZBTDsKPiAg fQo+ICAKPiArLyoKPiArICogQmVmb3JlIGFuIElUUyBnZXRzIGluaXRpYWxpemVkLCBpdCBzaG91 bGQgYmUgaW4gYSBxdWllc2NlbnQgc3RhdGUsIHdoZXJlCj4gKyAqIGFsbCBvdXRzdGFuZGluZyBj b21tYW5kcyBhbmQgdHJhbnNhY3Rpb25zIGhhdmUgZmluaXNoZWQuCj4gKyAqIFNvIGlmIHRoZSBJ VFMgaXMgYWxyZWFkeSBlbmFibGVkLCB0dXJuIGl0IG9mZiBhbmQgd2FpdCBmb3IgYWxsIG91dHN0 YW5kaW5nCj4gKyAqIG9wZXJhdGlvbnMgdG8gZ2V0IHByb2Nlc3NlZCBieSBwb2xsaW5nIHRoZSBR VUlFU0NFTlQgYml0Lgo+ICsgKi8KPiArc3RhdGljIGludCBnaWN2M19kaXNhYmxlX2l0cyhzdHJ1 Y3QgaG9zdF9pdHMgKmh3X2l0cykKPiArewo+ICsgICAgdWludDMyX3QgcmVnOwo+ICsgICAgc190 aW1lX3QgZGVhZGxpbmUgPSBOT1coKSArIE1JTExJU0VDUygxMDApOwo+ICsKPiArICAgIHJlZyA9 IHJlYWRsX3JlbGF4ZWQoaHdfaXRzLT5pdHNfYmFzZSArIEdJVFNfQ1RMUik7Cj4gKyAgICBpZiAo IChyZWcgJiBHSVRTX0NUTFJfUVVJRVNDRU5UKSAmJiAhKHJlZyAmIEdJVFNfQ1RMUl9FTkFCTEUp ICkKCm5pdDogSSBwcmVmZXIgY2hhbmdpbmcgdG8gJ2lmICggIShyZWcgJiBHSVRTX0NUTFJfRU5B QkxFKSAmJiAocmVnICYgR0lUU19DVExSX1FVSUVTQ0VOVCkgKSAnIGJlY2F1c2UgYml0IEdJVFNf Q1RMUl9RVUlFU0NFTlQgaXMgbm90IHZhbGlkIGlmIElUUyBoYXJkd2FyZSBpcyBpbiBlbmFibGVk IHN0YXRlLgoKPiAgI2VuZGlmCgotLSAKU2hhbmtlciBEb250aGluZW5pClF1YWxjb21tIERhdGFj ZW50ZXIgVGVjaG5vbG9naWVzLCBJbmMuIGFzIGFuIGFmZmlsaWF0ZSBvZiBRdWFsY29tbSBUZWNo bm9sb2dpZXMsIEluYy4KUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuIGlzIGEgbWVtYmVyIG9m IHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwgYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUg UHJvamVjdC4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK