From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC PATCH 13/24] ARM: vITS: handle CLEAR command Date: Fri, 4 Nov 2016 15:48:25 +0000 Message-ID: References: <20160928182457.12433-1-andre.przywara@arm.com> <20160928182457.12433-14-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 1c2gjG-00089I-BY for xen-devel@lists.xenproject.org; Fri, 04 Nov 2016 15:48:30 +0000 In-Reply-To: <20160928182457.12433-14-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 Cc: xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org SGkgQW5kcmUsCgpPbiAyOC8wOS8xNiAxOToyNCwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gVGhp cyBpbnRyb2R1Y2VzIHRoZSBJVFMgY29tbWFuZCBoYW5kbGVyIGZvciB0aGUgQ0xFQVIgY29tbWFu ZCwgd2hpY2gKPiBjbGVhcnMgdGhlIHBlbmRpbmcgc3RhdGUgb2YgYW4gTFBJLgo+IFRoaXMgcmVt b3ZlcyBhIG5vdC15ZXQgaW5qZWN0ZWQsIGJ1dCBhbHJlYWR5IHF1ZXVlZCBJUlEgZnJvbSBhIFZD UFUuCj4KPiBJbiBhZGRpdGlvbiB0aGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGxvb2t1cCBmdW5j dGlvbiB3aGljaCB0cmFuc2xhdGVzCj4gYSBnaXZlbiBEZXZpY2VJRC9FdmVudElEIHBhaXIgaW50 byBhIHBvaW50ZXIgdG8gb3VyIHZJVFRFIHN0cnVjdHVyZS4KPgo+IFNpZ25lZC1vZmYtYnk6IEFu ZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+IC0tLQo+ICB4ZW4vYXJjaC9h cm0vdmdpYy1pdHMuYyB8IDExNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDExNSBpbnNlcnRpb25zKCspCj4KPiBkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy1pdHMu Ywo+IGluZGV4IDg3NWI5OTIuLjk5ZDllOWMgMTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gvYXJtL3Zn aWMtaXRzLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vdmdpYy1pdHMuYwo+IEBAIC02MSw2ICs2MSw3 MyBAQCBzdHJ1Y3Qgdml0c19pdHRlCj4gICAgICB1aW50NjRfdCBjb2xsZWN0aW9uOjE2Owo+ICB9 Owo+Cj4gKyNkZWZpbmUgVU5NQVBQRURfQ09MTEVDVElPTiAgICAgICgodWludDE2X3QpfjApCj4g Kwo+ICsvKiBNdXN0IGJlIGNhbGxlZCB3aXRoIHRoZSBJVFMgbG9jayBoZWxkLiAqLwoKVGhpcyBj b21tZW50IGlzIGEgY2FsbCB0byBoYXZlIGFuIEFTU0VSVCBpbiB0aGUgZnVuY3Rpb24uCgo+ICtz dGF0aWMgc3RydWN0IHZjcHUgKmdldF92Y3B1X2Zyb21fY29sbGVjdGlvbihzdHJ1Y3QgdmlydF9p dHMgKml0cywgaW50IGNvbGxpZCkKClBsZWFzZSB1c2UgdW5zaWduZWQgaW50LgoKPiArewo+ICsg ICAgdWludDE2X3QgdmNwdV9pZDsKPiArCj4gKyAgICBpZiAoIGNvbGxpZCA+PSBpdHMtPm1heF9j b2xsZWN0aW9ucyApCj4gKyAgICAgICAgcmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAgdmNwdV9pZCA9 IGl0cy0+Y29sbF90YWJsZVtjb2xsaWRdOwo+ICsgICAgaWYgKCB2Y3B1X2lkID09IFVOTUFQUEVE X0NPTExFQ1RJT04gfHwgdmNwdV9pZCA+PSBpdHMtPmQtPm1heF92Y3B1cyApCj4gKyAgICAgICAg cmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAgcmV0dXJuIGl0cy0+ZC0+dmNwdVt2Y3B1X2lkXTsKPiAr fQo+ICsKPiArI2RlZmluZSBERVZfVEFCTEVfSVRUX0FERFIoeCkgKCh4KSAmIEdFTk1BU0soNTEs IDgpKQo+ICsjZGVmaW5lIERFVl9UQUJMRV9JVFRfU0laRSh4KSAoQklUKCgoeCkgJiBHRU5NQVNL KDcsIDApKSArIDEpKQoKVGhlIGxheW91dCBvZiBkZXZfdGFibGVbLi4uXSByZWFsbHkgbmVlZHMg dG8gYmUgZXhwbGFpbmVkLiBJdCB0b29rIG1lIApxdWl0ZSBhIHdoaWxlIHRvIHVuZGVyc3RhbmQg aG93IGl0IHdvcmtzLiBGb3IgaW5zdGFuY2Ugd2h5IHlvdSBza2lwIHRoZSAKZmlyc3QgOCBiaXRz IGZvciB0aGUgYWRkcmVzcy4uLgoKPiArI2RlZmluZSBERVZfVEFCTEVfRU5UUlkoYWRkciwgYml0 cykgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgKCgoYWRkcikgJiBHRU5NQVNLKDUx LCA4KSkgfCAoKChiaXRzKSAtIDEpICYgR0VOTUFTSyg3LCAwKSkpCj4gKwo+ICtzdGF0aWMgcGFk ZHJfdCBnZXRfaXR0ZV9hZGRyZXNzKHN0cnVjdCB2aXJ0X2l0cyAqaXRzLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmlkKQo+ICt7 Cj4gKyAgICBwYWRkcl90IGFkZHI7Cj4gKwo+ICsgICAgaWYgKCBkZXZpZCA+PSBpdHMtPm1heF9k ZXZpY2VzICkKPiArICAgICAgICByZXR1cm4gfjA7CgpQbGVhc2UgdXNlIElOVkFMSURfUEFERFIg aGVyZS4KCj4gKwo+ICsgICAgaWYgKCBldmlkID49IERFVl9UQUJMRV9JVFRfU0laRShpdHMtPmRl dl90YWJsZVtkZXZpZF0pICkKPiArICAgICAgICByZXR1cm4gfjA7CgpEaXR0by4KCj4gKwo+ICsg ICAgYWRkciA9IERFVl9UQUJMRV9JVFRfQUREUihpdHMtPmRldl90YWJsZVtkZXZpZF0pOwo+ICsK PiArICAgIHJldHVybiBhZGRyICsgZXZpZCAqIHNpemVvZihzdHJ1Y3Qgdml0c19pdHRlKTsKPiAr fQo+ICsKPiArLyogTG9va3MgdXAgYSBnaXZlbiBkZXZpY2VJRC9ldmVudElEIHBhaXIgb24gYW4g SVRTIGFuZCByZXR1cm5zIGEgcG9pbnRlciB0bwoKQ29kaW5nIHN0eWxlOgoKLyoKICAqIEZvbwoK PiArICogdGhlIGNvcnJlc3BvbmRpbmcgSVRURS4gVGhpcyBtYXBzIHRoZSByZXNwZWN0aXZlIGd1 ZXN0IHBhZ2UgaW50byBYZW4uCj4gKyAqIE9uY2UgZmluaXNoZWQgd2l0aCBoYW5kbGluZyB0aGUg SVRURSwgY2FsbCBwdXRfZGV2aWRfZXZpZCgpIHRvIHVubWFwCj4gKyAqIHRoZSBwYWdlIGFnYWlu Lgo+ICsgKiBNdXN0IGJlIGNhbGxlZCB3aXRoIHRoZSBJVFMgbG9jayBoZWxkLgoKVGhpcyBpcyBh IGNhbGwgZm9yIGFuIEFTU0VSVCBpbiB0aGUgY29kZS4KCj4gKyAqLwo+ICtzdGF0aWMgc3RydWN0 IHZpdHNfaXR0ZSAqZ2V0X2RldmlkX2V2aWQoc3RydWN0IHZpcnRfaXRzICppdHMsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCwgdWludDMy X3QgZXZpZCkKClRoZSBuYW1pbmcgb2YgdGhlIGZ1bmN0aW9uIGlzIGNvbmZ1c2luZy4gSXQgZG9l c24ndCBsb29rIHVwIGEgZGV2aWNlIApJRC9ldmVudCBJRCBidXQgYW4gSUlULiBTbyBJIHdvdWxk IHJlbmFtZSBpdCB0byBmaW5kX2l0dGUuCgo+ICt7Cj4gKyAgICBwYWRkcl90IGFkZHIgPSBnZXRf aXR0ZV9hZGRyZXNzKGl0cywgZGV2aWQsIGV2aWQpOwo+ICsgICAgc3RydWN0IHZpdHNfaXR0ZSAq aXR0ZTsKPiArCj4gKyAgICBpZiAoYWRkciA9PSB+MCkKCkNvZGluZyBzdHlsZTogaWYgKCAuLi4g KQoKQW5kIHJldHVybiBJTlZBTElEX1BBRERSLgoKPiArICAgICAgICByZXR1cm4gTlVMTDsKPiAr Cj4gKyAgICAvKiBUT0RPOiBjaGVjayBsb2NraW5nIGZvciBtYXBfZ3Vlc3RfcGFnZXMoKSAqLwo+ ICsgICAgaXR0ZSA9IG1hcF9ndWVzdF9wYWdlcyhpdHMtPmQsIGFkZHIgJiBQQUdFX01BU0ssIDEp Owo+ICsgICAgaWYgKCAhaXR0ZSApCj4gKyAgICAgICAgcmV0dXJuIE5VTEw7Cj4gKwo+ICsgICAg cmV0dXJuIGl0dGUgKyAoYWRkciAmIH5QQUdFX01BU0spIC8gc2l6ZW9mKHN0cnVjdCB2aXRzX2l0 dGUpOwo+ICt9Cj4gKwo+ICsvKiBNdXN0IGJlIGNhbGxlZCB3aXRoIHRoZSBJVFMgbG9jayBoZWxk LiAqLwo+ICtzdGF0aWMgdm9pZCBwdXRfZGV2aWRfZXZpZChzdHJ1Y3QgdmlydF9pdHMgKml0cywg c3RydWN0IHZpdHNfaXR0ZSAqaXR0ZSkKPiArewo+ICsgICAgdW5tYXBfZ3Vlc3RfcGFnZXMoaXR0 ZSwgMSk7Cj4gK30KPiArCj4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Kgo+ICAgKiBGdW5jdGlvbnMgdGhhdCBoYW5kbGUgSVRTIGNvbW1hbmRzICoKPiAgICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+IEBAIC04MCw2ICsxNDcsNTEgQEAgc3Rh dGljIHVpbnQ2NF90IGl0c19jbWRfbWFza19maWVsZCh1aW50NjRfdCAqaXRzX2NtZCwKPiAgI2Rl ZmluZSBpdHNfY21kX2dldF90YXJnZXRfYWRkcihjbWQpICAgIGl0c19jbWRfbWFza19maWVsZChj bWQsIDIsIDE2LCAzMikKPiAgI2RlZmluZSBpdHNfY21kX2dldF92YWxpZGJpdChjbWQpICAgICAg IGl0c19jbWRfbWFza19maWVsZChjbWQsIDIsIDYzLCAgMSkKPgo+ICtzdGF0aWMgaW50IGl0c19o YW5kbGVfY2xlYXIoc3RydWN0IHZpcnRfaXRzICppdHMsIHVpbnQ2NF90ICpjbWRwdHIpCj4gK3sK PiArICAgIHVpbnQzMl90IGRldmlkID0gaXRzX2NtZF9nZXRfZGV2aWNlaWQoY21kcHRyKTsKPiAr ICAgIHVpbnQzMl90IGV2ZW50aWQgPSBpdHNfY21kX2dldF9pZChjbWRwdHIpOwo+ICsgICAgc3Ry dWN0IHBlbmRpbmdfaXJxICpwaXJxOwo+ICsgICAgc3RydWN0IHZpdHNfaXR0ZSAqaXR0ZTsKPiAr ICAgIHN0cnVjdCB2Y3B1ICp2Y3B1Owo+ICsgICAgdWludDMyX3QgdmxwaTsKPiArCj4gKyAgICBz cGluX2xvY2soJml0cy0+aXRzX2xvY2spOwo+ICsKPiArICAgIGl0dGUgPSBnZXRfZGV2aWRfZXZp ZChpdHMsIGRldmlkLCBldmVudGlkKTsKPiArICAgIGlmICggIWl0dGUgKQo+ICsgICAgewo+ICsg ICAgICAgIHNwaW5fdW5sb2NrKCZpdHMtPml0c19sb2NrKTsKPiArICAgICAgICByZXR1cm4gLTE7 Cj4gKyAgICB9Cj4gKwo+ICsgICAgdmNwdSA9IGdldF92Y3B1X2Zyb21fY29sbGVjdGlvbihpdHMs IGl0dGUtPmNvbGxlY3Rpb24pOwo+ICsgICAgaWYgKCAhdmNwdSApCj4gKyAgICB7Cj4gKyAgICAg ICAgc3Bpbl91bmxvY2soJml0cy0+aXRzX2xvY2spOwo+ICsgICAgICAgIHJldHVybiAtMTsKPiAr ICAgIH0KPiArCj4gKyAgICB2bHBpID0gaXR0ZS0+dmxwaTsKPiArCj4gKyAgICBwdXRfZGV2aWRf ZXZpZChpdHMsIGl0dGUpOwo+ICsgICAgc3Bpbl91bmxvY2soJml0cy0+aXRzX2xvY2spOwo+ICsK PiArICAgIC8qIFJlbW92ZSBhIHBlbmRpbmcsIGJ1dCBub3QgeWV0IGluamVjdGVkIGd1ZXN0IElS US4gKi8KPiArICAgIHBpcnEgPSBscGlfdG9fcGVuZGluZyh2Y3B1LCB2bHBpLCBmYWxzZSk7Cj4g KyAgICBpZiAoIHBpcnEgKQo+ICsgICAgewo+ICsgICAgICAgIGNsZWFyX2JpdChHSUNfSVJRX0dV RVNUX1FVRVVFRCwgJnBpcnEtPnN0YXR1cyk7Cj4gKyAgICAgICAgZ2ljX3JlbW92ZV9mcm9tX3F1 ZXVlcyh2Y3B1LCB2bHBpKTsKPiArCj4gKyAgICAgICAgLyogTWFyayB0aGlzIHBlbmRpbmcgSVJR IHN0cnVjdCBhcyBhdmFpbGFiZSBhZ2Fpbi4gKi8KCk5JVDogcy9hdmFpbGFiZS9hdmFpbGFibGUv Cgo+ICsgICAgICAgIGlmICggIXRlc3RfYml0KEdJQ19JUlFfR1VFU1RfVklTSUJMRSwgJnBpcnEt PnN0YXR1cykgKQo+ICsgICAgICAgICAgICBwaXJxLT5pcnEgPSAwOwoKVGhpcyBjb2RlIHNob3Vs ZCBiZSBpbiBhIHNlcGFyYXRlIGhlbHBlci4gSXQgd2lsbCBiZSBoZWxwZnVsIHRvIG1ha2UgdGhl IApzdHJ1Y3R1cmUgYXZhaWxhYmxlIGFnYWluIGVhc2lseSB3aXRob3V0IG9wZW4gY29kaW5nIGl0 LgoKPiArICAgIH0KPiArCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAgI2RlZmluZSBJVFNf Q01EX0JVRkZFUl9TSVpFKGJhc2VyKSAgICAgICgoKChiYXNlcikgJiAweGZmKSArIDEpIDw8IDEy KQo+Cj4gIHN0YXRpYyBpbnQgdmdpY19pdHNfaGFuZGxlX2NtZHMoc3RydWN0IGRvbWFpbiAqZCwg c3RydWN0IHZpcnRfaXRzICppdHMsCj4gQEAgLTEwMCw2ICsyMTIsOSBAQCBzdGF0aWMgaW50IHZn aWNfaXRzX2hhbmRsZV9jbWRzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2aXJ0X2l0cyAqaXRz LAo+ICAgICAgICAgIGNtZHB0ciA9IGl0cy0+Y21kYnVmICsgKGl0cy0+Y3JlYWRyIC8gc2l6ZW9m KCppdHMtPmNtZGJ1ZikpOwo+ICAgICAgICAgIHN3aXRjaCAoaXRzX2NtZF9nZXRfY29tbWFuZChj bWRwdHIpKQo+ICAgICAgICAgIHsKPiArICAgICAgICBjYXNlIEdJVFNfQ01EX0NMRUFSOgo+ICsg ICAgICAgICAgICBpdHNfaGFuZGxlX2NsZWFyKGl0cywgY21kcHRyKTsKClNob3VsZCBub3QgeW91 IGNoZWNrIHRoZSByZXR1cm4gZm9yIGl0c19oYW5kbGVfY2xlYXI/Cgo+ICsgICAgICAgICAgICBi cmVhazsKPiAgICAgICAgICBjYXNlIEdJVFNfQ01EX1NZTkM6Cj4gICAgICAgICAgICAgIC8qIFdl IGhhbmRsZSBJVFMgY29tbWFuZHMgc3luY2hyb25vdXNseSwgc28gd2UgaWdub3JlIFNZTkMuICov Cj4gIAkgICAgYnJlYWs7Cj4KClJlZ2FyZHMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK