From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: Re: [PATCH v2 07/13] iommu: track reserved ranges using a rangeset Date: Mon, 16 Jul 2018 10:21:02 +0000 Message-ID: <17fd65b17e3a44b2abb055e5f6f20696@AMSPEX02CL02.citrite.net> References: <20180707110526.35822-1-paul.durrant@citrix.com> <20180707110526.35822-8-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ff0d3-0005lU-ER for xen-devel@lists.xenproject.org; Mon, 16 Jul 2018 10:21:17 +0000 In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: 'George Dunlap' Cc: xen-devel , Kevin Tian , Jan Beulich List-Id: xen-devel@lists.xenproject.org PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkdW5sYXBnQGdtYWlsLmNvbSBb bWFpbHRvOmR1bmxhcGdAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YNCj4gR2VvcmdlIER1bmxhcA0K PiBTZW50OiAxMSBKdWx5IDIwMTggMTA6MTYNCj4gVG86IFBhdWwgRHVycmFudCA8UGF1bC5EdXJy YW50QGNpdHJpeC5jb20+DQo+IENjOiB4ZW4tZGV2ZWwgPHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZz47IEtldmluIFRpYW4NCj4gPGtldmluLnRpYW5AaW50ZWwuY29tPjsgSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gW1BBVENI IHYyIDA3LzEzXSBpb21tdTogdHJhY2sgcmVzZXJ2ZWQgcmFuZ2VzDQo+IHVzaW5nIGEgcmFuZ2Vz ZXQNCj4gDQo+IE9uIFNhdCwgSnVsIDcsIDIwMTggYXQgMTI6MDUgUE0sIFBhdWwgRHVycmFudCA8 cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+DQo+IHdyb3RlOg0KPiA+IFJhbmdlcyB0aGF0IHNob3Vs ZCBiZSBjb25zaWRlcmVkIHJlc2VydmVkIGluIHRoZSBJT01NVSBhcmUgbm90DQo+IG5lY2Vzc2Fy aWx5DQo+ID4gbGltaXRlZCB0byBSTVJScy4gSWYgaW9tbXVfaW5jbHVzaXZlX21hcHBpbmcgaXMg c2V0IHRoZW4gYW55IGZyYW1lDQo+IG51bWJlcg0KPiA+IGZhbGxpbmcgd2l0aGluIGFuIEU4MjAg cmVzZXJ2ZWQgcmVnaW9uIHNob3VsZCBhbHNvIGJlIGNvbnNpZGVyZWQgYXMNCj4gPiByZXNlcnZl ZCBpbiB0aGUgSU9NTVUuDQo+ID4gVGhpcyBwYXRjaCBhZGRzIGEgcmFuZ2VzZXQgdG8gdGhlIGRv bWFpbl9pb21tdSBzdHJ1Y3R1cmUgdGhhdCBpcyB0aGVuDQo+IHVzZWQNCj4gPiB0byB0cmFjayBh bGwgcmVzZXJ2ZWQgcmFuZ2VzLiBUaGlzIHdpbGwgYmUgbmVlZGVkIGJ5IGEgc3Vic2VxdWVudCBw YXRjaA0KPiA+IHRvIHRlc3Qgd2hldGhlciBpdCBpcyBzYWZlIHRvIG1vZGlmeSBhIHBhcnRpY3Vs YXIgSU9NTVUgZW50cnkuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBh dWwuZHVycmFudEBjaXRyaXguY29tPg0KPiA+IC0tLQ0KPiA+IENjOiBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+DQo+ID4gQ2M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29t Pg0KPiA+DQo+ID4gdjI6DQo+ID4gIC0gTmV3IGluIHYyLg0KPiA+IC0tLQ0KPiA+ICB4ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9pb21tdS5jICAgICAgIHwgMTAgKysrKysrKysrLQ0KPiA+ICB4ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgIHwgMjAgKysrKysrKysrKysrKy0tLS0t LS0NCj4gPiAgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4Ni92dGQuYyB8IDI0ICsrKysr KysrKysrKysrKysrKysrLS0tLQ0KPiA+ICB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAg ICAgICAgIHwgIDYgKysrKysrDQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygr KSwgMTIgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvaW9tbXUuYw0KPiBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMNCj4g PiBpbmRleCA3ZTU5MjExYTU5Li4zZmJkM2ViYWY2IDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMNCj4gPiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9pb21tdS5jDQo+ID4gQEAgLTE0Nyw2ICsxNDcsMTAgQEAgaW50IGlvbW11X2RvbWFpbl9pbml0 KHN0cnVjdCBkb21haW4gKmQpDQo+ID4gICAgICBpZiAoICFpb21tdV9lbmFibGVkICkNCj4gPiAg ICAgICAgICByZXR1cm4gMDsNCj4gPg0KPiA+ICsgICAgaGQtPnJlc2VydmVkX3JhbmdlcyA9IHJh bmdlc2V0X25ldyhkLCBOVUxMLCAwKTsNCj4gPiArICAgIGlmICggIWhkLT5yZXNlcnZlZF9yYW5n ZXMgKQ0KPiA+ICsgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ICsNCj4gPiAgICAgIGhkLT5w bGF0Zm9ybV9vcHMgPSBpb21tdV9nZXRfb3BzKCk7DQo+ID4gICAgICByZXR1cm4gaGQtPnBsYXRm b3JtX29wcy0+aW5pdChkKTsNCj4gPiAgfQ0KPiA+IEBAIC0yNDksMTIgKzI1MywxNiBAQCBpbnQg aW9tbXVfY29uc3RydWN0KHN0cnVjdCBkb21haW4gKmQpDQo+ID4NCj4gPiAgdm9pZCBpb21tdV9k b21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKQ0KPiA+ICB7DQo+ID4gLSAgICBpZiAoICFp b21tdV9lbmFibGVkIHx8ICFkb21faW9tbXUoZCktPnBsYXRmb3JtX29wcyApDQo+ID4gKyAgICBj b25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsNCj4gPiArDQo+ID4g KyAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzICkNCj4gPiAgICAg ICAgICByZXR1cm47DQo+ID4NCj4gPiAgICAgIGlvbW11X3RlYXJkb3duKGQpOw0KPiA+DQo+ID4g ICAgICBhcmNoX2lvbW11X2RvbWFpbl9kZXN0cm95KGQpOw0KPiA+ICsNCj4gPiArICAgIHJhbmdl c2V0X2Rlc3Ryb3koaGQtPnJlc2VydmVkX3Jhbmdlcyk7DQo+ID4gIH0NCj4gPg0KPiA+ICBpbnQg aW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuLCBtZm5fdCBtZm4sDQo+ ID4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jDQo+IGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMNCj4gPiBpbmRleCAyYWE5N2M5ZWZl Li43Y2QzODEzYjlmIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0 ZC9pb21tdS5jDQo+ID4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMN Cj4gPiBAQCAtMTkxMSw2ICsxOTExLDcgQEAgc3RhdGljIGludCBybXJyX2lkZW50aXR5X21hcHBp bmcoc3RydWN0IGRvbWFpbg0KPiAqZCwgYm9vbF90IG1hcCwNCj4gPiAgICAgIHVuc2lnbmVkIGxv bmcgZW5kX3BmbiA9IFBBR0VfQUxJR05fNEsocm1yci0+ZW5kX2FkZHJlc3MpID4+DQo+IFBBR0Vf U0hJRlRfNEs7DQo+ID4gICAgICBzdHJ1Y3QgbWFwcGVkX3JtcnIgKm1ybXJyOw0KPiA+ICAgICAg c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7DQo+ID4gKyAgICBpbnQgZXJy ID0gMDsNCj4gPg0KPiA+ICAgICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOw0KPiA+ICAgICAg QVNTRVJUKHJtcnItPmJhc2VfYWRkcmVzcyA8IHJtcnItPmVuZF9hZGRyZXNzKTsNCj4gPiBAQCAt MTkyNCw4ICsxOTI1LDYgQEAgc3RhdGljIGludCBybXJyX2lkZW50aXR5X21hcHBpbmcoc3RydWN0 IGRvbWFpbg0KPiAqZCwgYm9vbF90IG1hcCwNCj4gPiAgICAgICAgICBpZiAoIG1ybXJyLT5iYXNl ID09IHJtcnItPmJhc2VfYWRkcmVzcyAmJg0KPiA+ICAgICAgICAgICAgICAgbXJtcnItPmVuZCA9 PSBybXJyLT5lbmRfYWRkcmVzcyApDQo+ID4gICAgICAgICAgew0KPiA+IC0gICAgICAgICAgICBp bnQgcmV0ID0gMDsNCj4gPiAtDQo+ID4gICAgICAgICAgICAgIGlmICggbWFwICkNCj4gPiAgICAg ICAgICAgICAgew0KPiA+ICAgICAgICAgICAgICAgICAgKyttcm1yci0+Y291bnQ7DQo+ID4gQEAg LTE5MzUsMjggKzE5MzQsMzUgQEAgc3RhdGljIGludCBybXJyX2lkZW50aXR5X21hcHBpbmcoc3Ry dWN0IGRvbWFpbg0KPiAqZCwgYm9vbF90IG1hcCwNCj4gPiAgICAgICAgICAgICAgaWYgKCAtLW1y bXJyLT5jb3VudCApDQo+ID4gICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPg0KPiA+IC0g ICAgICAgICAgICB3aGlsZSAoIGJhc2VfcGZuIDwgZW5kX3BmbiApDQo+ID4gKyAgICAgICAgICAg IGVyciA9IHJhbmdlc2V0X3JlbW92ZV9yYW5nZShoZC0+cmVzZXJ2ZWRfcmFuZ2VzLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZV9wZm4sIGVuZF9wZm4p Ow0KPiA+ICsgICAgICAgICAgICB3aGlsZSAoICFlcnIgJiYgYmFzZV9wZm4gPCBlbmRfcGZuICkN Cj4gPiAgICAgICAgICAgICAgew0KPiA+ICAgICAgICAgICAgICAgICAgaWYgKCBjbGVhcl9pZGVu dGl0eV9wMm1fZW50cnkoZCwgYmFzZV9wZm4pICkNCj4gPiAtICAgICAgICAgICAgICAgICAgICBy ZXQgPSAtRU5YSU87DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgZXJyID0gLUVOWElPOw0KPiA+ ICsNCj4gPiAgICAgICAgICAgICAgICAgIGJhc2VfcGZuKys7DQo+ID4gICAgICAgICAgICAgIH0N Cj4gPg0KPiA+ICAgICAgICAgICAgICBsaXN0X2RlbCgmbXJtcnItPmxpc3QpOw0KPiA+ICAgICAg ICAgICAgICB4ZnJlZShtcm1ycik7DQo+ID4gLSAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ID4g KyAgICAgICAgICAgIHJldHVybiBlcnI7DQo+ID4gICAgICAgICAgfQ0KPiA+ICAgICAgfQ0KPiA+ DQo+ID4gICAgICBpZiAoICFtYXAgKQ0KPiA+ICAgICAgICAgIHJldHVybiAtRU5PRU5UOw0KPiA+ DQo+ID4gKyAgICBlcnIgPSByYW5nZXNldF9hZGRfcmFuZ2UoaGQtPnJlc2VydmVkX3Jhbmdlcywg YmFzZV9wZm4sIGVuZF9wZm4pOw0KPiA+ICsgICAgaWYgKCBlcnIgKQ0KPiA+ICsgICAgICAgIHJl dHVybiBlcnI7DQo+ID4gKw0KPiA+ICAgICAgd2hpbGUgKCBiYXNlX3BmbiA8IGVuZF9wZm4gKQ0K PiA+ICAgICAgew0KPiA+IC0gICAgICAgIGludCBlcnIgPSBzZXRfaWRlbnRpdHlfcDJtX2VudHJ5 KGQsIGJhc2VfcGZuLCBwMm1fYWNjZXNzX3J3LCBmbGFnKTsNCj4gPiAtDQo+ID4gKyAgICAgICAg ZXJyID0gc2V0X2lkZW50aXR5X3AybV9lbnRyeShkLCBiYXNlX3BmbiwgcDJtX2FjY2Vzc19ydywg ZmxhZyk7DQo+ID4gICAgICAgICAgaWYgKCBlcnIgKQ0KPiA+ICAgICAgICAgICAgICByZXR1cm4g ZXJyOw0KPiA+ICsNCj4gPiAgICAgICAgICBiYXNlX3BmbisrOw0KPiA+ICAgICAgfQ0KPiA+DQo+ ID4gZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC94ODYvdnRkLmMNCj4g Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQveDg2L3Z0ZC5jDQo+ID4gaW5kZXggZGMzN2Rj ZTRiNi4uZDY1ZDNjNjBmYiAxMDA2NDQNCj4gPiAtLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC92dGQveDg2L3Z0ZC5jDQo+ID4gKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3g4 Ni92dGQuYw0KPiA+IEBAIC0xNTUsMTYgKzE1NSwzMiBAQCB2b2lkIF9faHdkb21faW5pdA0KPiB2 dGRfc2V0X2h3ZG9tX21hcHBpbmcoc3RydWN0IGRvbWFpbiAqZCkNCj4gPiAgICAgICAgICB0bXAg PSAxIDw8IChQQUdFX1NISUZUIC0gUEFHRV9TSElGVF80Syk7DQo+ID4gICAgICAgICAgZm9yICgg aiA9IDA7IGogPCB0bXA7IGorKyApDQo+ID4gICAgICAgICAgew0KPiA+IC0gICAgICAgICAgICBp bnQgcmV0ID0gaW9tbXVfbWFwX3BhZ2UoZCwgX2JmbihwZm4gKiB0bXAgKyBqKSwNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9tZm4ocGZuICogdG1wICsgaiksDQo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGV8 SU9NTVVGX3dyaXRhYmxlKTsNCj4gPiArICAgICAgICAgICAgYmZuX3QgYmZuID0gX2JmbihwZm4g KiB0bXAgKyBqKTsNCj4gPiArICAgICAgICAgICAgbWZuX3QgbWZuID0gX21mbihwZm4gKiB0bXAg KyBqKTsNCj4gDQo+IEV2ZXJ5dGhpbmcgbG9va3MgZ29vZCB0byBtZSBleGNlcHQgZm9yIHRoaXM7 IGJ1dCBhcyB0aGlzIGlzbid0IG15IGFyZWENCj4gb2YgbWFpbnRhaW5lcnNoaXAgSSdsbCBqdXN0 IHJlZ2lzdGVyIG15IG9waW5pb24gYW5kIGxldCB0aGUNCj4gbWFpbnRhaW5lcnMgZGVjaWRlLg0K PiANCg0KT2gsIHRoYXQgbG9va3MgbGlrZSBpdCBzaG91bGQgaGF2ZSBiZWVuIGluIGEgcHJldmlv dXMgcGF0Y2guDQoNCj4gRXZlcnl0aGluZyBlbHNlOg0KPiANCj4gUmV2aWV3ZWQtYnk6IEdlb3Jn ZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4NCj4gDQoNClRoYW5rcywNCg0KICBQ YXVsDQoNCj4gIC1HZW9yZ2UNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=