From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v5 02/10] IOMMU: handle IOMMU mapping and unmapping failures Date: Wed, 18 May 2016 16:08:23 +0800 Message-ID: <1463558911-98187-3-git-send-email-quan.xu@intel.com> References: <1463558911-98187-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: <1463558911-98187-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, Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org VHJlYXQgSU9NTVUgbWFwcGluZyBhbmQgdW5tYXBwaW5nIGZhaWx1cmVzIGFzIGEgZmF0YWwgdG8g dGhlIERvbVUKSWYgSU9NTVUgbWFwcGluZyBhbmQgdW5tYXBwaW5nIGZhaWxlZCwgY3Jhc2ggdGhl IERvbVUgYW5kIHByb3BhZ2F0ZQp0aGUgZXJyb3IgdXAgdG8gdGhlIGNhbGwgdHJlZXMuCgpObyBz cGFtbWluZyBjYW4gb2NjdXIuIEZvciBEb21VLCB3ZSBhdm9pZCBsb2dnaW5nIGFueSBtZXNzYWdl CmZvciBhbHJlYWR5IGR5aW5nIGRvbWFpbnMuIEZvciBEb20wLCB0aGF0J2xsIHN0aWxsIGJlIG1v cmUgdmVyYm9zZQp0aGFuIHdlJ2QgcmVhbGx5IGxpa2UsIGJ1dCBpdCBhdCBsZWFzdCB3b3VsZG4n dCBvdXRyaWdodCBmbG9vZCB0aGUKY29uc29sZS4KClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1 YW4ueHVAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRl bC5jb20+CgpDQzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDQzogS2V2aW4gVGlh biA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYyB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgMzAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YwppbmRleCA5ZDEwNGQyLi43YzcwMzA2IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAgLTI0 MCwyMSArMjQwLDQ5IEBAIGludCBpb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGdmbiwgdW5zaWduZWQgbG9uZyBtZm4sCiAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IGZsYWdzKQogewogICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0g ZG9tX2lvbW11KGQpOworICAgIGludCByYzsKIAogICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwg IWhkLT5wbGF0Zm9ybV9vcHMgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBoZC0+ cGxhdGZvcm1fb3BzLT5tYXBfcGFnZShkLCBnZm4sIG1mbiwgZmxhZ3MpOworICAgIHJjID0gaGQt PnBsYXRmb3JtX29wcy0+bWFwX3BhZ2UoZCwgZ2ZuLCBtZm4sIGZsYWdzKTsKKworICAgIGlmICgg dW5saWtlbHkocmMpICkKKyAgICB7CisgICAgICAgIGlmICggIWQtPmlzX3NodXR0aW5nX2Rvd24g JiYgcHJpbnRrX3JhdGVsaW1pdCgpICkKKyAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCisg ICAgICAgICAgICAgICAgICAgImQlZDogSU9NTVUgbWFwcGluZyBnZm4gJSNseCBtZm4gJSNseCBm YWlsZWQgJWQuIiwKKyAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwgbWZuLCBy Yyk7CisKKyAgICAgICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKKyAgICAgICAgICAg IGRvbWFpbl9jcmFzaChkKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7CiB9CiAKIGludCBpb21t dV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAg IGNvbnN0IHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIGludCBy YzsKIAogICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgKQogICAg ICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBoZC0+cGxhdGZvcm1fb3BzLT51bm1hcF9wYWdl KGQsIGdmbik7CisgICAgcmMgPSBoZC0+cGxhdGZvcm1fb3BzLT51bm1hcF9wYWdlKGQsIGdmbik7 CisKKyAgICBpZiAoIHVubGlrZWx5KHJjKSApCisgICAgeworICAgICAgICBpZiAoICFkLT5pc19z aHV0dGluZ19kb3duICYmIHByaW50a19yYXRlbGltaXQoKSApCisgICAgICAgICAgICBwcmludGso WEVOTE9HX0VSUgorICAgICAgICAgICAgICAgICAgICJkJWQ6IElPTU1VIHVubWFwcGluZyBnZm4g JSNseCBmYWlsZWQgJWQuIiwKKyAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIGdmbiwg cmMpOworCisgICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgICAg ICBkb21haW5fY3Jhc2goZCk7CisgICAgfQorCisgICAgcmV0dXJuIHJjOwogfQogCiBzdGF0aWMg dm9pZCBpb21tdV9mcmVlX3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyB1bnVzZWQpCi0tIAoxLjku MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==