From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [RFC PATCH 07/24] ARM: GICv3 ITS: introduce device mapping Date: Thu, 3 Nov 2016 19:33:46 +0000 Message-ID: <8dbce57c-1d30-d3e1-e97f-ab06cc583b64@arm.com> References: <20160928182457.12433-1-andre.przywara@arm.com> <20160928182457.12433-8-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 1c2NlJ-0004nV-4w for xen-devel@lists.xenproject.org; Thu, 03 Nov 2016 19:33:21 +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 SGksCgpPbiAyNC8xMC8xNiAxNjozMSwgVmlqYXkgS2lsYXJpIHdyb3RlOgo+IE9uIFdlZCwgU2Vw IDI4LCAyMDE2IGF0IDExOjU0IFBNLCBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJt LmNvbT4gd3JvdGU6Cj4+IFRoZSBJVFMgdXNlcyBkZXZpY2UgSURzIHRvIG1hcCBMUElzIHRvIGEg ZGV2aWNlLiBEb20wIHdpbGwgbGF0ZXIgdXNlCj4+IHRob3NlIElEcywgd2hpY2ggd2UgZGlyZWN0 bHkgcGFzcyBvbiB0byB0aGUgaG9zdC4KPj4gRm9yIHRoaXMgd2UgaGF2ZSB0byBtYXAgZWFjaCBk ZXZpY2UgdGhhdCBEb20wIG1heSByZXF1ZXN0IHRvIGEgaG9zdAo+PiBJVFMgZGV2aWNlIHdpdGgg dGhlIHNhbWUgaWRlbnRpZmllci4KPj4gQWxsb2NhdGUgdGhlIHJlc3BlY3RpdmUgbWVtb3J5IGFu ZCBlbnRlciBlYWNoIGRldmljZSBpbnRvIGEgbGlzdCB0bwo+PiBsYXRlciBiZSBhYmxlIHRvIGl0 ZXJhdGUgb3ZlciBpdCBvciB0byBlYXNpbHkgdGVhcmRvd24gZ3Vlc3RzLgo+Pgo+PiBTaWduZWQt b2ZmLWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4KPj4gLS0tCj4+ ICB4ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jICAgICAgICB8IDkwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPj4gIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5o IHwgMTYgKysrKysrKysKPj4gIDIgZmlsZXMgY2hhbmdlZCwgMTA2IGluc2VydGlvbnMoKykKPj4K Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2lj LWl0cy5jCj4+IGluZGV4IDIxNDBlNGEuLmJmMWY1YjUgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9hcmNo L2FybS9naWMtaXRzLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy1pdHMuYwo+PiBAQCAtMTY4 LDYgKzE2OCw5NCBAQCBzdGF0aWMgaW50IGl0c19zZW5kX2NtZF9tYXBjKHN0cnVjdCBob3N0X2l0 cyAqaXRzLCBpbnQgY29sbGVjdGlvbl9pZCwgaW50IGNwdSkKPj4gICAgICByZXR1cm4gaXRzX3Nl bmRfY29tbWFuZChpdHMsIGNtZCk7Cj4+ICB9Cj4+Cj4+ICtzdGF0aWMgaW50IGl0c19zZW5kX2Nt ZF9tYXBkKHN0cnVjdCBob3N0X2l0cyAqaXRzLCB1aW50MzJfdCBkZXZpY2VpZCwKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHNpemUsIHVpbnQ2NF90IGl0dF9hZGRyLCBib29s IHZhbGlkKQo+PiArewo+PiArICAgIHVpbnQ2NF90IGNtZFs0XTsKPj4gKwo+PiArICAgIGNtZFsw XSA9IEdJVFNfQ01EX01BUEQgfCAoKHVpbnQ2NF90KWRldmljZWlkIDw8IDMyKTsKPj4gKyAgICBj bWRbMV0gPSBzaXplICYgR0VOTUFTSyg0LCAwKTsKPj4gKyAgICBjbWRbMl0gPSBpdHRfYWRkciAm IEdFTk1BU0soNTEsIDgpOwo+PiArICAgIGlmICggdmFsaWQgKQo+PiArICAgICAgICBjbWRbMl0g fD0gQklUKDYzKTsKPj4gKyAgICBjbWRbM10gPSAweDAwOwo+PiArCj4+ICsgICAgcmV0dXJuIGl0 c19zZW5kX2NvbW1hbmQoaXRzLCBjbWQpOwo+PiArfQo+PiArCj4+ICtpbnQgZ2ljdjNfaXRzX21h cF9kZXZpY2Uoc3RydWN0IGhvc3RfaXRzICpod19pdHMsIHN0cnVjdCBkb21haW4gKmQsCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldmlkLCBpbnQgYml0cywgYm9vbCB2YWxpZCkK Pj4gK3sKPj4gKyAgICB2b2lkICppdHRfYWRkciA9IE5VTEw7Cj4+ICsgICAgc3RydWN0IGl0c19k ZXZpY2VzICpkZXYsICp0ZW1wOwo+PiArICAgIGJvb2wgcmV1c2VfZGV2ID0gZmFsc2U7Cj4+ICsK Pj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZGV2LCB0ZW1wLCAmaHdfaXRzLT5pdHNf ZGV2aWNlcywgZW50cnkpCj4+ICsgICAgewo+PiArICAgICAgICBpZiAoIChkZXYtPmQtPmRvbWFp bl9pZCAhPSBkLT5kb21haW5faWQpIHx8IChkZXYtPmRldmlkICE9IGRldmlkKSApCj4+ICsgICAg ICAgICAgICBjb250aW51ZTsKPj4gKwo+PiArICAgICAgICBpdHNfc2VuZF9jbWRfbWFwZChod19p dHMsIGRldi0+ZGV2aWQsIDAsIDAsIGZhbHNlKTsKPj4gKyAgICAgICAgeGZyZWUoZGV2LT5pdHRf YWRkcik7Cj4+ICsgICAgICAgIGlmICggIXZhbGlkICkKPj4gKyAgICAgICAgewo+PiArICAgICAg ICAgICAgeGZyZWUoZGV2KTsKPiAgICAgeGZyZWUoKSBzaG91bGQgYmUgZG9uZSBhZnRlciBsaXN0 X2RlbCgpCgpPaCwgaW5kZWVkLgoKPj4gKyAgICAgICAgICAgIGxpc3RfZGVsKCZkZXYtPmVudHJ5 KTsKPj4gKwo+PiArICAgICAgICAgICAgcmV0dXJuIDA7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiAr ICAgICAgICByZXVzZV9kZXYgPSB0cnVlOwo+PiArICAgICAgICBicmVhazsKPj4gKyAgICB9Cj4+ ICsKPj4gKyAgICBpZiAoICF2YWxpZCApCj4+ICsgICAgICAgIHJldHVybiAwOwo+PiArCj4+ICsg ICAgaXR0X2FkZHIgPSBfeG1hbGxvYyhCSVQoYml0cykgKiBod19pdHMtPml0dGVfc2l6ZSwgMjU2 KTsKPj4gKyAgICBpZiAoICFpdHRfYWRkciApCj4+ICsgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ PiArCj4+ICsgICAgaWYgKCAhcmV1c2VfZGV2ICkKPj4gKyAgICB7Cj4+ICsgICAgICAgIGRldiA9 IHhtYWxsb2Moc3RydWN0IGl0c19kZXZpY2VzKTsKPj4gKyAgICAgICAgaWYgKCAhZGV2ICkKPj4g KyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsgICAgICAgIGxpc3RfYWRkX3Rh aWwoJmRldi0+ZW50cnksICZod19pdHMtPml0c19kZXZpY2VzKTsKPj4gKyAgICB9Cj4+ICsKPj4g KyAgICBkZXYtPml0dF9hZGRyID0gaXR0X2FkZHI7Cj4+ICsgICAgZGV2LT5kID0gZDsKPj4gKyAg ICBkZXYtPmRldmlkID0gZGV2aWQ7Cj4+ICsKPj4gKyAgICByZXR1cm4gaXRzX3NlbmRfY21kX21h cGQoaHdfaXRzLCBkZXZpZCwgYml0cyAtIDEsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGl0dF9hZGRyID8gdmlydF90b19tYWRkcihpdHRfYWRkcikgOiAwLCB0cnVlKTsKPiAgICAg ICAgICAgY2hlY2sgb24gaXR0X2FkZHIgaXMgcmVkdW5kYW50CgpBaCwgeWVzLCB0aGlzIGlzIGFu IGFydGlmYWN0IG9mIGFuIGVhcmxpZXIgdmVyc2lvbi4gVGhhbmtzIGZvciBzcG90dGluZwp0aGlz LgoKPiAKPj4gK30KPj4gKwo+PiArLyogUmVtb3ZpbmcgYW55IGNvbm5lY3Rpb25zIGEgZG9tYWlu IGhhZCB0byBhbnkgSVRTIGluIHRoZSBzeXN0ZW0uICovCj4+ICtpbnQgaXRzX3JlbW92ZV9kb21h aW4oc3RydWN0IGRvbWFpbiAqZCkKPj4gK3sKPj4gKyAgICBzdHJ1Y3QgaG9zdF9pdHMgKml0czsK Pj4gKyAgICBzdHJ1Y3QgaXRzX2RldmljZXMgKmRldiwgKnRlbXA7Cj4+ICsKPj4gKyAgICBsaXN0 X2Zvcl9lYWNoX2VudHJ5KGl0cywgJmhvc3RfaXRzX2xpc3QsIGVudHJ5KQo+PiArICAgIHsKPj4g KyAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGRldiwgdGVtcCwgJml0cy0+aXRzX2Rl dmljZXMsIGVudHJ5KQo+PiArICAgICAgICB7Cj4+ICsgICAgICAgICAgICBpZiAoIGRldi0+ZC0+ ZG9tYWluX2lkICE9IGQtPmRvbWFpbl9pZCApCj4+ICsgICAgICAgICAgICAgICAgY29udGludWU7 Cj4+ICsKPj4gKyAgICAgICAgICAgIGl0c19zZW5kX2NtZF9tYXBkKGl0cywgZGV2LT5kZXZpZCwg MCwgMCwgZmFsc2UpOwo+PiArICAgICAgICAgICAgeGZyZWUoZGV2LT5pdHRfYWRkcik7Cj4+ICsg ICAgICAgICAgICB4ZnJlZShkZXYpOwo+IAo+IHhmcmVlKCkgc2hvdWxkIGJlIGRvbmUgYWZ0ZXIg bGlzdF9kZWwoCj4+ICsgICAgICAgICAgICBsaXN0X2RlbCgmZGV2LT5lbnRyeSk7Cj4+ICsgICAg ICAgIH0KPiAgICAgICAgIFRoaXMgY29kZSBpcyBzYW1lIGFzIGFib3ZlLiBDYW4gYmUgbW92ZWQg dG8gYSBzZXBhcmF0ZSBmdW5jdGlvbj8KClByb2JhYmx5LiBXaWxsIHRha2UgYSBsb29rLgoKVGhh bmtzLApBbmRyZS4KCj4+ICsgICAgfQo+PiArCj4+ICsgICAgcmV0dXJuIDA7Cj4+ICt9Cj4+ICsK Pj4gIC8qIFNldCB1cCB0aGUgKDE6MSkgY29sbGVjdGlvbiBtYXBwaW5nIGZvciB0aGUgZ2l2ZW4g aG9zdCBDUFUuICovCj4+ICB2b2lkIGdpY3YzX2l0c19zZXR1cF9jb2xsZWN0aW9uKGludCBjcHUp Cj4+ICB7Cj4+IEBAIC0yOTcsNiArMzg1LDcgQEAgaW50IGdpY3YzX2l0c19pbml0KHN0cnVjdCBo b3N0X2l0cyAqaHdfaXRzKQo+Pgo+PiAgICAgIHJlZyA9IHJlYWRxX3JlbGF4ZWQoaHdfaXRzLT5p dHNfYmFzZSArIEdJVFNfVFlQRVIpOwo+PiAgICAgIGh3X2l0cy0+cHRhID0gcmVnICYgR0lUU19U WVBFUl9QVEE7Cj4+ICsgICAgaHdfaXRzLT5pdHRlX3NpemUgPSAoKHJlZyA+PiA0KSAmIDB4Zikg KyAxOwo+ICAgICAgIGNhbiBkZWZpbmUgYSBtYWNybyBmb3IgdGhlc2UgY29uc3RhbnRzCj4+Cj4+ ICAgICAgZm9yIChpID0gMDsgaSA8IDg7IGkrKykKPj4gICAgICB7Cj4+IEBAIC01MjAsNiArNjA5 LDcgQEAgdm9pZCBnaWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUg Km5vZGUpCj4+ICAgICAgICAgIGl0c19kYXRhLT5zaXplID0gc2l6ZTsKPj4gICAgICAgICAgaXRz X2RhdGEtPmR0X25vZGUgPSBpdHM7Cj4+ICAgICAgICAgIHNwaW5fbG9ja19pbml0KCZpdHNfZGF0 YS0+Y21kX2xvY2spOwo+PiArICAgICAgICBJTklUX0xJU1RfSEVBRCgmaXRzX2RhdGEtPml0c19k ZXZpY2VzKTsKPj4KPj4gICAgICAgICAgcHJpbnRrKCJHSUN2MzogRm91bmQgSVRTIEAweCVseFxu IiwgYWRkcik7Cj4+Cj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMu aCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4+IGluZGV4IDUxMmEzODguLjRlOTg0 MWEgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4+ICsrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCj4+IEBAIC03OSw2ICs3OSwxMyBAQAo+PiAg I2lmbmRlZiBfX0FTU0VNQkxZX18KPj4gICNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUuaD4KPj4K Pj4gK3N0cnVjdCBpdHNfZGV2aWNlcyB7Cj4+ICsgICAgc3RydWN0IGxpc3RfaGVhZCBlbnRyeTsK Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkOwo+PiArICAgIHZvaWQgKml0dF9hZGRyOwo+PiArICAg IGludCBkZXZpZDsKPj4gK307Cj4+ICsKPj4gIC8qIGRhdGEgc3RydWN0dXJlIGZvciBlYWNoIGhh cmR3YXJlIElUUyAqLwo+PiAgc3RydWN0IGhvc3RfaXRzIHsKPj4gICAgICBzdHJ1Y3QgbGlzdF9o ZWFkIGVudHJ5Owo+PiBAQCAtODgsNiArOTUsOCBAQCBzdHJ1Y3QgaG9zdF9pdHMgewo+PiAgICAg IHZvaWQgX19pb21lbSAqaXRzX2Jhc2U7Cj4+ICAgICAgc3BpbmxvY2tfdCBjbWRfbG9jazsKPj4g ICAgICB2b2lkICpjbWRfYnVmOwo+PiArICAgIHN0cnVjdCBsaXN0X2hlYWQgaXRzX2RldmljZXM7 Cj4+ICsgICAgaW50IGl0dGVfc2l6ZTsKPj4gICAgICBib29sIHB0YTsKPj4gIH07Cj4+Cj4+IEBA IC0xMTQsNiArMTIzLDEzIEBAIHZvaWQgZ2ljdjNfc2V0X3JlZGlzdF9hZGRyKHBhZGRyX3QgYWRk cmVzcywgaW50IHJlZGlzdF9pZCk7Cj4+ICAvKiBNYXAgYSBjb2xsZWN0aW9uIGZvciB0aGlzIGhv c3QgQ1BVIHRvIGVhY2ggaG9zdCBJVFMuICovCj4+ICB2b2lkIGdpY3YzX2l0c19zZXR1cF9jb2xs ZWN0aW9uKGludCBjcHUpOwo+Pgo+PiArLyogTWFwIGEgZGV2aWNlIG9uIHRoZSBob3N0IGJ5IGFs bG9jYXRpbmcgYW4gSVRUIG9uIHRoZSBob3N0IChJVFMpLgo+PiArICogImJpdHMiIHNwZWNpZmll cyBob3cgbWFueSBldmVudHMgKGludGVycnVwdHMpIHRoaXMgZGV2aWNlIHdpbGwgbmVlZC4KPj4g KyAqIFNldHRpbmcgInZhbGlkIiB0byBmYWxzZSBkZWFsbG9jYXRlcyB0aGUgZGV2aWNlLgo+PiAr ICovCj4+ICtpbnQgZ2ljdjNfaXRzX21hcF9kZXZpY2Uoc3RydWN0IGhvc3RfaXRzICpod19pdHMs IHN0cnVjdCBkb21haW4gKmQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRldmlk LCBpbnQgYml0cywgYm9vbCB2YWxpZCk7Cj4+ICsKPj4gIGludCBnaWN2M19scGlfYWxsb2NhdGVf aG9zdF9scGkoc3RydWN0IGhvc3RfaXRzICppdHMsCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmVudGlkLAo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiwgaW50IHZpcnRfbHBpKTsKPj4g LS0KPj4gMi45LjAKPj4KPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4gWGVuLWRldmVsIG1haWxpbmcgbGlzdAo+PiBYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwo+PiBodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCj4gCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK