From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH 1/2] IOMMU/MMU: Adjust top level functions for VT-d Device-TLB flush error. Date: Thu, 17 Mar 2016 12:30:21 +0000 Message-ID: References: <1458197676-60696-1-git-send-email-quan.xu@intel.com> <1458197676-60696-2-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458197676-60696-2-git-send-email-quan.xu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Quan Xu Cc: Kevin Tian , Keir Fraser , Jun Nakajima , Liu Jinsong , Dario Faggioli , "xen-devel@lists.xen.org" , Jan Beulich , Andrew Cooper , Feng Wu List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBNYXIgMTcsIDIwMTYgYXQgNjo1NCBBTSwgUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5j b20+IHdyb3RlOgo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4 Ni9tbS5jCj4gaW5kZXggYzk5N2I1My4uNTI2NTQ4ZSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94 ODYvbW0uYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCj4gQEAgLTI0NjcsNyArMjQ2Nyw3IEBA IHN0YXRpYyBpbnQgX19nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2ln bmVkIGxvbmcgdHlwZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHByZWVtcHRp YmxlKQo+ICB7Cj4gICAgICB1bnNpZ25lZCBsb25nIG54LCB4LCB5ID0gcGFnZS0+dS5pbnVzZS50 eXBlX2luZm87Cj4gLSAgICBpbnQgcmMgPSAwOwo+ICsgICAgaW50IHJjID0gMCwgcmV0ID0gMDsK Pgo+ICAgICAgQVNTRVJUKCEodHlwZSAmIH4oUEdUX3R5cGVfbWFzayB8IFBHVF9wYWVfeGVuX2wy KSkpOwo+Cj4gQEAgLTI1NzgsMTEgKzI1NzgsMTEgQEAgc3RhdGljIGludCBfX2dldF9wYWdlX3R5 cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAo+ICAgICAgICAg IGlmICggZCAmJiBpc19wdl9kb21haW4oZCkgJiYgdW5saWtlbHkobmVlZF9pb21tdShkKSkgKQo+ ICAgICAgICAgIHsKPiAgICAgICAgICAgICAgaWYgKCAoeCAmIFBHVF90eXBlX21hc2spID09IFBH VF93cml0YWJsZV9wYWdlICkKPiAtICAgICAgICAgICAgICAgIGlvbW11X3VubWFwX3BhZ2UoZCwg bWZuX3RvX2dtZm4oZCwgcGFnZV90b19tZm4ocGFnZSkpKTsKPiArICAgICAgICAgICAgICAgIHJl dCA9IGlvbW11X3VubWFwX3BhZ2UoZCwgbWZuX3RvX2dtZm4oZCwgcGFnZV90b19tZm4ocGFnZSkp KTsKPiAgICAgICAgICAgICAgZWxzZSBpZiAoIHR5cGUgPT0gUEdUX3dyaXRhYmxlX3BhZ2UgKQo+ IC0gICAgICAgICAgICAgICAgaW9tbXVfbWFwX3BhZ2UoZCwgbWZuX3RvX2dtZm4oZCwgcGFnZV90 b19tZm4ocGFnZSkpLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZV90b19t Zm4ocGFnZSksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFi bGV8SU9NTVVGX3dyaXRhYmxlKTsKPiArICAgICAgICAgICAgICAgIHJldCA9IGlvbW11X21hcF9w YWdlKGQsIG1mbl90b19nbWZuKGQsIHBhZ2VfdG9fbWZuKHBhZ2UpKSwKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VfdG9fbWZuKHBhZ2UpLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlfElPTU1VRl93cml0YWJs ZSk7Cj4gICAgICAgICAgfQo+ICAgICAgfQo+Cj4gQEAgLTI1OTksNiArMjU5OSw5IEBAIHN0YXRp YyBpbnQgX19nZXRfcGFnZV90eXBlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UsIHVuc2lnbmVkIGxv bmcgdHlwZSwKPiAgICAgIGlmICggKHggJiBQR1RfcGFydGlhbCkgJiYgIShueCAmIFBHVF9wYXJ0 aWFsKSApCj4gICAgICAgICAgcHV0X3BhZ2UocGFnZSk7Cj4KPiArICAgIGlmICggIXJjICkKPiAr ICAgICAgICByYyA9IHJldDsKPiArCgpXaGF0J3MgdGhpcyBhYm91dD8gIElmIHRoZSBpb21tdV9b dW5dbWFwX3BhZ2UoKSBvcGVyYXRpb24gdGltZXMgb3V0LAp3ZSBzdGlsbCBnbyB0aHJvdWdoIHdp dGggY2FsbGluZyBhbGxvY19wYWdlX3R5cGUoKTsgYW5kIGlmCmFsbG9jX3BhZ2VfdHlwZSgpIGZh aWxzIHdlIHJldHVybiBpdHMgZmFpbHVyZSB2YWx1ZSwgYnV0IGlmIGl0CnN1Y2NlZWRzLCB3ZSBy ZXR1cm4gdGhlIGVycm9yIGZyb20gaW9tbXVfW3VuXW1hcF9wYWdlKCk/Cgo+ICAgICAgcmV0dXJu IHJjOwo+ICB9Cj4KPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyBiL3hl bi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKPiBpbmRleCAzY2I2ODY4Li5mOWJjY2U3IDEwMDY0NAo+ IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0v cDJtLWVwdC5jCj4gQEAgLTgzMCw3ICs4MzAsMTUgQEAgb3V0Ogo+ICAgICAgICAgIHsKPiAgICAg ICAgICAgICAgaWYgKCBpb21tdV9mbGFncyApCj4gICAgICAgICAgICAgICAgICBmb3IgKCBpID0g MDsgaSA8ICgxIDw8IG9yZGVyKTsgaSsrICkKPiAtICAgICAgICAgICAgICAgICAgICBpb21tdV9t YXBfcGFnZShkLCBnZm4gKyBpLCBtZm5feChtZm4pICsgaSwgaW9tbXVfZmxhZ3MpOwo+ICsgICAg ICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgIHJjID0gaW9tbXVfbWFwX3BhZ2Uo ZCwgZ2ZuICsgaSwgbWZuX3gobWZuKSArIGksIGlvbW11X2ZsYWdzKTsKPiArICAgICAgICAgICAg ICAgICAgICBpZiAoIHJjICkKPiArICAgICAgICAgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIHdoaWxlICggaS0tID4gMCApCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpb21tdV91bm1hcF9wYWdlKGQsIGdmbiArIGkpOwoKVGhpcyB3b24ndCB1bm1hcCBnZm4r MCAoc2luY2UgaXQgd2lsbCBicmVhayBvdXQgd2hlbiBpID09IDAgd2l0aG91dApjYWxsaW5nIHVu bWFwKS4KCklmIGkgd2VyZSBzaWduZWQsIHdlIGNvdWxkIG1ha2UgdGhlIGNvbmRpdGlvbmFsICI+ PSAwIjsgYnV0CnVuZm9ydHVuYXRlbHkgaXQncyB1bnNpZ25lZCwgc28geW91J2xsIGhhdmUgdG8g ZG8gc29tZXRoaW5nIG1vcmUKY29tcGxpY2F0ZWQuCgpXaGlsZSB3ZSdyZSBhdCBpdCwgaXMgaXQg d29ydGggYWRkaW5nICJ1bmxpa2VseSgpIiB0byB0aGUgaWYoKSBjb25kaXRpb24gaGVyZT8KCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgIH0K PiArICAgICAgICAgICAgICAgIH0KPiAgICAgICAgICAgICAgZWxzZQo+ICAgICAgICAgICAgICAg ICAgZm9yICggaSA9IDA7IGkgPCAoMSA8PCBvcmRlcik7IGkrKyApCj4gICAgICAgICAgICAgICAg ICAgICAgaW9tbXVfdW5tYXBfcGFnZShkLCBnZm4gKyBpKTsKPiBkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L21tL3AybS1wdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCj4gaW5kZXggM2Q4 MDYxMi4uYzMzYjc1MyAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPiAr KysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPiBAQCAtNjgwLDggKzY4MCwxNiBAQCBwMm1f cHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuLCBt Zm5fdCBtZm4sCj4gICAgICAgICAgfQo+ICAgICAgICAgIGVsc2UgaWYgKCBpb21tdV9wdGVfZmxh Z3MgKQo+ICAgICAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxVUwgPDwgcGFnZV9vcmRlcik7 IGkrKyApCj4gLSAgICAgICAgICAgICAgICBpb21tdV9tYXBfcGFnZShwMm0tPmRvbWFpbiwgZ2Zu ICsgaSwgbWZuX3gobWZuKSArIGksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp b21tdV9wdGVfZmxhZ3MpOwo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICByYyA9 IGlvbW11X21hcF9wYWdlKHAybS0+ZG9tYWluLCBnZm4gKyBpLCBtZm5feChtZm4pICsgaSwKPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9tbXVfcHRlX2ZsYWdzKTsKPiAr ICAgICAgICAgICAgICAgIGlmICggcmMgKQo+ICsgICAgICAgICAgICAgICAgewo+ICsgICAgICAg ICAgICAgICAgICAgIHdoaWxlICggaS0tID4gMCApCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IGlvbW11X3VubWFwX3BhZ2UocDJtLT5kb21haW4sIGdmbiArIGkpOwoKU2FtZSB3aXRoIGdmbisw LgoKIC1HZW9yZ2UKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==