From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A4561C04AA7 for ; Mon, 13 May 2019 14:01:15 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id 2FE2F208CA for ; Mon, 13 May 2019 14:01:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2FE2F208CA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvmarm-bounces@lists.cs.columbia.edu Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id AC8EC4A4EA; Mon, 13 May 2019 10:01:14 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 76DjaU0ywRuX; Mon, 13 May 2019 10:01:09 -0400 (EDT) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 4EDCA4A4E6; Mon, 13 May 2019 10:01:09 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id E38584A4D4 for ; Mon, 13 May 2019 10:01:07 -0400 (EDT) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8SJmVVc0NXFo for ; Mon, 13 May 2019 10:01:06 -0400 (EDT) Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 4B78D4A47E for ; Mon, 13 May 2019 10:01:06 -0400 (EDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B729380D; Mon, 13 May 2019 07:01:05 -0700 (PDT) Received: from [10.1.196.75] (e110467-lin.cambridge.arm.com [10.1.196.75]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E0C743F71E; Mon, 13 May 2019 07:01:02 -0700 (PDT) Subject: Re: [PATCH v7 14/23] iommu/smmuv3: Implement cache_invalidate To: Auger Eric , eric.auger.pro@gmail.com, iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, joro@8bytes.org, alex.williamson@redhat.com, jacob.jun.pan@linux.intel.com, yi.l.liu@intel.com, jean-philippe.brucker@arm.com, will.deacon@arm.com References: <20190408121911.24103-1-eric.auger@redhat.com> <20190408121911.24103-15-eric.auger@redhat.com> From: Robin Murphy Message-ID: Date: Mon, 13 May 2019 15:01:01 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB Cc: kevin.tian@intel.com, vincent.stehle@arm.com, ashok.raj@intel.com, marc.zyngier@arm.com X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gMTMvMDUvMjAxOSAxMzoxNiwgQXVnZXIgRXJpYyB3cm90ZToKPiBIaSBSb2JpbiwKPiBPbiA1 LzgvMTkgNTowMSBQTSwgUm9iaW4gTXVycGh5IHdyb3RlOgo+PiBPbiAwOC8wNC8yMDE5IDEzOjE5 LCBFcmljIEF1Z2VyIHdyb3RlOgo+Pj4gSW1wbGVtZW50IGRvbWFpbi1zZWxlY3RpdmUgYW5kIHBh Z2Utc2VsZWN0aXZlIElPVExCIGludmFsaWRhdGlvbnMuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTog RXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgo+Pj4KPj4+IC0tLQo+Pj4gdjYgLT4g djcKPj4+IC0gY2hlY2sgdGhlIHVhcGkgdmVyc2lvbgo+Pj4KPj4+IHYzIC0+IHY0Ogo+Pj4gLSBh ZGFwdCB0byBjaGFuZ2VzIGluIHRoZSB1YXBpCj4+PiAtIGFkZCBzdXBwb3J0IGZvciBsZWFmIHBh cmFtZXRlcgo+Pj4gLSBkbyBub3QgdXNlIGFybV9zbW11X3RsYl9pbnZfcmFuZ2Vfbm9zeW5jIG9y IGFybV9zbW11X3RsYl9pbnZfY29udGV4dAo+Pj4gIMKgwqAgYW55bW9yZQo+Pj4KPj4+IHYyIC0+ IHYzOgo+Pj4gLSByZXBsYWNlIF9fYXJtX3NtbXVfdGxiX3N5bmMgYnkgYXJtX3NtbXVfY21kcV9p c3N1ZV9zeW5jCj4+Pgo+Pj4gdjEgLT4gdjI6Cj4+PiAtIHByb3Blcmx5IHBhc3MgdGhlIGFzaWQK Pj4+IC0tLQo+Pj4gIMKgIGRyaXZlcnMvaW9tbXUvYXJtLXNtbXUtdjMuYyB8IDYwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICDCoCAxIGZpbGUgY2hhbmdlZCwgNjAg aW5zZXJ0aW9ucygrKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L2FybS1zbW11 LXYzLmMgYi9kcml2ZXJzL2lvbW11L2FybS1zbW11LXYzLmMKPj4+IGluZGV4IDE0ODZiYWY1MzQy NS4uNDM2NjkyMWQ4MzE4IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9pb21tdS9hcm0tc21tdS12 My5jCj4+PiArKysgYi9kcml2ZXJzL2lvbW11L2FybS1zbW11LXYzLmMKPj4+IEBAIC0yMzI2LDYg KzIzMjYsNjUgQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVfZGV0YWNoX3Bhc2lkX3RhYmxlKHN0cnVj dAo+Pj4gaW9tbXVfZG9tYWluICpkb21haW4pCj4+PiAgwqDCoMKgwqDCoCBtdXRleF91bmxvY2so JnNtbXVfZG9tYWluLT5pbml0X211dGV4KTsKPj4+ICDCoCB9Cj4+PiAgwqAgK3N0YXRpYyBpbnQK Pj4+ICthcm1fc21tdV9jYWNoZV9pbnZhbGlkYXRlKHN0cnVjdCBpb21tdV9kb21haW4gKmRvbWFp biwgc3RydWN0IGRldmljZQo+Pj4gKmRldiwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgaW9tbXVfY2FjaGVfaW52YWxpZGF0ZV9pbmZvICppbnZfaW5mbykKPj4+ICt7Cj4+ PiArwqDCoMKgIHN0cnVjdCBhcm1fc21tdV9kb21haW4gKnNtbXVfZG9tYWluID0gdG9fc21tdV9k b21haW4oZG9tYWluKTsKPj4+ICvCoMKgwqAgc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSA9 IHNtbXVfZG9tYWluLT5zbW11Owo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAoc21tdV9kb21haW4tPnN0 YWdlICE9IEFSTV9TTU1VX0RPTUFJTl9ORVNURUQpCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJu IC1FSU5WQUw7Cj4+PiArCj4+PiArwqDCoMKgIGlmICghc21tdSkKPj4+ICvCoMKgwqDCoMKgwqDC oCByZXR1cm4gLUVJTlZBTDsKPj4+ICsKPj4+ICvCoMKgwqAgaWYgKGludl9pbmZvLT52ZXJzaW9u ICE9IElPTU1VX0NBQ0hFX0lOVkFMSURBVEVfSU5GT19WRVJTSU9OXzEpCj4+PiArwqDCoMKgwqDC oMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+PiArCj4+PiArwqDCoMKgIGlmIChpbnZfaW5mby0+Y2Fj aGUgJiBJT01NVV9DQUNIRV9JTlZfVFlQRV9JT1RMQikgewo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlm IChpbnZfaW5mby0+Z3JhbnVsYXJpdHkgPT0gSU9NTVVfSU5WX0dSQU5VX1BBU0lEKSB7Cj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYXJtX3NtbXVfY21kcV9lbnQgY21kID0gewo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAub3Bjb2RlID0gQ01EUV9PUF9UTEJJ X05IX0FTSUQsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC50bGJpID0gewo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC52bWlkID0gc21tdV9k b21haW4tPnMyX2NmZy52bWlkLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIC5hc2lkID0gaW52X2luZm8tPnBhc2lkLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9LAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTsKPj4+ICsKPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFybV9zbW11X2NtZHFfaXNzdWVfY21kKHNtbXUsICZjbWQp Owo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXJtX3NtbXVfY21kcV9pc3N1ZV9zeW5jKHNt bXUpOwo+Pgo+PiBJJ2QgbXVjaCByYXRoZXIgbWFrZSBhcm1fc21tdV90bGJfaW52X2NvbnRleHQo KSB1bmRlcnN0YW5kIG5lc3RlZAo+PiBkb21haW5zIHRoYW4gb3Blbi1jb2RlIGNvbW1hbmRzIGFs bCBvdmVyIHRoZSBwbGFjZS4KPiAKPiAKPj4KPj4+ICsKPj4+ICvCoMKgwqDCoMKgwqDCoCB9IGVs c2UgaWYgKGludl9pbmZvLT5ncmFudWxhcml0eSA9PSBJT01NVV9JTlZfR1JBTlVfQUREUikgewo+ Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGlvbW11X2ludl9hZGRyX2luZm8gKmlu Zm8gPSAmaW52X2luZm8tPmFkZHJfaW5mbzsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNp emVfdCBzaXplID0gaW5mby0+bmJfZ3JhbnVsZXMgKiBpbmZvLT5ncmFudWxlX3NpemU7Cj4+PiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBib29sIGxlYWYgPSBpbmZvLT5mbGFncyAmIElPTU1VX0lO Vl9BRERSX0ZMQUdTX0xFQUY7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYXJt X3NtbXVfY21kcV9lbnQgY21kID0gewo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAub3Bjb2RlID0gQ01EUV9PUF9UTEJJX05IX1ZBLAo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAudGxiaSA9IHsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAuYWRkciA9IGluZm8tPmFkZHIsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgLnZtaWQgPSBzbW11X2RvbWFpbi0+czJfY2ZnLnZtaWQsCj4+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmFzaWQgPSBpbmZvLT5wYXNpZCwK Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAubGVhZiA9IGxlYWYs Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0sCj4+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB9Owo+Pj4gKwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG8gewo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcm1fc21tdV9jbWRxX2lzc3VlX2NtZChz bW11LCAmY21kKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY21kLnRsYmku YWRkciArPSBpbmZvLT5ncmFudWxlX3NpemU7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9 IHdoaWxlIChzaXplIC09IGluZm8tPmdyYW51bGVfc2l6ZSk7Cj4+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBhcm1fc21tdV9jbWRxX2lzc3VlX3N5bmMoc21tdSk7Cj4+Cj4+IEFuIHRoaXMgaW4g cGFydGljdWxhciBJIHdvdWxkIHJlYWxseSBsaWtlIHRvIGdvIGFsbCB0aGUgd2F5IHRocm91Z2gK Pj4gaW9fcGd0YWJsZV90bGJfYWRkX2ZsdXNoKCkvaW9fcGd0YWJsZV9zeW5jKCkgaWYgYXQgYWxs IHBvc3NpYmxlLiBIb29raW5nCj4+IHVwIHJhbmdlLWJhc2VkIGludmFsaWRhdGlvbnMgaXMgZ29p bmcgdG8gYmUgYSBtYXNzaXZlIGhlYWRhY2hlIGlmIHRoZQo+PiBhYnN0cmFjdGlvbiBpc24ndCBz b2xpZC4KPiAKPiBUaGUgY29uY2VybiBpcyB0aGUgaG9zdCBkb2VzIG5vdCAib3duIiB0aGUgczEg Y29uZmlnIGFzaWQKPiAoc21tdV9kb21haW4tPnMxX2NmZy5jZC5hc2lkIGlzIG5vdCBzZXQsIHBy YWN0aWNhbGx5KS4gSW4gb3VyIGNhc2UgdGhlCj4gYXNpZCBvbmx5IGlzIHBhc3NlZCBieSB0aGUg dXNlcnNwYWNlIG9uIENBQ0hFX0lOVkFMSURBVEUgaW9jdGwgY2FsbC4KPiAKPiBhcm1fc21tdV90 bGJfaW52X2NvbnRleHQgYW5kIGFybV9zbW11X3RsYl9pbnZfcmFuZ2Vfbm9zeW5jIHVzZSB0aGlz IGZpZWxkCgpSaWdodCwgYnV0IHRoYXQncyBub3QgZXhhY3RseSBoYXJkIHRvIHNvbHZlLiBFdmVu IGp1c3Qgc29tZXRoaW5nIGxpa2UgCnRoZSAodW50ZXN0ZWQsIHB1cmVseSBpbGx1c3RyYXRpdmUp IHJlZmFjdG9yaW5nIGJlbG93IHdvdWxkIGJlIGJlbmVmaWNpYWwuCgpSb2Jpbi4KCi0tLS0tPjgt LS0tLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pb21tdS9hcm0tc21tdS12My5jIGIvZHJpdmVycy9p b21tdS9hcm0tc21tdS12My5jCmluZGV4IGQzODgwMDEwYzZjZi4uMzFlZjcwM2NmNjcxIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2lvbW11L2FybS1zbW11LXYzLmMKKysrIGIvZHJpdmVycy9pb21tdS9h cm0tc21tdS12My5jCkBAIC0xNDIzLDExICsxNDIzLDkgQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVf dGxiX2ludl9jb250ZXh0KHZvaWQgKmNvb2tpZSkKICAJYXJtX3NtbXVfY21kcV9pc3N1ZV9zeW5j KHNtbXUpOwogIH0KCi1zdGF0aWMgdm9pZCBhcm1fc21tdV90bGJfaW52X3JhbmdlX25vc3luYyh1 bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplLAotCQkJCQkgIHNpemVfdCBncmFudWxlLCBi b29sIGxlYWYsIHZvaWQgKmNvb2tpZSkKK3N0YXRpYyB2b2lkIF9fYXJtX3NtbXVfdGxiX2ludl9y YW5nZShzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluIAoqc21tdV9kb21haW4sIHUxNiBhc2lkLAorCQl1 bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplLCBzaXplX3QgZ3JhbnVsZSwgYm9vbCBsZWFm KQogIHsKLQlzdHJ1Y3QgYXJtX3NtbXVfZG9tYWluICpzbW11X2RvbWFpbiA9IGNvb2tpZTsKLQlz dHJ1Y3QgYXJtX3NtbXVfZGV2aWNlICpzbW11ID0gc21tdV9kb21haW4tPnNtbXU7CiAgCXN0cnVj dCBhcm1fc21tdV9jbWRxX2VudCBjbWQgPSB7CiAgCQkudGxiaSA9IHsKICAJCQkubGVhZgk9IGxl YWYsCkBAIC0xNDM3LDE4ICsxNDM1LDI3IEBAIHN0YXRpYyB2b2lkIAphcm1fc21tdV90bGJfaW52 X3JhbmdlX25vc3luYyh1bnNpZ25lZCBsb25nIGlvdmEsIHNpemVfdCBzaXplLAoKICAJaWYgKHNt bXVfZG9tYWluLT5zdGFnZSA9PSBBUk1fU01NVV9ET01BSU5fUzEpIHsKICAJCWNtZC5vcGNvZGUJ PSBDTURRX09QX1RMQklfTkhfVkE7Ci0JCWNtZC50bGJpLmFzaWQJPSBzbW11X2RvbWFpbi0+czFf Y2ZnLmNkLmFzaWQ7CisJCWNtZC50bGJpLmFzaWQJPSBhc2lkOwogIAl9IGVsc2UgewogIAkJY21k Lm9wY29kZQk9IENNRFFfT1BfVExCSV9TMl9JUEE7CiAgCQljbWQudGxiaS52bWlkCT0gc21tdV9k b21haW4tPnMyX2NmZy52bWlkOwogIAl9CgogIAlkbyB7Ci0JCWFybV9zbW11X2NtZHFfaXNzdWVf Y21kKHNtbXUsICZjbWQpOworCQlhcm1fc21tdV9jbWRxX2lzc3VlX2NtZChzbW11X2RvbWFpbi0+ c21tdSwgJmNtZCk7CiAgCQljbWQudGxiaS5hZGRyICs9IGdyYW51bGU7CiAgCX0gd2hpbGUgKHNp emUgLT0gZ3JhbnVsZSk7CiAgfQoKK3N0YXRpYyB2b2lkIGFybV9zbW11X3RsYl9pbnZfcmFuZ2Vf bm9zeW5jKHVuc2lnbmVkIGxvbmcgaW92YSwgc2l6ZV90IHNpemUsCisJCQkJCSAgc2l6ZV90IGdy YW51bGUsIGJvb2wgbGVhZiwgdm9pZCAqY29va2llKQoreworCXN0cnVjdCBhcm1fc21tdV9kb21h aW4gKnNtbXVfZG9tYWluID0gY29va2llOworCisJX19hcm1fc21tdV90bGJfaW52X3JhbmdlKHNt bXVfZG9tYWluLCBzbW11X2RvbWFpbi0+czFfY2ZnLmNkLmFzaWQsIGlvdmEsCisJCQlzaXplLCBn cmFudWxlLCBsZWFmKTsKK30KKwogIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW9tbXVfZ2F0aGVyX29w cyBhcm1fc21tdV9nYXRoZXJfb3BzID0gewogIAkudGxiX2ZsdXNoX2FsbAk9IGFybV9zbW11X3Rs Yl9pbnZfY29udGV4dCwKICAJLnRsYl9hZGRfZmx1c2gJPSBhcm1fc21tdV90bGJfaW52X3Jhbmdl X25vc3luYywKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K a3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8v bGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg==