From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 09/13] vtd: add lookup_page method to iommu_ops Date: Sat, 7 Jul 2018 12:05:22 +0100 Message-ID: <20180707110526.35822-10-paul.durrant@citrix.com> References: <20180707110526.35822-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fbl1z-00024g-Ky for xen-devel@lists.xenproject.org; Sat, 07 Jul 2018 11:05:35 +0000 In-Reply-To: <20180707110526.35822-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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGEgbmV3IG1ldGhvZCB0byB0aGUgVlQtZCBJT01NVSBpbXBsZW1lbnRh dGlvbiB0byBmaW5kIHRoZQpNRk4gY3VycmVudGx5IG1hcHBlZCBieSB0aGUgc3BlY2lmaWVkIEJG TiBhbG9uZyB3aXRoIGEgd3JhcHBlciBmdW5jdGlvbiBpbgpnZW5lcmljIElPTU1VIGNvZGUgdG8g Y2FsbCB0aGUgaW1wbGVtZW50YXRpb24gaWYgaXQgZXhpc3RzLgoKVGhpcyBmdW5jdGlvbmFsaXR5 IHdpbGwgYmUgdXNlZCBieSBhIHN1YnNlcXVlbnQgcGF0Y2guCgpTaWduZWQtb2ZmLWJ5OiBQYXVs IER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEtldmluIFRpYW4gPGtl dmluLnRpYW5AaW50ZWwuY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoK djI6CiAtIEFkZHJlc3NlZCBzb21lIGNvbW1lbnRzIGZyb20gSmFuLgotLS0KIHhlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgIHwgMTEgKysrKysrKysrKwogeGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvdnRkL2lvbW11LmMgfCA0MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaCB8ICAxICsKIHhlbi9p bmNsdWRlL3hlbi9pb21tdS5oICAgICAgICAgICAgIHwgIDQgKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCA1NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv aW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggM2ZiZDNlYmFm Ni4uZjI1YWEzZjFkNiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0zMDYsNiArMzA2LDE3 IEBAIGludCBpb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbikKICAg ICByZXR1cm4gcmM7CiB9CiAKK2ludCBpb21tdV9sb29rdXBfcGFnZShzdHJ1Y3QgZG9tYWluICpk LCBiZm5fdCBiZm4sIG1mbl90ICptZm4sCisgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50ICpmbGFncykKK3sKKyAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9p b21tdShkKTsKKworICAgIGlmICggIWlvbW11X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMg KQorICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CisKKyAgICByZXR1cm4gaGQtPnBsYXRmb3Jt X29wcy0+bG9va3VwX3BhZ2UoZCwgYmZuLCBtZm4sIGZsYWdzKTsKK30KKwogc3RhdGljIHZvaWQg aW9tbXVfZnJlZV9wYWdldGFibGVzKHVuc2lnbmVkIGxvbmcgdW51c2VkKQogewogICAgIGRvIHsK ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jIGIveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggN2NkMzgxM2I5Zi4uNDM4YmVmNjcw ZCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKKysrIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTE4MzEsNiArMTgzMSw0NSBA QCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpbnRlbF9pb21tdV91bm1hcF9wYWdlKHN0cnVjdCBk b21haW4gKmQsCiAgICAgcmV0dXJuIGRtYV9wdGVfY2xlYXJfb25lKGQsIGJmbl90b19iYWRkcihi Zm4pKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF9pb21tdV9sb29rdXBfcGFnZShzdHJ1Y3QgZG9t YWluICpkLCBiZm5fdCBiZm4sIG1mbl90ICptZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpCit7CisgICAgc3RydWN0IGRvbWFpbl9pb21t dSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGRtYV9wdGUgKnBhZ2UgPSBOVUxMLCAq cHRlID0gTlVMTCwgdmFsOworICAgIHU2NCBwZ19tYWRkcjsKKworICAgIHNwaW5fbG9jaygmaGQt PmFyY2gubWFwcGluZ19sb2NrKTsKKworICAgIHBnX21hZGRyID0gYWRkcl90b19kbWFfcGFnZV9t YWRkcihkLCBiZm5fdG9fYmFkZHIoYmZuKSwgMCk7CisgICAgaWYgKCBwZ19tYWRkciA9PSAwICkK KyAgICB7CisgICAgICAgIHNwaW5fdW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAg ICAgICByZXR1cm4gLUVOT01FTTsKKyAgICB9CisKKyAgICBwYWdlID0gbWFwX3Z0ZF9kb21haW5f cGFnZShwZ19tYWRkcik7CisgICAgcHRlID0gcGFnZSArIChiZm5feChiZm4pICYgTEVWRUxfTUFT Syk7CisgICAgdmFsID0gKnB0ZTsKKyAgICBpZiAoICFkbWFfcHRlX3ByZXNlbnQodmFsKSApCisg ICAgeworICAgICAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFnZSk7CisgICAgICAgIHNwaW5f dW5sb2NrKCZoZC0+YXJjaC5tYXBwaW5nX2xvY2spOworICAgICAgICByZXR1cm4gLUVOT01FTTsK KyAgICB9CisKKyAgICB1bm1hcF92dGRfZG9tYWluX3BhZ2UocGFnZSk7CisgICAgc3Bpbl91bmxv Y2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICAqbWZuID0gbWFkZHJfdG9fbWZuKGRt YV9wdGVfYWRkcih2YWwpKTsKKyAgICAqZmxhZ3MgPSAwOworICAgIGlmICggZG1hX3B0ZV9wcm90 KHZhbCkgJiBETUFfUFRFX1JFQUQgKQorICAgICAgICAqZmxhZ3MgfD0gSU9NTVVGX3JlYWRhYmxl OworICAgIGlmICggZG1hX3B0ZV9wcm90KHZhbCkgJiBETUFfUFRFX1dSSVRFICkKKyAgICAgICAg KmZsYWdzIHw9IElPTU1VRl93cml0YWJsZTsKKworICAgIHJldHVybiAwOworfQorCiBpbnQgaW9t bXVfcHRlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGJmbiwgdWludDY0X3QgKnB0 ZSwKICAgICAgICAgICAgICAgICAgICAgaW50IG9yZGVyLCBpbnQgcHJlc2VudCkKIHsKQEAgLTI2 NjIsNiArMjcwMSw3IEBAIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgaW50ZWxfaW9tbXVfb3BzID0g ewogICAgIC50ZWFyZG93biA9IGlvbW11X2RvbWFpbl90ZWFyZG93biwKICAgICAubWFwX3BhZ2Ug PSBpbnRlbF9pb21tdV9tYXBfcGFnZSwKICAgICAudW5tYXBfcGFnZSA9IGludGVsX2lvbW11X3Vu bWFwX3BhZ2UsCisgICAgLmxvb2t1cF9wYWdlID0gaW50ZWxfaW9tbXVfbG9va3VwX3BhZ2UsCiAg ICAgLmZyZWVfcGFnZV90YWJsZSA9IGlvbW11X2ZyZWVfcGFnZV90YWJsZSwKICAgICAucmVhc3Np Z25fZGV2aWNlID0gcmVhc3NpZ25fZGV2aWNlX293bmVyc2hpcCwKICAgICAuZ2V0X2RldmljZV9n cm91cF9pZCA9IGludGVsX2lvbW11X2dyb3VwX2lkLApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvdnRkL2lvbW11LmggYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuaAppbmRleCA3MmMxYTJlM2NkLi45ZGU5OTQzMDhmIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuaApAQCAtMjcyLDYgKzI3Miw3IEBAIHN0cnVjdCBkbWFfcHRlIHsKICNkZWZpbmUg ZG1hX3NldF9wdGVfcHJvdChwLCBwcm90KSBkbyB7IFwKICAgICAgICAgKHApLnZhbCA9ICgocCku dmFsICYgfkRNQV9QVEVfUFJPVCkgfCAoKHByb3QpICYgRE1BX1BURV9QUk9UKTsgXAogICAgIH0g d2hpbGUgKDApCisjZGVmaW5lIGRtYV9wdGVfcHJvdChwKSAoKHApLnZhbCAmIERNQV9QVEVfUFJP VCkKICNkZWZpbmUgZG1hX3B0ZV9hZGRyKHApICgocCkudmFsICYgUEFERFJfTUFTSyAmIFBBR0Vf TUFTS180SykKICNkZWZpbmUgZG1hX3NldF9wdGVfYWRkcihwLCBhZGRyKSBkbyB7XAogICAgICAg ICAgICAgKHApLnZhbCB8PSAoKGFkZHIpICYgUEFHRV9NQVNLXzRLKTsgfSB3aGlsZSAoMCkKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUveGVuL2lvbW11 LmgKaW5kZXggY2MwYmU4MWI0ZS4uN2M1ZDQ2ZGY4MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv eGVuL2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKQEAgLTEwMCw2ICsxMDAs OCBAQCB2b2lkIGlvbW11X3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwogaW50IF9fbXVzdF9j aGVjayBpb21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IGZsYWdzKTsK IGludCBfX211c3RfY2hlY2sgaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5f dCBiZm4pOworaW50IF9fbXVzdF9jaGVjayBpb21tdV9sb29rdXBfcGFnZShzdHJ1Y3QgZG9tYWlu ICpkLCBiZm5fdCBiZm4sIG1mbl90ICptZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpOwogCiBlbnVtIGlvbW11X2ZlYXR1cmUKIHsKQEAg LTE5OCw2ICsyMDAsOCBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsKICAgICBpbnQgX19tdXN0X2NoZWNr ICgqbWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgbWZuLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKICAgICBp bnQgX19tdXN0X2NoZWNrICgqdW5tYXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZu KTsKKyAgICBpbnQgX19tdXN0X2NoZWNrICgqbG9va3VwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQs IGJmbl90IGJmbiwgbWZuX3QgKm1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpOwogICAgIHZvaWQgKCpmcmVlX3BhZ2VfdGFibGUpKHN0 cnVjdCBwYWdlX2luZm8gKik7CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIHZvaWQgKCp1cGRhdGVf aXJlX2Zyb21fYXBpYykodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcsIHVuc2ln bmVkIGludCB2YWx1ZSk7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz dGluZm8veGVuLWRldmVs