From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [Patch v6 10/11] vt-d: propagate the IOMMU Device-TLB flush error up to ME phantom functions Date: Tue, 31 May 2016 21:57:35 +0800 Message-ID: <1464703056-4741-11-git-send-email-quan.xu@intel.com> References: <1464703056-4741-1-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: <1464703056-4741-1-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: xen-devel@lists.xen.org Cc: Kevin Tian , dario.faggioli@citrix.com, Feng Wu , Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KCkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBLZXZpbiBU aWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29t PgoKdjY6IERvbid0IG5lZWRsZXNzbHkgc3BsaXQgdGhlIGZ1bmN0aW9uIGhlYWRlciBvbnRvIHR3 byBsaW5lcy4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmggfCAgMyAr Ky0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jICB8ICA4ICsrKystLS0tCiB4 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMgfCAyNyArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVybi5o IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oCmluZGV4IGNiZTAyODYuLjY3 NzI4MzkgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaAor KysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgKQEAgLTkxLDcgKzkxLDgg QEAgaW50IGlzX2lnZF92dF9lbmFibGVkX3F1aXJrKHZvaWQpOwogdm9pZCBwbGF0Zm9ybV9xdWly a3NfaW5pdCh2b2lkKTsKIHZvaWQgdnRkX29wc19wcmVhbWJsZV9xdWlyayhzdHJ1Y3QgaW9tbXUq IGlvbW11KTsKIHZvaWQgdnRkX29wc19wb3N0YW1ibGVfcXVpcmsoc3RydWN0IGlvbW11KiBpb21t dSk7Ci12b2lkIG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4 IGRldmZuLCBpbnQgbWFwKTsKK2ludCBfX211c3RfY2hlY2sgbWVfd2lmaV9xdWlyayhzdHJ1Y3Qg ZG9tYWluICpkb21haW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTggYnVzLCB1 OCBkZXZmbiwgaW50IG1hcCk7CiB2b2lkIHBjaV92dGRfcXVpcmsoY29uc3Qgc3RydWN0IHBjaV9k ZXYgKik7CiBib29sX3QgcGxhdGZvcm1fc3VwcG9ydHNfaW50cmVtYXAodm9pZCk7CiBib29sX3Qg cGxhdGZvcm1fc3VwcG9ydHNfeDJhcGljKHZvaWQpOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuYwppbmRleCA3MjBiODY3Li4yY2MyYzkzIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuYwpAQCAtMTQ3Myw4ICsxNDczLDggQEAgaW50IGRvbWFpbl9jb250ZXh0X21hcHBpbmdfb25l KAogCiAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKGNvbnRleHRfZW50cmllcyk7CiAKLSAgICBp ZiAoICFzZWcgKQotICAgICAgICBtZV93aWZpX3F1aXJrKGRvbWFpbiwgYnVzLCBkZXZmbiwgTUFQ X01FX1BIQU5UT01fRlVOQyk7CisgICAgaWYgKCAhc2VnICYmICFyYyApCisgICAgICAgIHJjID0g bWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywgZGV2Zm4sIE1BUF9NRV9QSEFOVE9NX0ZVTkMpOwog CiAgICAgcmV0dXJuIHJjOwogfQpAQCAtMTYzNSw4ICsxNjM1LDggQEAgaW50IGRvbWFpbl9jb250 ZXh0X3VubWFwX29uZSgKICAgICBzcGluX3VubG9jaygmaW9tbXUtPmxvY2spOwogICAgIHVubWFw X3Z0ZF9kb21haW5fcGFnZShjb250ZXh0X2VudHJpZXMpOwogCi0gICAgaWYgKCAhaW9tbXUtPmlu dGVsLT5kcmhkLT5zZWdtZW50ICkKLSAgICAgICAgbWVfd2lmaV9xdWlyayhkb21haW4sIGJ1cywg ZGV2Zm4sIFVOTUFQX01FX1BIQU5UT01fRlVOQyk7CisgICAgaWYgKCAhaW9tbXUtPmludGVsLT5k cmhkLT5zZWdtZW50ICYmICFyYyApCisgICAgICAgIHJjID0gbWVfd2lmaV9xdWlyayhkb21haW4s IGJ1cywgZGV2Zm4sIFVOTUFQX01FX1BIQU5UT01fRlVOQyk7CiAKICAgICByZXR1cm4gcmM7CiB9 CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcXVpcmtzLmMKaW5kZXggNDczZDFmYy4uOTFmOTZhYyAx MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jCisrKyBiL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xdWlya3MuYwpAQCAtMzMxLDEwICszMzEsMTIgQEAg dm9pZCBfX2luaXQgcGxhdGZvcm1fcXVpcmtzX2luaXQodm9pZCkKICAqIGFzc2lnbmluZyBJbnRl bCBpbnRlZ3JhdGVkIHdpZmkgZGV2aWNlIHRvIGEgZ3Vlc3QuCiAgKi8KIAotc3RhdGljIHZvaWQg bWFwX21lX3BoYW50b21fZnVuY3Rpb24oc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1MzIgZGV2LCBp bnQgbWFwKQorc3RhdGljIGludCBfX211c3RfY2hlY2sgbWFwX21lX3BoYW50b21fZnVuY3Rpb24o c3RydWN0IGRvbWFpbiAqZG9tYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdTMyIGRldiwgaW50IG1hcCkKIHsKICAgICBzdHJ1Y3QgYWNwaV9kcmhk X3VuaXQgKmRyaGQ7CiAgICAgc3RydWN0IHBjaV9kZXYgKnBkZXY7CisgICAgaW50IHJjOwogCiAg ICAgLyogZmluZCBNRSBWVC1kIGVuZ2luZSBiYXNlIG9uIGEgcmVhbCBNRSBkZXZpY2UgKi8KICAg ICBwZGV2ID0gcGNpX2dldF9wZGV2KDAsIDAsIFBDSV9ERVZGTihkZXYsIDApKTsKQEAgLTM0Miwy MyArMzQ0LDI2IEBAIHN0YXRpYyB2b2lkIG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKHN0cnVjdCBk b21haW4gKmRvbWFpbiwgdTMyIGRldiwgaW50IG1hcCkKIAogICAgIC8qIG1hcCBvciB1bm1hcCBN RSBwaGFudG9tIGZ1bmN0aW9uICovCiAgICAgaWYgKCBtYXAgKQotICAgICAgICBkb21haW5fY29u dGV4dF9tYXBwaW5nX29uZShkb21haW4sIGRyaGQtPmlvbW11LCAwLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwgTlVMTCk7CisgICAgICAgIHJj ID0gZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoZG9tYWluLCBkcmhkLT5pb21tdSwgMCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfREVWRk4oZGV2LCA3KSwg TlVMTCk7CiAgICAgZWxzZQotICAgICAgICBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9tYWlu LCBkcmhkLT5pb21tdSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9E RVZGTihkZXYsIDcpKTsKKyAgICAgICAgcmMgPSBkb21haW5fY29udGV4dF91bm1hcF9vbmUoZG9t YWluLCBkcmhkLT5pb21tdSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUENJX0RFVkZOKGRldiwgNykpOworCisgICAgcmV0dXJuIHJjOwogfQogCi12b2lkIG1lX3dp ZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4IGRldmZuLCBpbnQgbWFw KQoraW50IG1lX3dpZmlfcXVpcmsoc3RydWN0IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4IGRl dmZuLCBpbnQgbWFwKQogewogICAgIHUzMiBpZDsKKyAgICBpbnQgcmMgPSAwOwogCiAgICAgaWQg PSBwY2lfY29uZl9yZWFkMzIoMCwgMCwgMCwgMCwgMCk7CiAgICAgaWYgKCBJU19DVEcoaWQpICkK ICAgICB7CiAgICAgICAgIC8qIHF1aXQgaWYgTUUgZG9lcyBub3QgZXhpc3QgKi8KICAgICAgICAg aWYgKCBwY2lfY29uZl9yZWFkMzIoMCwgMCwgMywgMCwgMCkgPT0gMHhmZmZmZmZmZiApCi0gICAg ICAgICAgICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gMDsKIAogICAgICAgICAvKiBpZiBk ZXZpY2UgaXMgV0xBTiBkZXZpY2UsIG1hcCBNRSBwaGFudG9tIGRldmljZSAwOjMuNyAqLwogICAg ICAgICBpZCA9IHBjaV9jb25mX3JlYWQzMigwLCBidXMsIFBDSV9TTE9UKGRldmZuKSwgUENJX0ZV TkMoZGV2Zm4pLCAwKTsKQEAgLTM3Miw3ICszNzcsNyBAQCB2b2lkIG1lX3dpZmlfcXVpcmsoc3Ry dWN0IGRvbWFpbiAqZG9tYWluLCB1OCBidXMsIHU4IGRldmZuLCBpbnQgbWFwKQogICAgICAgICAg ICAgY2FzZSAweDQyM2I4MDg2OgogICAgICAgICAgICAgY2FzZSAweDQyM2M4MDg2OgogICAgICAg ICAgICAgY2FzZSAweDQyM2Q4MDg2OgotICAgICAgICAgICAgICAgIG1hcF9tZV9waGFudG9tX2Z1 bmN0aW9uKGRvbWFpbiwgMywgbWFwKTsKKyAgICAgICAgICAgICAgICByYyA9IG1hcF9tZV9waGFu dG9tX2Z1bmN0aW9uKGRvbWFpbiwgMywgbWFwKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zODIsNyArMzg3 LDcgQEAgdm9pZCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggYnVzLCB1 OCBkZXZmbiwgaW50IG1hcCkKICAgICB7CiAgICAgICAgIC8qIHF1aXQgaWYgTUUgZG9lcyBub3Qg ZXhpc3QgKi8KICAgICAgICAgaWYgKCBwY2lfY29uZl9yZWFkMzIoMCwgMCwgMjIsIDAsIDApID09 IDB4ZmZmZmZmZmYgKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIDA7 CiAKICAgICAgICAgLyogaWYgZGV2aWNlIGlzIFdMQU4gZGV2aWNlLCBtYXAgTUUgcGhhbnRvbSBk ZXZpY2UgMDoyMi43ICovCiAgICAgICAgIGlkID0gcGNpX2NvbmZfcmVhZDMyKDAsIGJ1cywgUENJ X1NMT1QoZGV2Zm4pLCBQQ0lfRlVOQyhkZXZmbiksIDApOwpAQCAtMzk4LDEyICs0MDMsMTQgQEAg dm9pZCBtZV93aWZpX3F1aXJrKHN0cnVjdCBkb21haW4gKmRvbWFpbiwgdTggYnVzLCB1OCBkZXZm biwgaW50IG1hcCkKICAgICAgICAgICAgIGNhc2UgMHg0MjM4ODA4NjogICAgICAgIC8qIFB1bWEg UGVhayAqLwogICAgICAgICAgICAgY2FzZSAweDQyMmI4MDg2OgogICAgICAgICAgICAgY2FzZSAw eDQyMmM4MDg2OgotICAgICAgICAgICAgICAgIG1hcF9tZV9waGFudG9tX2Z1bmN0aW9uKGRvbWFp biwgMjIsIG1hcCk7CisgICAgICAgICAgICAgICAgcmMgPSBtYXBfbWVfcGhhbnRvbV9mdW5jdGlv bihkb21haW4sIDIyLCBtYXApOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KKworICAg IHJldHVybiByYzsKIH0KIAogdm9pZCBwY2lfdnRkX3F1aXJrKGNvbnN0IHN0cnVjdCBwY2lfZGV2 ICpwZGV2KQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=