From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH v3 02/10] IOMMU: handle IOMMU mapping and unmapping failures Date: Fri, 29 Apr 2016 17:25:09 +0800 Message-ID: <1461921917-48394-3-git-send-email-quan.xu@intel.com> References: <1461921917-48394-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: <1461921917-48394-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: dario.faggioli@citrix.com, Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org VHJlYXQgSU9NTVUgbWFwcGluZyBhbmQgdW5tYXBwaW5nIGZhaWx1cmVzIGFzIGEgZmF0YWwgdG8g dGhlIGRvbWFpbgood2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBoYXJkd2FyZSBkb21haW4pLgoK SWYgSU9NTVUgbWFwcGluZyBhbmQgdW5tYXBwaW5nIGZhaWxlZCwgY3Jhc2ggdGhlIGRvbWFpbiAo d2l0aCB0aGUKZXhjZXB0aW9uIG9mIHRoZSBoYXJkd2FyZSBkb21haW4pIGFuZCBwcm9wYWdhdGUg dGhlIGVycm9yIHVwIHRvIHRoZQpjYWxsIHRyZWVzLgoKU2lnbmVkLW9mZi1ieTogUXVhbiBYdSA8 cXVhbi54dUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGlu dGVsLmNvbT4KCkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysr KystLQogMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYjY0Njc2Zi4uYTAwMDNhYyAxMDA2NDQKLS0tIGEv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9pb21tdS5jCkBAIC0yNDMsMjEgKzI0Myw0NyBAQCBpbnQgaW9tbXVfbWFwX3BhZ2Uoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sIHVuc2lnbmVkIGxvbmcgbWZuLAogICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBmbGFncykKIHsKICAgICBzdHJ1Y3QgaHZtX2lv bW11ICpoZCA9IGRvbWFpbl9odm1faW9tbXUoZCk7CisgICAgaW50IHJjOwogCiAgICAgaWYgKCAh aW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyApCiAgICAgICAgIHJldHVybiAwOwog Ci0gICAgcmV0dXJuIGhkLT5wbGF0Zm9ybV9vcHMtPm1hcF9wYWdlKGQsIGdmbiwgbWZuLCBmbGFn cyk7CisgICAgcmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5tYXBfcGFnZShkLCBnZm4sIG1mbiwgZmxh Z3MpOworCisgICAgaWYgKCByYyApCisgICAgeworICAgICAgICBpZiAoIGlzX2hhcmR3YXJlX2Rv bWFpbihkKSApCisgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAgICAg ICAgICJpb21tdV9tYXBfcGFnZTogSU9NTVUgbWFwcGluZyBnZm4gJSNseCBtZm4gJSNseCBmYWls ZWQgZm9yIGRvbSVkLiIsCisgICAgICAgICAgICAgICAgICAgZ2ZuLCBtZm4sIGQtPmRvbWFpbl9p ZCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKKyAgICB9CisK KyAgICByZXR1cm4gcmM7CiB9CiAKIGludCBpb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogewogICAgIHN0cnVjdCBodm1faW9tbXUgKmhkID0gZG9t YWluX2h2bV9pb21tdShkKTsKKyAgICBpbnQgcmM7CiAKICAgICBpZiAoICFpb21tdV9lbmFibGVk IHx8ICFoZC0+cGxhdGZvcm1fb3BzICkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4g aGQtPnBsYXRmb3JtX29wcy0+dW5tYXBfcGFnZShkLCBnZm4pOworICAgIHJjID0gaGQtPnBsYXRm b3JtX29wcy0+dW5tYXBfcGFnZShkLCBnZm4pOworCisgICAgaWYgKCByYyApCisgICAgeworICAg ICAgICBpZiAoIGlzX2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgICAgICBwcmludGsoWEVO TE9HX0VSUgorICAgICAgICAgICAgICAgICAgICJpb21tdV91bm1hcF9wYWdlOiBJT01NVSB1bm1h cHBpbmcgZ2ZuICUjbHggZmFpbGVkIGZvciBkb20lZC4iLAorICAgICAgICAgICAgICAgICAgIGdm biwgZC0+ZG9tYWluX2lkKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZG9tYWluX2NyYXNo KGQpOworICAgIH0KKworICAgIHJldHVybiByYzsKIH0KIAogc3RhdGljIHZvaWQgaW9tbXVfZnJl ZV9wYWdldGFibGVzKHVuc2lnbmVkIGxvbmcgdW51c2VkKQotLSAKMS45LjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=