From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2] xen/arm: gicv2: Export GICv2m register frames to domain0 by device tree Date: Tue, 26 Apr 2016 11:49:27 +0100 Message-ID: <571F47B7.7050500@arm.com> References: <1461577174-26553-1-git-send-email-Wei.Chen@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461577174-26553-1-git-send-email-Wei.Chen@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Wei Chen , xen-devel@lists.xen.org Cc: sstabellini@kernel.org, suravee.suthikulpanit@amd.com, steve.capper@arm.com List-Id: xen-devel@lists.xenproject.org SGVsbG8gV2VpLAoKT24gMjUvMDQvMjAxNiAxMDozOSwgV2VpIENoZW4gd3JvdGU6Cj4gVGhpcyBw YXRjaCBhZGRzIHYybSBleHRlbnNpb24gc3VwcG9ydCBpbiBHSUMtdjIgZHJpdmVyLiBUaGUgR0lD djIgZHJpdmVyCj4gZGV0ZWN0cyB0aGUgTVNJIGZyYW1lcyBmcm9tIGRldmljZSB0cmVlIGFuZCBj cmVhdGVzIGNvcnJlc3BvbmRpbmcgZGV2aWNlCj4gdHJlZSBub2RlcyBpbiBEb21haW4wJ3MgRFRC LiBJdCBhbHNvIHByb3ZpZGVzIG9uZSBod19vcHMgY2FsbGJhY2sgdG8gbWFwCgpOSVQ6IHMvRG9t YWluMC9kb20wLwoKPiB2Mm0gTU1JTyByZWdpb25zIHRvIGRvbWFpbjAgYW5kIHJvdXRlIHYybSBT UElzIHRvIGRvbWFpbjAuCgpEaXR0by4KCj4KPiBXaXRoIHRoaXMgR0lDdjJtIGV4dGVuc2lvbiBz dXBwb3J0LCB0aGUgZG9tYWluMCBrZXJuZWwgY2FuIGRvIEdJQ3YybQoKRGl0dG8KCj4gZnJhbWUg c2V0dXAgYW5kIGluaXRpYWxpemF0aW9uLgo+Cj4gVGhpcyBwYXRjaCBpcyBiYXNlZCBvbiB0aGUg R0lDdjJtIHBhdGNoIG9mIFN1cmF2ZWUgU3V0aGlrdWxwYW5pdDoKPiBbUEFUQ0ggMi8yXSB4ZW4v YXJtOiBnaWN2MjogQWRkaW5nIHN1cHBvcnQgZm9yIEdJQ3YybSBpbiBEb20wCj4gaHR0cDovL2xp c3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNS0wNC9tc2cwMjYxMy5odG1s Cj4KPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8V2VpLkNoZW5AbGluYXJvLm9yZz4KClsuLi5d Cgo+ICtzdGF0aWMgaW50IGdpY3YyX21hcF9od2Rvd25fZXh0cmFfbWFwcGluZ3Moc3RydWN0IGRv bWFpbiAqZCkKPiArewo+ICsgICAgY29uc3Qgc3RydWN0IHYybV9kYXRhICp2Mm1fZGF0YTsKPiAr Cj4gKyAgICAvKiBGb3IgdGhlIG1vbWVudCwgd2UnbGwgYXNzaWduIGFsbCB2Mm0gZnJhbWVzIHRv IHRoZSBoYXJkd2FyZSBkb21haW4uICovCj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KCB2Mm1f ZGF0YSwgJmdpY3YybV9pbmZvLCBlbnRyeSApCj4gKyAgICB7Cj4gKyAgICAgICAgaW50IHJldDsK PiArICAgICAgICB1MzIgc3BpOwo+ICsKPiArICAgICAgICBwcmludGsoIkdJQ3YyOiBNYXBwaW5n IHYybSBmcmFtZSB0byBkJWQ6IGFkZHI9MHglbHggc2l6ZT0weCVseCBzcGlfYmFzZT0ldSBudW1f c3Bpcz0ldVxuIiwKPiArICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCB2Mm1fZGF0YS0+YWRk ciwgdjJtX2RhdGEtPnNpemUsCj4gKyAgICAgICAgICAgICAgIHYybV9kYXRhLT5zcGlfc3RhcnQs IHYybV9kYXRhLT5ucl9zcGlzKTsKPiArCj4gKyAgICAgICAgcmV0ID0gbWFwX21taW9fcmVnaW9u cyhkLCBwYWRkcl90b19wZm4odjJtX2RhdGEtPmFkZHIpLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRElWX1JPVU5EX1VQKHYybV9kYXRhLT5zaXplLCBQQUdFX1NJWkUpLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdG9fcGZuKHYybV9kYXRhLT5hZGRyKSk7Cj4g KyAgICAgICAgaWYgKCByZXQgKQo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgcHJpbnRrKFhF TkxPR19FUlIgIkdJQ3YyOiBNYXAgdjJtIGZyYW1lIHRvIHMlZCBmYWlsZWQuXG4iLAoKcy9zJWQv ZCVkLwoKPiArICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCk7Cj4gKyAgICAgICAgICAg IHJldHVybiByZXQ7Cj4gKyAgICAgICAgfQo+ICsKPiArICAgICAgICAvKgo+ICsgICAgICAgICAq IE1hcCBhbGwgU1BJcyB0aGF0IGFyZSBhbGxvY2F0ZWQgdG8gTVNJcyBmb3IgdGhlIGZyYW1lIHRv IHRoZQo+ICsgICAgICAgICAqIGRvbWFpbi4KPiArICAgICAgICAgKi8KPiArICAgICAgICBmb3Ig KCBzcGkgPSB2Mm1fZGF0YS0+c3BpX3N0YXJ0Owo+ICsgICAgICAgICAgICAgIHNwaSA8ICh2Mm1f ZGF0YS0+c3BpX3N0YXJ0ICsgdjJtX2RhdGEtPm5yX3NwaXMpOyBzcGkrKyApCj4gKyAgICAgICAg ewo+ICsgICAgICAgICAgICAvKgo+ICsgICAgICAgICAgICAgKiBNU0lzIGFyZSBhbHdheXMgZWRn ZS10cmlnZ2VyZWQuIENvbmZpZ3VyZSB0aGUgYXNzb2NpYXRlZCBTUElzCj4gKyAgICAgICAgICAg ICAqIHRvIGJlIGVkZ2UtcmlzaW5nLgoKSG93IGRpZCB5b3UgZmluZCB0aGF0IFNQSXMgc2hvdWxk IGJlIGNvbmZpZ3VyZWQgZWRnZS1yaXNpbmc/Cgo+ICsgICAgICAgICAgICAgKi8KPiArICAgICAg ICAgICAgcmV0ID0gaXJxX3NldF9zcGlfdHlwZShzcGksIElSUV9UWVBFX0VER0VfUklTSU5HKTsK PiArICAgICAgICAgICAgaWYgKCByZXQgKQo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAg ICAgICBwcmludGsoWEVOTE9HX0VSUgo+ICsgICAgICAgICAgICAgICAgICAgICAgICJHSUN2Mjog RmFpbGVkIHRvIHNldCB2Mm0gTVNJIFNQSVslZF0gdHlwZS5cbiIsIHNwaSk7Cj4gKyAgICAgICAg ICAgICAgICByZXR1cm4gcmV0Owo+ICsgICAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICAv KiBSb3V0ZSBhIFNQSSB0aGF0IGlzIGFsbG9jYXRlZCB0byBNU0kgdG8gdGhlIGRvbWFpbi4gKi8K PiArICAgICAgICAgICAgcmV0ID0gcm91dGVfaXJxX3RvX2d1ZXN0KGQsIHNwaSwgc3BpLCAidjJt Iik7Cj4gKyAgICAgICAgICAgIGlmICggcmV0ICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAg ICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKPiArICAgICAgICAgICAgICAgICAgICAgICAiR0lD djI6IEZhaWxlZCB0byByb3V0ZSB2Mm0gTVNJIFNQSVslZF0gdG8gRG9tJWQuXG4iLAo+ICsgICAg ICAgICAgICAgICAgICAgICAgICBzcGksIGQtPmRvbWFpbl9pZCk7Cj4gKyAgICAgICAgICAgICAg ICByZXR1cm4gcmV0Owo+ICsgICAgICAgICAgICB9Cj4gKwo+ICsgICAgICAgICAgICAvKiBSZXNl cnZlIGEgU1BJIHRoYXQgaXMgYWxsb2NhdGVkIHRvIE1TSSBmb3IgdGhlIGRvbWFpbi4gKi8KPiAr ICAgICAgICAgICAgaWYgKCAhdmdpY19yZXNlcnZlX3ZpcnEoZCwgc3BpKSApCj4gKyAgICAgICAg ICAgIHsKPiArICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIkdJQ3YyOiBGYWlsZWQgdG8gcmVzZXJ2ZSB2Mm0gTVNJIFNQSVslZF0gZm9y IERvbSVkLlxuIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgc3BpLCBkLT5kb21haW5faWQp Owo+ICsgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKyAgICAgICAgICAgIH0KPiAr ICAgICAgICB9Cj4gKyAgICB9Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qCj4g KyAqIFNldCB1cCBnaWMgdjJtIERUIHN1Yi1ub2RlLgo+ICsgKiBQbGVhc2UgcmVmZXIgdG8gdGhl IGJpbmRpbmcgZG9jdW1lbnQ6Cj4gKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlci9hcm0sZ2lj LnR4dAo+ICsgKi8KPiArc3RhdGljIGludCBnaWN2Mm1fbWFrZV9kdF9ub2RlKGNvbnN0IHN0cnVj dCBkb21haW4gKmQsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg ZHRfZGV2aWNlX25vZGUgKmdpYywKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg KmZkdCkKClRoZSBpbmRlbnRhdGlvbiBpcyBzdGlsbCB3cm9uZyBoZXJlLgoKVGhlIHN0YXJ0IG9m IHRoZSBzZWNvbmQgYW5kIHRoaXJkIGxpbmVzIHNob3VsZCBiZSBhbGlnbmVkIHRvICJjb25zdC4u LiIgCm9uIHRoZSBmaXJzdCBsaW5lLiBJLmUKCmZvbyhjb25zdApfX19fY29uc3QKX19fX3ZvaWQK CldoZXJlIF8gaXMgdGhlIGVtcHR5IHNwYWNlLgoKWy4uLl0KCj4gK3N0YXRpYyB2b2lkIGdpY3Yy X2FkZF92Mm1fZnJhbWVfdG9fbGlzdChwYWRkcl90IGFkZHIsIHBhZGRyX3Qgc2l6ZSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBzcGlfc3RhcnQsIHUzMiBu cl9zcGlzLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg c3RydWN0IGR0X2RldmljZV9ub2RlICp2Mm0pCj4gK3sKPiArICAgIHN0cnVjdCB2Mm1fZGF0YSAq djJtX2RhdGE7Cj4gKwo+ICsgICAgdjJtX2RhdGEgPSB4emFsbG9jX2J5dGVzKHNpemVvZihzdHJ1 Y3QgdjJtX2RhdGEpKTsKPiArICAgIGlmICggIXYybV9kYXRhICkKPiArICAgICAgICBwYW5pYygi R0lDdjI6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgZm9yIHYybSBmcmFtZSIpOwo+ICsKPiArICAg IC8qIEluaXRpYWxpemUgYSBuZXcgZW50cnkgdG8gcmVjb3JkIG5ldyBmcmFtZSBpbmZvbWF0aW9u LiAqLwoKcy9pbmZvbWF0aW9uL2luZm9ybWF0aW9uLwoKPiArICAgIElOSVRfTElTVF9IRUFEKCZ2 Mm1fZGF0YS0+ZW50cnkpOwo+ICsgICAgdjJtX2RhdGEtPmFkZHIgPSBhZGRyOwo+ICsgICAgdjJt X2RhdGEtPnNpemUgPSBzaXplOwo+ICsgICAgdjJtX2RhdGEtPnNwaV9zdGFydCA9IHNwaV9zdGFy dDsKPiArICAgIHYybV9kYXRhLT5ucl9zcGlzID0gbnJfc3BpczsKPiArICAgIHYybV9kYXRhLT5k dF9ub2RlID0gdjJtOwo+ICsKPiArICAgIHByaW50aygiR0lDdjJtIGV4dGVuc2lvbiByZWdpc3Rl ciBmcmFtZTpcbiIKPiArICAgICAgICAgICAiICAgICAgICBnaWNfdjJtX2FkZHI9JSJQUklwYWRk ciJcbiIKPiArICAgICAgICAgICAiICAgICAgICBnaWNfdjJtX3NpemU9JSJQUklwYWRkciJcbiIK PiArICAgICAgICAgICAiICAgICAgICBnaWNfdjJtX3NwaV9iYXNlPSV1XG4iCj4gKyAgICAgICAg ICAgIiAgICAgICAgZ2ljX3YybV9udW1fc3Bpcz0ldVxuIiwKPiArICAgICAgICAgICB2Mm1fZGF0 YS0+YWRkciwgdjJtX2RhdGEtPnNpemUsCj4gKyAgICAgICAgICAgdjJtX2RhdGEtPnNwaV9zdGFy dCwgdjJtX2RhdGEtPm5yX3NwaXMpOwo+ICsKPiArICAgIGxpc3RfYWRkX3RhaWwoJnYybV9kYXRh LT5lbnRyeSwgJmdpY3YybV9pbmZvKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZ2ljdjJfZXh0 ZW5zaW9uX2R0X2luaXQoY29uc3Qgc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQo+ICt7Cj4g KyAgICBpbnQgcmVzOwo+ICsgICAgdTMyIHNwaV9zdGFydCwgbnJfc3BpczsKPiArICAgIHBhZGRy X3QgYWRkciwgc2l6ZTsKPiArICAgIGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqdjJtID0g TlVMTDsKPiArCj4gKyAgICAvKgo+ICsgICAgICogQ2hlY2sgd2hldGhlciB0aGlzIEdJQyBpbXBs ZW1lbnRzIHRoZSB2Mm0gZXh0ZW5zaW9uLiBJZiBzbywKPiArICAgICAqIGFkZCB2Mm0gcmVnaXN0 ZXIgZnJhbWVzIHRvIGdpY3YybV9pbmZvLgo+ICsgICAgICovCj4gKyAgICBkdF9mb3JfZWFjaF9j aGlsZF9ub2RlKG5vZGUsIHYybSkKPiArICAgIHsKPiArICAgICAgICBpZiAoICFkdF9kZXZpY2Vf aXNfY29tcGF0aWJsZSh2Mm0sICJhcm0sZ2ljLXYybS1mcmFtZSIpICkKPiArICAgICAgICAgICAg Y29udGludWU7Cj4gKwo+ICsgICAgICAgIC8qCj4gKyAgICAgICAgICogQ2hlY2sgd2hldGhlciBE VCB1c2VzIG1zaS1iYXNlLXNwaSBhbmQgbXNpLW51bS1zcGlzIHByb3BlcnRpZXMgdG8KPiArICAg ICAgICAgKiBvdmVycmlkZSB0aGUgaGFyZHdhcmUgc2V0dGluZy4KPiArICAgICAgICAgKi8KPiAr ICAgICAgICBpZiAoICFkdF9wcm9wZXJ0eV9yZWFkX3UzMih2Mm0sICJhcm0sbXNpLWJhc2Utc3Bp IiwgJnNwaV9zdGFydCkgfHwKPiArICAgICAgICAgICAgICFkdF9wcm9wZXJ0eV9yZWFkX3UzMih2 Mm0sICJhcm0sbXNpLW51bS1zcGlzIiwgJm5yX3NwaXMpICkKPiArICAgICAgICB7Cj4gKyAgICAg ICAgICAgIHUzMiBtc2lfdHlwZXI7Cj4gKyAgICAgICAgICAgIHZvaWQgX19pb21lbSAqYmFzZTsK PiArCj4gKyAgICAgICAgICAgIC8qCj4gKyAgICAgICAgICAgICogRFQgZG9lcyBub3Qgb3ZlcnJp ZGUgdGhlIGhhcmR3YXJlIHNldHRpbmcsIHNvIHdlIGhhdmUgdG8gcmVhZAo+ICsgICAgICAgICAg ICAqIGJhc2Vfc3BpIGFuZCBudW1fc3BpcyBmcm9tIGhhcmR3YXJlIHJlZ2lzdGVycyB0byByZXNl cnZlIGlycXMuCj4gKyAgICAgICAgICAgICovCgpUaGUgaW5kZW50YXRpb24gb2YgdGhlIGNvbW1l bnRzIGlmIHdyb25nLgoKSXQgc2hvdWxkIGJlOgoKLyoKICAqIEZPbwogICogQmFyCiAgKi8KCj4g KyAgICAgICAgICAgIHJlcyA9IGR0X2RldmljZV9nZXRfYWRkcmVzcyh2Mm0sIDAsICZhZGRyLCAm c2l6ZSk7Cj4gKyAgICAgICAgICAgIGlmICggcmVzICkKPiArICAgICAgICAgICAgICAgIHBhbmlj KCJHSUN2MjogQ2Fubm90IGZpbmQgYSB2YWxpZCB2Mm0gZnJhbWUgYWRkcmVzcyIpOwo+ICsKPiAr ICAgICAgICAgICAgYmFzZSA9IGlvcmVtYXBfbm9jYWNoZShhZGRyLCBzaXplKTsKPiArICAgICAg ICAgICAgaWYgKCAhYmFzZSApCj4gKyAgICAgICAgICAgICAgICBwYW5pYygiR0lDdjI6IENhbm5v dCByZW1hcCB2Mm0gcmVnaXN0ZXIgZnJhbWUiKTsKPiArCj4gKyAgICAgICAgICAgIG1zaV90eXBl ciA9IHJlYWRsX3JlbGF4ZWQoYmFzZSArIFYyTV9NU0lfVFlQRVIpOwo+ICsgICAgICAgICAgICBz cGlfc3RhcnQgPSBWMk1fTVNJX1RZUEVSX0JBU0VfU1BJKG1zaV90eXBlcik7Cj4gKyAgICAgICAg ICAgIG5yX3NwaXMgPSBWMk1fTVNJX1RZUEVSX05VTV9TUEkobXNpX3R5cGVyKTsKClRoZSBBQ1BJ IGNvZGUgd2lsbCBsaWtlbHkgbmVlZCB0byByZWFkIHRob3NlIHJlZ2lzdGVycy4gU28gdGhpcyBj b3VsZCBnbyAKaW4gdGhlIG5ldyBmdW5jdGlvbiB5b3UgaGF2ZSBhZGRlZC4KCllvdSBjb3VsZCBw YXNzIHBvaW50ZXJzIHRvIHlvdXIgZnVuY3Rpb24gdG8ga25vdyB3aGV0aGVyIHRoZSB2YWx1ZXMg YXJlIApvdmVycmlkZGVuIGJ5IHRoZSBmaXJtd2FyZS4KCj4gKwo+ICsgICAgICAgICAgICBpb3Vu bWFwKGJhc2UpOwo+ICsgICAgICAgIH0KPiArCj4gKyAgICAgICAgLyogQWRkIHRoaXMgdjJtIGZy YW1lIGluZm9ybWF0aW9uIHRvIGxpc3QuICovCj4gKyAgICAgICAgZ2ljdjJfYWRkX3YybV9mcmFt ZV90b19saXN0KGFkZHIsIHNpemUsIHNwaV9zdGFydCwgbnJfc3BpcywgdjJtKTsKPiArICAgIH0K PiArfQo+ICsKClJlZ2FyZHMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=