From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v6 13/14] x86: add iommu_ops to modify and flush IOMMU mappings Date: Wed, 12 Sep 2018 08:02:02 +0000 Message-ID: References: <20180823094711.21376-1-paul.durrant@citrix.com> <20180823094711.21376-14-paul.durrant@citrix.com> <5B98BA5D02000078001E7923@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g007D-0000AX-IN for xen-devel@lists.xenproject.org; Wed, 12 Sep 2018 08:03:11 +0000 In-Reply-To: <5B98BA5D02000078001E7923@prv1-mh.provo.novell.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'Jan Beulich' Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , Andrew Cooper , "Tim (Xen.org)" , George Dunlap , Julien Grall , xen-devel , Ian Jackson List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IEphbiBCZXVsaWNoIFttYWlsdG86 SkJldWxpY2hAc3VzZS5jb21dCj4gU2VudDogMTIgU2VwdGVtYmVyIDIwMTggMDg6MDQKPiBUbzog UGF1bCBEdXJyYW50IDxQYXVsLkR1cnJhbnRAY2l0cml4LmNvbT4KPiBDYzogSnVsaWVuIEdyYWxs IDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT47IEFuZHJldyBDb29wZXIKPiA8QW5kcmV3LkNvb3BlcjNA Y2l0cml4LmNvbT47IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+OyBHZW9yZ2UKPiBEdW5s YXAgPEdlb3JnZS5EdW5sYXBAY2l0cml4LmNvbT47IElhbiBKYWNrc29uIDxJYW4uSmFja3NvbkBj aXRyaXguY29tPjsKPiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ OyB4ZW4tZGV2ZWwgPHhlbi0KPiBkZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZz47IEtvbnJhZCBS emVzenV0ZWsgV2lsawo+IDxrb25yYWQud2lsa0BvcmFjbGUuY29tPjsgVGltIChYZW4ub3JnKSA8 dGltQHhlbi5vcmc+Cj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NiAxMy8xNF0geDg2OiBhZGQgaW9t bXVfb3BzIHRvIG1vZGlmeSBhbmQgZmx1c2gKPiBJT01NVSBtYXBwaW5ncwo+IAo+ID4+PiBPbiAy My4wOC4xOCBhdCAxMTo0NywgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPiB3cm90ZToKPiA+ICtz dGF0aWMgaW50IGlvbW11b3BfbWFwKHN0cnVjdCB4ZW5faW9tbXVfb3BfbWFwICpvcCkKPiA+ICt7 Cj4gPiArICAgIHN0cnVjdCBkb21haW4gKmQsICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKPiA+ ICsgICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaW9tbXUgPSBkb21faW9tbXUoY3VycmQpOwo+ID4g KyAgICBib29sIHJlYWRvbmx5ID0gb3AtPmZsYWdzICYgWEVOX0lPTU1VT1BfbWFwX3JlYWRvbmx5 Owo+ID4gKyAgICBiZm5fdCBiZm4gPSBfYmZuKG9wLT5iZm4pOwo+ID4gKyAgICBzdHJ1Y3QgcGFn ZV9pbmZvICpwYWdlOwo+ID4gKyAgICB1bnNpZ25lZCBpbnQgcHJvdDsKPiA+ICsgICAgaW50IHJj LCBpZ25vcmU7Cj4gPiArCj4gPiArICAgIGlmICggb3AtPnBhZCB8fAo+ID4gKyAgICAgICAgIChv cC0+ZmxhZ3MgJiB+KFhFTl9JT01NVU9QX21hcF9hbGwgfAo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgIFhFTl9JT01NVU9QX21hcF9yZWFkb25seSkpICkKPiA+ICsgICAgICAgIHJldHVybiAt RUlOVkFMOwo+ID4gKwo+ID4gKyAgICBpZiAoICFpb21tdS0+aW9tbXVfb3BfcmFuZ2VzICkKPiA+ ICsgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKPiA+ICsKPiA+ICsgICAgLyogUGVyLWRldmlj ZSBtYXBwaW5nIG5vdCB5ZXQgc3VwcG9ydGVkICovCj4gPiArICAgIGlmICggIShvcC0+ZmxhZ3Mg JiBYRU5fSU9NTVVPUF9tYXBfYWxsKSApCj4gPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiA+ ICsKPiA+ICsgICAgLyogQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVkIEJGTiBmYWxscyBpbiBh IHJlc2VydmVkIHJlZ2lvbiAqLwo+ID4gKyAgICBpZiAoIHJhbmdlc2V0X2NvbnRhaW5zX3Npbmds ZXRvbihpb21tdS0+cmVzZXJ2ZWRfcmFuZ2VzLAo+IGJmbl94KGJmbikpICkKPiA+ICsgICAgICAg IHJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gKyAgICBkID0gcmN1X2xvY2tfZG9tYWluX2J5X2Fu eV9pZChvcC0+ZG9taWQpOwo+ID4gKyAgICBpZiAoICFkICkKPiA+ICsgICAgICAgIHJldHVybiAt RVNSQ0g7Cj4gPiArCj4gPiArICAgIHJjID0gZ2V0X3BhZ2VkX2dmbihkLCBfZ2ZuKG9wLT5nZm4p LCByZWFkb25seSwgTlVMTCwgJnBhZ2UpOwo+ID4gKyAgICBpZiAoIHJjICkKPiA+ICsgICAgICAg IGdvdG8gdW5sb2NrOwo+ID4gKwo+ID4gKyAgICByYyA9IC1FSU5WQUw7Cj4gPiArICAgIGlmICgg IXJlYWRvbmx5ICYmICFnZXRfcGFnZV90eXBlKHBhZ2UsIFBHVF93cml0YWJsZV9wYWdlKSApCj4g PiArICAgIHsKPiA+ICsgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwo+ID4gKyAgICAgICAgZ290byB1 bmxvY2s7Cj4gPiArICAgIH0KPiA+ICsKPiA+ICsgICAgcHJvdCA9IElPTU1VRl9yZWFkYWJsZTsK PiA+ICsgICAgaWYgKCAhcmVhZG9ubHkgKQo+ID4gKyAgICAgICAgcHJvdCB8PSBJT01NVUZfd3Jp dGFibGU7Cj4gPiArCj4gPiArICAgIHJjID0gLUVJTzsKPiA+ICsgICAgaWYgKCBpb21tdV9tYXBf cGFnZShjdXJyZCwgYmZuLCBwYWdlX3RvX21mbihwYWdlKSwgcHJvdCkgKQo+ID4gKyAgICAgICAg Z290byByZWxlYXNlOwo+ID4gKwo+ID4gKyAgICByYyA9IHJhbmdlc2V0X2FkZF9zaW5nbGV0b24o aW9tbXUtPmlvbW11X29wX3JhbmdlcywgYmZuX3goYmZuKSk7Cj4gPiArICAgIGlmICggcmMgKQo+ ID4gKyAgICAgICAgZ290byB1bm1hcDsKPiAKPiBXaGVuIGEgbWFwcGluZyBpcyByZXF1ZXN0ZWQg Zm9yIHRoZSBzYW1lIEJGTiB0aGF0IGEgcHJpb3IgbWFwcGluZwo+IHdhcyBhbHJlYWR5IGVzdGFi bGlzaGVkIGZvciwgdGhlIHBhZ2UgcmVmcyBvZiB0aGF0IHByaW9yIG1hcHBpbmcgZ2V0Cj4gbGVh a2VkIGhlcmUuIEkgZG9uJ3QgdGhpbmsgeW91IHdhbnQgdG8gcmVxdWlyZSBhbiBpbnRlcm1lZGlh dGUgdW5tYXAsCj4gc28gY2hlY2tpbmcgdGhlIHJhbmdlc2V0IGZpcnN0IGlzIG5vdCBhbiBvcHRp b24uIEhlbmNlIEkgdGhpbmsgeW91Cj4gbmVlZCB0byBsb29rIHVwIHRoZSB0cmFuc2xhdGlvbiBh bnl3YXksIHdoaWNoIG1heSBtZWFuIHRoYXQgdGhlCj4gcmFuZ2VzZXQncyB1c2VmdWxuZXNzIGlz IHF1aXRlIGxpbWl0ZWQgKHJlbGV2YW50IHdpdGggdGhlIGFkZGl0aW9uYWwKPiBjb250ZXh0IG9m IG15IHF1ZXN0aW9uIHJlZ2FyZGluZyBpdCBwZXJoYXBzIHJlcXVpcmluZyBhIHByZXR0eSBtdWNo Cj4gdW5ib3VuZGVkIGFtb3VudCBvZiBtZW1vcnkpLgo+IAoKWWVzLCB0aGF0J3MgYSBnb29kIHBv aW50LiBJIGNvdWxkIGRvIGEgbG9va3VwIHRvIGNoZWNrIHdoZXRoZXIgdGhlIEJbRF1GTiBpcyBh bHJlYWR5IHRoZXJlIHRob3VnaC4gQWdyZWVkIHRoYXQgdGhlIG1lbW9yeSBpcyB1bm91bmRlZCB1 bmxlc3MgdGhlIG51bWJlciBvZiByYW5nZXMgaXMgbGltaXRlZCwgd2hpY2ggdGhlcmUgaXMgYWxy ZWFkeSBhIGZhY2lsaXR5IGZvci4gSXQgaXMgbm90IGlkZWFsIHRob3VnaC4KCj4gSW4gb3JkZXIg dG8gYXZvaWQgc2hvb3RpbmcgZG93biBhbGwgcHJlLWV4aXN0aW5nIFJBTSBtYXBwaW5ncyAtIGlz Cj4gdGhlcmUgbm8gd2F5IHRoZSBwYWdlIHRhYmxlIGVudHJpZXMgY291bGQgYmUgbWFya2VkIHRv IGlkZW50aWZ5Cj4gdGhlaXIgb3JpZ2luPwo+IAoKSSBkb24ndCBrbm93IHdoZXRoZXIgdGhhdCBp cyBwb3NzaWJsZTsgSSdsbCBoYXZlIHRvIGZpbmQgc3BlY3MgZm9yIEludGVsIGFuZCBBTUQgSU9N TVVzIGFuZCBzZWUgaWYgdGhleSBoYXZlIFBURSBiaXRzIGF2YWlsYWJsZSBmb3Igc3VjaCBhIHVz ZS4KCj4gSSBhbHNvIGhhdmUgYW5vdGhlciBtb3JlIGdlbmVyYWwgY29uY2VybjogQWxsb3dpbmcg dGhlIGd1ZXN0IHRvCj4gbWFuaXB1bGF0ZSBpdHMgSU9NTVUgcGFnZSB0YWJsZXMgbWVhbnMgdGhh dCBpdCBjYW4gZGVsaWJlcmF0ZWx5Cj4gc2hhdHRlciBsYXJnZSBwYWdlcywgZ3Jvd2luZyB0aGUg b3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50IG9mIHRoZQo+IGRvbWFpbi4gSSdtIGhlc2l0YW50IHRv IHNheSB0aGlzLCBidXQgSSdtIGFmcmFpZCB0aGF0IHJlc291cmNlCj4gdHJhY2tpbmcgb2Ygc3Vj aCAiYmVoaW5kIHRoZSBzY2VuZXMiIGFsbG9jYXRpb25zIG1pZ2h0IGJlIGEKPiBuZWNlc3Nhcnkg cHJlcmVxIGZvciB0aGUgUFYgSU9NTVUgd29yay4KPiAKClJlbWVtYmVyIHRoYXQgUFYtSU9NTVUg aXMgb25seSBhdmFpbGFibGUgZm9yIGRvbTAgYXMgaXQgc3RhbmRzIChhbmQgdGhhdCBpcyB0aGUg b25seSB1c2UtY2FzZSB0aGF0IFhlblNlcnZlciBjdXJyZW50bHkgaGFzKSBzbyBJIHRoaW5rIHRo YXQsIHdoaWxzdCB0aGUgY29uY2VybiBpcyB2YWxpZCwgdGhlcmUgaXMgbm8gbmVlZCBkYW5nZXIg aW4gcHV0dGluZyB0aGUgY29kZSB3aXRob3V0IHN1Y2ggdHJhY2tpbmcuIFN1Y2ggd29yayBjYW4g YmUgZGVmZXJyZWQgdG8gbWFraW5nIFBWLUlPTU1VIGZvciBkZS1wcml2aWxlZ2VkIGd1ZXN0cy4u LiBpZiB0aGF0IGZhY2lsaXR5IGlzIG5lZWRlZC4KCiAgUGF1bAoKPiBKYW4KPiAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs