From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC v2 3/7] xen/passthrough/arm: Introduce iommu_fwspec Date: Thu, 12 Oct 2017 14:05:58 +0100 Message-ID: References: <1505954230-18892-1-git-send-email-sgoel@codeaurora.org> <1505954230-18892-4-git-send-email-sgoel@codeaurora.org> 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 1e2dBh-0000wk-Em for xen-devel@lists.xenproject.org; Thu, 12 Oct 2017 13:06:09 +0000 Received: by mail-qt0-f169.google.com with SMTP id p1so13450368qtg.2 for ; Thu, 12 Oct 2017 06:06:07 -0700 (PDT) In-Reply-To: <1505954230-18892-4-git-send-email-sgoel@codeaurora.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Sameer Goel , xen-devel@lists.xenproject.org, julien.grall@arm.com, mjaggi@caviumnetworks.com Cc: sstabellini@kernel.org, wei.liu2@citrix.com, george.dunlap@eu.citrix.com, Andrew.Cooper3@citrix.com, jbeulich@suse.com, Ian.Jackson@citrix.com, nd@arm.com, robin.murphy@arm.com, shankerd@codeaurora.org List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAyMS8wOS8xNyAwMTozNywgU2FtZWVyIEdvZWwgd3JvdGU6Cj4gSW50cm9kdWNlIGEg Y29tbW9uIHN0cnVjdHVyZSB0byBob2xkIHRoZSBmdyAoQUNQSSBvciBEVCkgZGVmaW5lZAo+IGNv bmZpZ3VyYXRpb24gZm9yIFNNTVUgaHcuIFRoZSBjdXJyZW50IHVzZSBjYXNlIGlzIGZvciBhcm0g U01NVXMuIFNvLAo+IG1ha2luZyB0aGlzIGFyY2hpdGVjdHVyZSBzcGVjaWZpYy4KPiAKPiBCYXNl ZCBvbiBMaW51eCBrZXJuZWwgY29tbWl0IDU3Zjk4ZDJmNjFlMTogaW9tbXU6IEludHJvZHVjZSBp b21tdV9md3NwZWMKPiBTaWduZWQtb2ZmLWJ5OiBTYW1lZXIgR29lbCA8c2dvZWxAY29kZWF1cm9y YS5vcmc+Cj4gLS0tCj4gICB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYyB8IDY2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIHhlbi9pbmNsdWRlL2Fz bS1hcm0vZGV2aWNlLmggICAgICAgIHwgIDEgKwo+ICAgeGVuL2luY2x1ZGUveGVuL2lvbW11Lmgg ICAgICAgICAgICAgfCAyOSArKysrKysrKysrKysrKysrCj4gICAzIGZpbGVzIGNoYW5nZWQsIDk2 IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YXJtL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYwo+IGluZGV4 IDk1YjFhYmIuLjQxYzY0OTcgMTAwNjQ0Cj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YXJtL2lvbW11LmMKPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYwo+ IEBAIC03MywzICs3Myw2OSBAQCBpbnQgYXJjaF9pb21tdV9wb3B1bGF0ZV9wYWdlX3RhYmxlKHN0 cnVjdCBkb21haW4gKmQpCj4gICAgICAgLyogVGhlIElPTU1VIHNoYXJlcyB0aGUgcDJtIHdpdGgg dGhlIENQVSAqLwo+ICAgICAgIHJldHVybiAtRU5PU1lTOwo+ICAgfQo+ICsKPiArY29uc3Qgc3Ry dWN0IGlvbW11X29wcyAqaW9tbXVfb3BzX2Zyb21fZndub2RlKHN0cnVjdCBmd25vZGVfaGFuZGxl ICpmd25vZGUpCj4gK3sKPiArICAgIHJldHVybiBpb21tdV9nZXRfb3BzKCk7CgpDYW4geW91IHBs ZWFzZSBhZGQgYSBjb21tZW50IGV4cGxhaW4gd2h5IHlvdSBhbHdheXMgcmV0dXJuIGlvbW11X2dl dF9vcHMoKT8KCldvdWxkIGl0IGJlIHBvc3NpYmxlIHRoYXQgdGhlIGRldmljZSBpcyBub3QgYmVo aW5kIGFuIElPTU1VPwoKPiArfQo+ICsKPiAraW50IGlvbW11X2Z3c3BlY19pbml0KHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmlvbW11X2Z3bm9kZSwKPiArICAgICAg ICBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHMpCj4gK3sKPiArICAgIHN0cnVjdCBpb21tdV9m d3NwZWMgKmZ3c3BlYyA9IGRldi0+aW9tbXVfZndzcGVjOwo+ICsKPiArICAgIGlmICggZndzcGVj ICkKPiArICAgICAgICByZXR1cm4gb3BzID09IGZ3c3BlYy0+b3BzID8gMCA6IC1FSU5WQUw7Cj4g Kwo+ICsgICAgZndzcGVjID0gX3h6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpb21tdV9md3NwZWMpLCBz aXplb2Yodm9pZCAqKSk7CgpPbiB0aGUgcHJldmlvdXMgdmVyc2lvbiB0aGlzIHdhcyB4emFsbG9j KHN0cnVjdCBpb21tdV9md3NwZWMpLCB3aHk/CgpJIGFsc28gZG9uJ3QgdW5kZXJzdGFuZCB0aGUg YWxpZ24gb24gc2l6ZW9mKHZvaWQgKikuCgo+ICsgICAgaWYgKCAhZndzcGVjICkKPiArICAgICAg ICByZXR1cm4gLUVOT01FTTsKPiArCj4gKyAgICBmd3NwZWMtPmlvbW11X2Z3bm9kZSA9IGlvbW11 X2Z3bm9kZTsKPiArICAgIGZ3c3BlYy0+b3BzID0gb3BzOwo+ICsgICAgZGV2LT5pb21tdV9md3Nw ZWMgPSBmd3NwZWM7Cj4gKwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiArCj4gK3ZvaWQgaW9tbXVf ZndzcGVjX2ZyZWUoc3RydWN0IGRldmljZSAqZGV2KQo+ICt7Cj4gKyAgICBzdHJ1Y3QgaW9tbXVf ZndzcGVjICpmd3NwZWMgPSBkZXYtPmlvbW11X2Z3c3BlYzsKPiArCj4gKyAgICBpZiAoIGZ3c3Bl YyApCj4gKyAgICB7CgpMaW51eCBpcyBkcm9wcGluZyB0aGUgcmVmZXJlbmNlIG9uIHRoZSBpb21t dV9md25vZGUuIEFyZSB3ZSBuZXZlciAKZXhwZWN0aW5nIHRvIHRha2UgcmVmZXJlbmNlIG9uIHRo ZSBpdCBpbiBYZW4/Cgo+ICsgICAgICAgIHhmcmVlKGZ3c3BlYyk7Cj4gKyAgICAgICAgZGV2LT5p b21tdV9md3NwZWMgPSBOVUxMOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtpbnQgaW9tbXVfZndzcGVj X2FkZF9pZHMoc3RydWN0IGRldmljZSAqZGV2LCB1MzIgKmlkcywgaW50IG51bV9pZHMpCj4gK3sK PiArICAgIHN0cnVjdCBpb21tdV9md3NwZWMgKmZ3c3BlYyA9IGRldi0+aW9tbXVfZndzcGVjOwo+ ICsgICAgc3RydWN0IGlvbW11X2Z3c3BlYyAqZndzcGVjX24gPSBOVUxMOwo+ICsgICAgc2l6ZV90 IHNpemUsIHNpemVfbjsKPiArICAgIGludCBpOwo+ICsKPiArICAgIGlmICggIWZ3c3BlYyApCj4g KyAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsgICAgc2l6ZSA9IG9mZnNldG9mKHN0cnVj dCBpb21tdV9md3NwZWMsIGlkc1tmd3NwZWMtPm51bV9pZHNdKTsKPiArICAgIHNpemVfbiA9IG9m ZnNldG9mKHN0cnVjdCBpb21tdV9md3NwZWMsIGlkc1tmd3NwZWMtPm51bV9pZHMgKyBudW1faWRz XSk7Cj4gKyAgICBpZiAoIHNpemVfbiA+IHNpemUgKQo+ICsgICAgeyA+ICsgICAgICAgIGZ3c3Bl Y19uID0gX3h6YWxsb2Moc2l6ZV9uLCBzaXplb2Yodm9pZCAqKSk7CgpTYW1lIHF1ZXN0aW9uIGFi b3V0IF94emFsbG9jKCkgaGVyZS4KCj4gKyAgICAgICAgaWYgKCAhZndzcGVjX24gKQo+ICsgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsKPiArCj4gKyAgICAgICAgbWVtY3B5KGZ3c3BlY19uLCBm d3NwZWMsIHNpemUpOwo+ICsgICAgICAgIHhmcmVlKGZ3c3BlYyk7Cj4gKyAgICB9Cj4gKwo+ICsg ICAgZm9yIChpID0gMDsgaSA8IG51bV9pZHM7IGkrKykKPiArICAgICAgICBmd3NwZWNfbi0+aWRz W2Z3c3BlY19uLT5udW1faWRzICsgaV0gPSBpZHNbaV07Cj4gKwo+ICsgICAgZndzcGVjX24tPm51 bV9pZHMgKz0gbnVtX2lkczsKPiArICAgIGRldi0+aW9tbXVfZndzcGVjID0gZndzcGVjX247Cj4g Kwo+ICsgICAgcmV0dXJuIDA7Cj4gK30KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFy bS9kZXZpY2UuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZGV2aWNlLmgKPiBpbmRleCA3OGMzOGZl Li41MDI3Yzg3IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZGV2aWNlLmgKPiAr KysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RldmljZS5oCj4gQEAgLTIxLDYgKzIxLDcgQEAgc3Ry dWN0IGRldmljZQo+ICAgICAgIHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqb2Zfbm9kZTsgLyogVXNl ZCBieSBkcml2ZXJzIGltcG9ydGVkIGZyb20gTGludXggKi8KPiAgICNlbmRpZgo+ICAgICAgIHN0 cnVjdCBmd25vZGVfaGFuZGxlICpmd25vZGU7IC8qZncgZGV2aWNlIG5vZGUgaWRlbnRpZmllciAq Lwo+ICsgICAgc3RydWN0IGlvbW11X2Z3c3BlYyAqaW9tbXVfZndzcGVjOwo+ICAgICAgIHN0cnVj dCBkZXZfYXJjaGRhdGEgYXJjaGRhdGE7Cj4gICB9Owo+ICAgCj4gZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKPiBpbmRleCAwZGFj NGYzLi4zNGU4ZDY4IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCj4gKysr IGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKPiBAQCAtMjA4LDQgKzIwOCwzMyBAQCBERUNMQVJF X1BFUl9DUFUoYm9vbF90LCBpb21tdV9kb250X2ZsdXNoX2lvdGxiKTsKPiAgIGV4dGVybiBzdHJ1 Y3Qgc3BpbmxvY2sgaW9tbXVfcHRfY2xlYW51cF9sb2NrOwo+ICAgZXh0ZXJuIHN0cnVjdCBwYWdl X2xpc3RfaGVhZCBpb21tdV9wdF9jbGVhbnVwX2xpc3Q7Cj4gICAKPiArLyoqCj4gKyAqIEZvbGxv d2luZyBibG9jayB3YXMgcG9ydGVkIGZyb20gTGludXggdG8gaGVscCB3aXRoIHRoZSBpbXBsZW1l bnRhdGlvbiBvZgo+ICsgKiBhcm02NCBpb21tdSBkZXZpY2VzLiBIZW5jZSB0aGUgYXJjaGl0ZWN0 dXJlIHNwZWNpZmljIGNvbXBpbGUKPiArICovCj4gKwo+ICsjaWYgZGVmaW5lZChDT05GSUdfQVJN KQoKSWYgaXQgaXMgQXJtIG9ubHksIHRoZW4gaXQgc2hvdWxkIGJlIG1vdmVkIGluIGFzbS1hcm0v aW9tbXUuaC4KCj4gKy8qKgo+ICsgKiBzdHJ1Y3QgaW9tbXVfZndzcGVjIC0gcGVyLWRldmljZSBJ T01NVSBpbnN0YW5jZSBkYXRhCj4gKyAqIEBvcHM6IG9wcyBmb3IgdGhpcyBkZXZpY2UncyBJT01N VQo+ICsgKiBAaW9tbXVfZndub2RlOiBmaXJtd2FyZSBoYW5kbGUgZm9yIHRoaXMgZGV2aWNlJ3Mg SU9NTVUKPiArICogQGlvbW11X3ByaXY6IElPTU1VIGRyaXZlciBwcml2YXRlIGRhdGEgZm9yIHRo aXMgZGV2aWNlCj4gKyAqIEBudW1faWRzOiBudW1iZXIgb2YgYXNzb2NpYXRlZCBkZXZpY2UgSURz Cj4gKyAqIEBpZHM6IElEcyB3aGljaCB0aGlzIGRldmljZSBtYXkgcHJlc2VudCB0byB0aGUgSU9N TVUKPiArICovCj4gK3N0cnVjdCBpb21tdV9md3NwZWMgewo+ICsgICAgY29uc3Qgc3RydWN0IGlv bW11X29wcyAqb3BzOwo+ICsgICAgc3RydWN0IGZ3bm9kZV9oYW5kbGUgICAqaW9tbXVfZndub2Rl Owo+ICsgICAgdm9pZCAgICAgICAgICAgICAgICAgICAqaW9tbXVfcHJpdjsKPiArICAgIHVuc2ln bmVkIGludCAgICAgICAgICAgbnVtX2lkczsKPiArICAgIHUzMiAgICAgICAgICAgICAgICAgICAg aWRzWzFdOwo+ICt9Owo+ICsKPiAraW50IGlvbW11X2Z3c3BlY19pbml0KHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGZ3bm9kZV9oYW5kbGUgKmlvbW11X2Z3bm9kZSwKPiArCQkgICAgICBjb25z dCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHMpOwo+ICt2b2lkIGlvbW11X2Z3c3BlY19mcmVlKHN0cnVj dCBkZXZpY2UgKmRldik7Cj4gK2ludCBpb21tdV9md3NwZWNfYWRkX2lkcyhzdHJ1Y3QgZGV2aWNl ICpkZXYsIHUzMiAqaWRzLCBpbnQgbnVtX2lkcyk7Cj4gK2NvbnN0IHN0cnVjdCBpb21tdV9vcHMg KmlvbW11X29wc19mcm9tX2Z3bm9kZShzdHJ1Y3QgZndub2RlX2hhbmRsZSAqZndub2RlKTsKPiAr Cj4gKyNlbmRpZgo+ICAgI2VuZGlmIC8qIF9JT01NVV9IXyAqLwo+IAoKQ2hlZXJzLAoKLS0gCkp1 bGllbiBHcmFsbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==