From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 2/2] IOMMU/MMU: Adjust low level functions for VT-d Device-TLB flush error. Date: Fri, 18 Mar 2016 04:20:01 -0600 Message-ID: <56EBE46102000078000DE46B@prv-mh.provo.novell.com> References: <1458197676-60696-1-git-send-email-quan.xu@intel.com> <1458197676-60696-3-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-3-git-send-email-quan.xu@intel.com> Content-Disposition: inline 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 , Feng Wu , Jun Nakajima , George Dunlap , Andrew Cooper , Dario Faggioli , xen-devel@lists.xen.org, Julien Grall , Stefano Stabellini , Suravee Suthikulpanit , Keir Fraser List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDE3LjAzLjE2IGF0IDA3OjU0LCA8cXVhbi54dUBpbnRlbC5jb20+IHdyb3RlOgo+IC0t LSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbml0LmMKPiArKysgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfaW5pdC5jCj4gQEAgLTEzMzksMTIgKzEzMzks MTQgQEAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZV9hbGxfZGV2aWNlcyh2b2lkKQo+ICAgICAgaXRl cmF0ZV9pdnJzX21hcHBpbmdzKF9pbnZhbGlkYXRlX2FsbF9kZXZpY2VzKTsKPiAgfQo+ICAKPiAt dm9pZCBhbWRfaW9tbXVfc3VzcGVuZCh2b2lkKQo+ICtpbnQgYW1kX2lvbW11X3N1c3BlbmQodm9p ZCkKPiAgewo+ICAgICAgc3RydWN0IGFtZF9pb21tdSAqaW9tbXU7Cj4gIAo+ICAgICAgZm9yX2Vh Y2hfYW1kX2lvbW11ICggaW9tbXUgKQo+ICAgICAgICAgIGRpc2FibGVfaW9tbXUoaW9tbXUpOwo+ ICsKPiArICAgIHJldHVybiAwOwo+ICB9Cj4gIAo+ICB2b2lkIGFtZF9pb21tdV9yZXN1bWUodm9p ZCkKPiBAQCAtMTM2OCwzICsxMzcwLDExIEBAIHZvaWQgYW1kX2lvbW11X3Jlc3VtZSh2b2lkKQo+ ICAgICAgICAgIGludmFsaWRhdGVfYWxsX2RvbWFpbl9wYWdlcygpOwo+ICAgICAgfQo+ICB9Cj4g Kwo+ICt2b2lkIGFtZF9pb21tdV9jcmFzaF9zaHV0ZG93bih2b2lkKQo+ICt7Cj4gKyAgICBzdHJ1 Y3QgYW1kX2lvbW11ICppb21tdTsKPiArCj4gKyAgICBmb3JfZWFjaF9hbWRfaW9tbXUgKCBpb21t dSApCj4gKyAgICAgICAgZGlzYWJsZV9pb21tdShpb21tdSk7Cj4gK30KCk9uZSBvZiB0aGUgdHdv IHNob3VsZCBjbGVhcmx5IGNhbGwgdGhlIG90aGVyIC0gbm8gbmVlZCB0byBoYXZlIHRoZQpzYW1l IGNvZGUgdHdpY2UuCgo+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKPiAr KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCj4gQEAgLTE4Miw3ICsxODIsMTEg QEAgdm9pZCBfX2h3ZG9tX2luaXQgaW9tbXVfaHdkb21faW5pdChzdHJ1Y3QgZG9tYWluICpkKQo+ ICAgICAgICAgICAgICAgICAgICgocGFnZS0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfdHlwZV9t YXNrKQo+ICAgICAgICAgICAgICAgICAgICA9PSBQR1Rfd3JpdGFibGVfcGFnZSkgKQo+ICAgICAg ICAgICAgICAgICAgbWFwcGluZyB8PSBJT01NVUZfd3JpdGFibGU7Cj4gLSAgICAgICAgICAgIGhk LT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQsIGdmbiwgbWZuLCBtYXBwaW5nKTsKPiArICAgICAg ICAgICAgaWYgKCBoZC0+cGxhdGZvcm1fb3BzLT5tYXBfcGFnZShkLCBnZm4sIG1mbiwgbWFwcGlu ZykgKQo+ICsgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUgo+ICsgICAgICAgICAg ICAgICAgICAgICAgICJJT01NVTogTWFwIHBhZ2UgZ2ZuOiAweCVseChtZm46IDB4JWx4KSBmYWls ZWQuXG4iLAo+ICsgICAgICAgICAgICAgICAgICAgICAgIGdmbiwgbWZuKTsKPiArCgpQcmludGlu ZyBvbmUgbWVzc2FnZSBoZXJlIGlzIGNlcnRhaW5seSBuZWNlc3NhcnksIGJ1dCB3aGF0IGlmIHRo ZQpmYWlsdXJlIHJlcGVhdHMgZm9yIHZlcnkgbWFueSBwYWdlcz8gQWxzbyAlI2x4IGluc3RlYWQg b2YgMHglbHgKcGxlYXNlLCBhbmQgYSBibGFuayBiZWZvcmUgdGhlIG9wZW5pbmcgcGFyZW50aGVz aXMuCgo+IEBAIC01NTQsMTEgKzU1NSwyNCBAQCBzdGF0aWMgdm9pZCBpb21tdV9mbHVzaF9hbGwo dm9pZCkKPiAgICAgICAgICBpb21tdSA9IGRyaGQtPmlvbW11Owo+ICAgICAgICAgIGlvbW11X2Zs dXNoX2NvbnRleHRfZ2xvYmFsKGlvbW11LCAwKTsKPiAgICAgICAgICBmbHVzaF9kZXZfaW90bGIg PSBmaW5kX2F0c19kZXZfZHJoZChpb21tdSkgPyAxIDogMDsKPiAtICAgICAgICBpb21tdV9mbHVz aF9pb3RsYl9nbG9iYWwoaW9tbXUsIDAsIGZsdXNoX2Rldl9pb3RsYik7Cj4gKyAgICAgICAgcmMg PSBpb21tdV9mbHVzaF9pb3RsYl9nbG9iYWwoaW9tbXUsIDAsIGZsdXNoX2Rldl9pb3RsYik7Cj4g Kwo+ICsgICAgICAgIGlmICggcmMgPiAwICkKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIGlv bW11X2ZsdXNoX3dyaXRlX2J1ZmZlcihpb21tdSk7CgpXaHkgaXMgdGhpcyBuZWVkZWQgYWxsIG9m IHRoZSBzdWRkZW4/IChOb3RlIHRoYXQgaWYgeW91IGRpZCBhCm1vcmUgZmluZSBncmFpbmVkIHNw bGl0LCBpdCBtaWdodCBhbHNvIGJlIGVhc2llciBmb3IgeW91IHRvIG5vdGUvCmV4cGxhaW4gYWxs IHRoZSBub3QgZGlyZWN0bHkgcmVsYXRlZCBjaGFuZ2VzIGluIHRoZSByZXNwZWN0aXZlCmNvbW1p dCBtZXNzYWdlcy4gVW5sZXNzIG9mIGNvdXJzZSB0aGV5IGZpeCBhY3R1YWwgYnVncywgaW4Kd2hp Y2ggY2FzZSB0aGV5IHNob3VsZCBiZSBzcGxpdCBvdXQgYW55d2F5OyBzdWNoIGluZGl2aWR1YWwK Zml4ZXMgd291bGQgYWxzbyBsaWtlbHkgaGF2ZSBhIG11Y2ggZmFzdGVyIHJvdXRlIHRvIGNvbW1p dCwKcmVsaWV2aW5nIHlvdSBlYXJsaWVyIGZyb20gdGhlIGJ1cmRlbiBvZiBhdCBsZWFzdCBzb21l IG9mIHRoZQpjaGFuZ2VzIHlvdSBoYXZlIHRvIGNhcnJ5IGFuZCByZS1iYXNlLikKCj4gKyAgICAg ICAgICAgIHJjID0gMDsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSBpZiAoIHJjIDwgMCAp Cj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJJT01NVTog SU9NTVUgZmx1c2ggYWxsIGZhaWxlZC5cbiIpOwo+ICsgICAgICAgICAgICBicmVhazsKPiArICAg ICAgICB9CgpJcyBhIGxvZyBtZXNzYWdlIHJlYWxseSBhZHZpc2FibGUgaGVyZT8KCj4gLXN0YXRp YyB2b2lkIF9faW50ZWxfaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgbG9uZyBnZm4sCj4gK3N0YXRpYyBpbnQgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKCldoaWxlIEknbSBub3QgVlQtZCBtYWlu dGFpbmVyLCBJIHRoaW5rIGNoYW5nZXMgbGlrZSB0aGlzIHdvdWxkIGJlIGEKZ29vZCBvcHBvcnR1 bml0eSB0byBhbHNvIGRyb3AgdGhlIHN0cmF5IGRvdWJsZSB1bmRlcnNjb3JlczogWW91Cm5lZWQg dG8gdG91Y2ggYWxsIGNhbGxlcnMgYW55d2F5LgoKPiBAQCAtNTg0LDM3ICs1OTksNDAgQEAgc3Rh dGljIHZvaWQgX19pbnRlbF9pb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCAKPiB1 bnNpZ25lZCBsb25nIGdmbiwKPiAgICAgICAgICAgICAgY29udGludWU7Cj4gIAo+ICAgICAgICAg IGlmICggcGFnZV9jb3VudCAhPSAxIHx8IGdmbiA9PSBJTlZBTElEX0dGTiApCj4gLSAgICAgICAg ewo+IC0gICAgICAgICAgICBpZiAoIGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgaW9tbXVf ZG9taWQsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgIDAsIGZsdXNoX2Rldl9pb3RsYikgKQo+ IC0gICAgICAgICAgICAgICAgaW9tbXVfZmx1c2hfd3JpdGVfYnVmZmVyKGlvbW11KTsKPiAtICAg ICAgICB9Cj4gKyAgICAgICAgICAgIHJjID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlvbW11LCBp b21tdV9kb21pZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg Zmx1c2hfZGV2X2lvdGxiKTsKPiAgICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgIHJjID0gaW9t bXVfZmx1c2hfaW90bGJfcHNpKGlvbW11LCBpb21tdV9kb21pZCwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHBhZGRyX3QpZ2ZuIDw8IFBBR0VfU0hJRlRfNEssIDAs Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFkbWFfb2xkX3B0ZV9w cmVzZW50LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVzaF9k ZXZfaW90bGIpOwo+ICsgICAgICAgIGlmICggcmMgPiAwICkKPiAgICAgICAgICB7Cj4gLSAgICAg ICAgICAgIGlmICggaW9tbXVfZmx1c2hfaW90bGJfcHNpKGlvbW11LCBpb21tdV9kb21pZCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgKHBhZGRyX3QpZ2ZuIDw8IFBBR0VfU0hJRlRfNEssIFBB R0VfT1JERVJfNEssCgpOb3RlIGhvdyB0aGlzIHVzZWQgUEFHRV9PUkRFUl80SyBzbyBmYXI/Cgo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAhZG1hX29sZF9wdGVfcHJlc2VudCwgZmx1c2hfZGV2 X2lvdGxiKSApCj4gLSAgICAgICAgICAgICAgICBpb21tdV9mbHVzaF93cml0ZV9idWZmZXIoaW9t bXUpOwo+ICsgICAgICAgICAgICBpb21tdV9mbHVzaF93cml0ZV9idWZmZXIoaW9tbXUpOwoKU2Ft ZSBxdWVzdGlvbiBhZ2FpbjogV2h5IGlzIHRoaXMgYWxsIG9mIHRoZSBzdWRkZW4gbmVlZGVkIG9u CmJvdGggcGF0aHM/Cgo+IEBAIC02MjIsNyArNjQwLDcgQEAgc3RhdGljIHZvaWQgZG1hX3B0ZV9j bGVhcl9vbmUoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1NjQgYWRkcikKPiAgICAgIGlmICggcGdf bWFkZHIgPT0gMCApCj4gICAgICB7Cj4gICAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1h cHBpbmdfbG9jayk7Cj4gLSAgICAgICAgcmV0dXJuOwo+ICsgICAgICAgIHJldHVybiAtRU5PTUVN Owo+ICAgICAgfQoKYWRkcl90b19kbWFfcGFnZV9tYWRkcigpIGdldHMgY2FsbGVkIHdpdGggImFs bG9jIiBiZWluZyBmYWxzZSwgc28KdGhlcmUgY2FuJ3QgYmUgYW55IG1lbW9yeSBhbGxvY2F0aW9u IGZhaWx1cmUgaGVyZS4gVGhlcmUgc2ltcGx5IGlzCm5vdGhpbmcgdG8gZG8gaW4gdGhpcyBjYXNl LgoKPiAtdm9pZCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggYnVzLCB1 OCBkZXZmbiwgaW50IG1hcCkKPiAraW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9t YWluLCB1OCBidXMsIHU4IGRldmZuLCBpbnQgbWFwKQo+ICB7Cj4gICAgICB1MzIgaWQ7Cj4gKyAg ICBpbnQgcmMgPSAwOwo+ICAKPiAgICAgIGlkID0gcGNpX2NvbmZfcmVhZDMyKDAsIDAsIDAsIDAs IDApOwo+ICAgICAgaWYgKCBJU19DVEcoaWQpICkKPiAgICAgIHsKPiAgICAgICAgICAvKiBxdWl0 IGlmIE1FIGRvZXMgbm90IGV4aXN0ICovCj4gICAgICAgICAgaWYgKCBwY2lfY29uZl9yZWFkMzIo MCwgMCwgMywgMCwgMCkgPT0gMHhmZmZmZmZmZiApCj4gLSAgICAgICAgICAgIHJldHVybjsKPiAr ICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CgpJcyB0aGlzIHJlYWxseSBhbiBlcnJvcj8gSU9X LCBkbyBhbGwgc3lzdGVtcyB3aGljaCBzYXRpc2Z5IElTX0NURygpCmhhdmUgc3VjaCBhIGRldmlj ZT8KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK