From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v6 08/14] vtd: add lookup_page method to iommu_ops Date: Thu, 23 Aug 2018 10:47:05 +0100 Message-ID: <20180823094711.21376-9-paul.durrant@citrix.com> References: <20180823094711.21376-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fsmD3-000069-GC for xen-devel@lists.xenproject.org; Thu, 23 Aug 2018 09:47:21 +0000 In-Reply-To: <20180823094711.21376-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Kevin Tian , Paul Durrant , George Dunlap , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGEgbmV3IG1ldGhvZCB0byB0aGUgVlQtZCBJT01NVSBpbXBsZW1lbnRh dGlvbiB0byBmaW5kIHRoZQpNRk4gY3VycmVudGx5IG1hcHBlZCBieSB0aGUgc3BlY2lmaWVkIEJG TiBhbG9uZyB3aXRoIGEgd3JhcHBlciBmdW5jdGlvbiBpbgpnZW5lcmljIElPTU1VIGNvZGUgdG8g Y2FsbCB0aGUgaW1wbGVtZW50YXRpb24gaWYgaXQgZXhpc3RzLgoKVGhpcyBmdW5jdGlvbmFsaXR5 IHdpbGwgYmUgdXNlZCBieSBhIHN1YnNlcXVlbnQgcGF0Y2guCgpTaWduZWQtb2ZmLWJ5OiBQYXVs IER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCkNjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVs LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEdlb3JnZSBEdW5s YXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KCnYzOgogLSBBZGRyZXNzZWQgY29tbWVudHMg ZnJvbSBHZW9yZ2UuCgp2MjoKIC0gQWRkcmVzc2VkIHNvbWUgY29tbWVudHMgZnJvbSBKYW4uCi0t LQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyAgICAgfCAxMSArKysrKysrKysrKwog eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgfCAzNCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaCB8 ICAzICsrKwogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAgICAgICAgICAgfCAgNCArKysrCiA0 IGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpp bmRleCA5YjYzZTllZmVlLi43ODA4ZmE4NWQwIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKQEAg LTMwNSw2ICszMDUsMTcgQEAgaW50IGlvbW11X3VubWFwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwg YmZuX3QgYmZuKQogICAgIHJldHVybiByYzsKIH0KIAoraW50IGlvbW11X2xvb2t1cF9wYWdlKHN0 cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgKm1mbiwKKyAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgKmZsYWdzKQoreworICAgIGNvbnN0IHN0cnVjdCBkb21haW5faW9t bXUgKmhkID0gZG9tX2lvbW11KGQpOworCisgICAgaWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQt PnBsYXRmb3JtX29wcyApCisgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKKworICAgIHJldHVy biBoZC0+cGxhdGZvcm1fb3BzLT5sb29rdXBfcGFnZShkLCBiZm4sIG1mbiwgZmxhZ3MpOworfQor CiBzdGF0aWMgdm9pZCBpb21tdV9mcmVlX3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyB1bnVzZWQp CiB7CiAgICAgZG8gewpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv bW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCAyODJlMjI3 NDE0Li44Y2QzYjU5YWEwIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv aW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMTgz MCw2ICsxODMwLDM5IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11X3VubWFw X3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwKICAgICByZXR1cm4gZG1hX3B0ZV9jbGVhcl9vbmUoZCwg YmZuX3RvX2JhZGRyKGJmbikpOwogfQogCitzdGF0aWMgaW50IGludGVsX2lvbW11X2xvb2t1cF9w YWdlKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgKm1mbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICpmbGFncykKK3sKKyAgICBzdHJ1 Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKKyAgICBzdHJ1Y3QgZG1hX3B0ZSAq cGFnZSA9IE5VTEwsICpwdGUgPSBOVUxMLCB2YWw7CisgICAgdTY0IHBnX21hZGRyOworCisgICAg c3Bpbl9sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworCisgICAgcGdfbWFkZHIgPSBhZGRy X3RvX2RtYV9wYWdlX21hZGRyKGQsIGJmbl90b19iYWRkcihiZm4pLCAwKTsKKyAgICBpZiAoIHBn X21hZGRyID09IDAgKQorICAgIHsKKyAgICAgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1hcHBp bmdfbG9jayk7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKworICAgIHBhZ2UgPSBt YXBfdnRkX2RvbWFpbl9wYWdlKHBnX21hZGRyKTsKKyAgICBwdGUgPSBwYWdlICsgKGJmbl94KGJm bikgJiBMRVZFTF9NQVNLKTsKKyAgICB2YWwgPSAqcHRlOworCisgICAgdW5tYXBfdnRkX2RvbWFp bl9wYWdlKHBhZ2UpOworICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOwor CisgICAgaWYgKCAhZG1hX3B0ZV9wcmVzZW50KHZhbCkgKQorICAgICAgICByZXR1cm4gLUVOT0VO VDsKKworICAgICptZm4gPSBtYWRkcl90b19tZm4oZG1hX3B0ZV9hZGRyKHZhbCkpOworICAgICpm bGFncyA9IGRtYV9wdGVfcmVhZCh2YWwpID8gSU9NTVVGX3JlYWRhYmxlIDogMDsKKyAgICAqZmxh Z3MgfD0gZG1hX3B0ZV93cml0ZSh2YWwpID8gSU9NTVVGX3dyaXRhYmxlIDogMDsKKworICAgIHJl dHVybiAwOworfQorCiBpbnQgaW9tbXVfcHRlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2 NF90IGJmbiwgdWludDY0X3QgKnB0ZSwKICAgICAgICAgICAgICAgICAgICAgaW50IG9yZGVyLCBp bnQgcHJlc2VudCkKIHsKQEAgLTI2NjEsNiArMjY5NCw3IEBAIGNvbnN0IHN0cnVjdCBpb21tdV9v cHMgaW50ZWxfaW9tbXVfb3BzID0gewogICAgIC50ZWFyZG93biA9IGlvbW11X2RvbWFpbl90ZWFy ZG93biwKICAgICAubWFwX3BhZ2UgPSBpbnRlbF9pb21tdV9tYXBfcGFnZSwKICAgICAudW5tYXBf cGFnZSA9IGludGVsX2lvbW11X3VubWFwX3BhZ2UsCisgICAgLmxvb2t1cF9wYWdlID0gaW50ZWxf aW9tbXVfbG9va3VwX3BhZ2UsCiAgICAgLmZyZWVfcGFnZV90YWJsZSA9IGlvbW11X2ZyZWVfcGFn ZV90YWJsZSwKICAgICAucmVhc3NpZ25fZGV2aWNlID0gcmVhc3NpZ25fZGV2aWNlX293bmVyc2hp cCwKICAgICAuZ2V0X2RldmljZV9ncm91cF9pZCA9IGludGVsX2lvbW11X2dyb3VwX2lkLApkaWZm IC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmggYi94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAppbmRleCA3MmMxYTJlM2NkLi40N2JkZmNiNWVhIDEw MDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAtMjcyLDYgKzI3Miw5IEBAIHN0cnVj dCBkbWFfcHRlIHsKICNkZWZpbmUgZG1hX3NldF9wdGVfcHJvdChwLCBwcm90KSBkbyB7IFwKICAg ICAgICAgKHApLnZhbCA9ICgocCkudmFsICYgfkRNQV9QVEVfUFJPVCkgfCAoKHByb3QpICYgRE1B X1BURV9QUk9UKTsgXAogICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIGRtYV9wdGVfcHJvdChwKSAo KHApLnZhbCAmIERNQV9QVEVfUFJPVCkKKyNkZWZpbmUgZG1hX3B0ZV9yZWFkKHApIChkbWFfcHRl X3Byb3QocCkgJiBETUFfUFRFX1JFQUQpCisjZGVmaW5lIGRtYV9wdGVfd3JpdGUocCkgKGRtYV9w dGVfcHJvdChwKSAmIERNQV9QVEVfV1JJVEUpCiAjZGVmaW5lIGRtYV9wdGVfYWRkcihwKSAoKHAp LnZhbCAmIFBBRERSX01BU0sgJiBQQUdFX01BU0tfNEspCiAjZGVmaW5lIGRtYV9zZXRfcHRlX2Fk ZHIocCwgYWRkcikgZG8ge1wKICAgICAgICAgICAgIChwKS52YWwgfD0gKChhZGRyKSAmIFBBR0Vf TUFTS180Syk7IH0gd2hpbGUgKDApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUu aCBiL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCmluZGV4IDhjZGI1MzBkNDkuLmNkZDc1YWNmNjIg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL3hl bi9pb21tdS5oCkBAIC0xMDAsNiArMTAwLDggQEAgdm9pZCBpb21tdV90ZWFyZG93bihzdHJ1Y3Qg ZG9tYWluICpkKTsKIGludCBfX211c3RfY2hlY2sgaW9tbXVfbWFwX3BhZ2Uoc3RydWN0IGRvbWFp biAqZCwgYmZuX3QgYmZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5fdCBt Zm4sIHVuc2lnbmVkIGludCBmbGFncyk7CiBpbnQgX19tdXN0X2NoZWNrIGlvbW11X3VubWFwX3Bh Z2Uoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuKTsKK2ludCBfX211c3RfY2hlY2sgaW9tbXVf bG9va3VwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuLCBtZm5fdCAqbWZuLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmZsYWdzKTsKIAog ZW51bSBpb21tdV9mZWF0dXJlCiB7CkBAIC0xOTYsNiArMTk4LDggQEAgc3RydWN0IGlvbW11X29w cyB7CiAgICAgaW50IF9fbXVzdF9jaGVjayAoKm1hcF9wYWdlKShzdHJ1Y3QgZG9tYWluICpkLCBi Zm5fdCBiZm4sIG1mbl90IG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBmbGFncyk7CiAgICAgaW50IF9fbXVzdF9jaGVjayAoKnVubWFwX3BhZ2UpKHN0 cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbik7CisgICAgaW50IF9fbXVzdF9jaGVjayAoKmxvb2t1 cF9wYWdlKShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sIG1mbl90ICptZm4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmZsYWdzKTsKICAgICB2 b2lkICgqZnJlZV9wYWdlX3RhYmxlKShzdHJ1Y3QgcGFnZV9pbmZvICopOwogI2lmZGVmIENPTkZJ R19YODYKICAgICB2b2lkICgqdXBkYXRlX2lyZV9mcm9tX2FwaWMpKHVuc2lnbmVkIGludCBhcGlj LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsdWUpOwotLSAKMi4xMS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==