From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 09/13] vtd: add lookup_page method to iommu_ops Date: Tue, 17 Jul 2018 14:38:12 +0100 Message-ID: <20180717133816.37958-10-paul.durrant@citrix.com> References: <20180717133816.37958-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 1ffQBO-0005m3-LQ for xen-devel@lists.xenproject.org; Tue, 17 Jul 2018 13:38:26 +0000 In-Reply-To: <20180717133816.37958-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 IER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgotLS0KQ2M6IEtldmluIFRpYW4gPGtl dmluLnRpYW5AaW50ZWwuY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpD YzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKdjM6CiAtIEFkZHJl c3NlZCBjb21tZW50cyBmcm9tIEdlb3JnZS4KCnYyOgogLSBBZGRyZXNzZWQgc29tZSBjb21tZW50 cyBmcm9tIEphbi4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jICAgICB8IDEx ICsrKysrKysrKysrCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyB8IDM0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pb21tdS5oIHwgIDMgKysrCiB4ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaCAgICAgICAgICAg ICB8ICA0ICsrKysKIDQgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdp dCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC9pb21tdS5jCmluZGV4IDIwNDgzNDJmM2UuLmZiOWQwZTE4NDggMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvaW9tbXUuYwpAQCAtMzA1LDYgKzMwNSwxNyBAQCBpbnQgaW9tbXVfdW5tYXBfcGFnZShzdHJ1 Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4pCiAgICAgcmV0dXJuIHJjOwogfQogCitpbnQgaW9tbXVf bG9va3VwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuLCBtZm5fdCAqbWZuLAorICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpCit7CisgICAgY29uc3Qgc3Ry dWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisKKyAgICBpZiAoICFpb21tdV9l bmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzICkKKyAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQ OworCisgICAgcmV0dXJuIGhkLT5wbGF0Zm9ybV9vcHMtPmxvb2t1cF9wYWdlKGQsIGJmbiwgbWZu LCBmbGFncyk7Cit9CisKIHN0YXRpYyB2b2lkIGlvbW11X2ZyZWVfcGFnZXRhYmxlcyh1bnNpZ25l ZCBsb25nIHVudXNlZCkKIHsKICAgICBkbyB7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC92dGQvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j CmluZGV4IDI4MmUyMjc0MTQuLjhjZDNiNTlhYTAgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9p b21tdS5jCkBAIC0xODMwLDYgKzE4MzAsMzkgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW50 ZWxfaW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLAogICAgIHJldHVybiBkbWFfcHRl X2NsZWFyX29uZShkLCBiZm5fdG9fYmFkZHIoYmZuKSk7CiB9CiAKK3N0YXRpYyBpbnQgaW50ZWxf aW9tbXVfbG9va3VwX3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuLCBtZm5fdCAqbWZu LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmZsYWdz KQoreworICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOworICAgIHN0 cnVjdCBkbWFfcHRlICpwYWdlID0gTlVMTCwgKnB0ZSA9IE5VTEwsIHZhbDsKKyAgICB1NjQgcGdf bWFkZHI7CisKKyAgICBzcGluX2xvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CisKKyAgICBw Z19tYWRkciA9IGFkZHJfdG9fZG1hX3BhZ2VfbWFkZHIoZCwgYmZuX3RvX2JhZGRyKGJmbiksIDAp OworICAgIGlmICggcGdfbWFkZHIgPT0gMCApCisgICAgeworICAgICAgICBzcGluX3VubG9jaygm aGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgfQor CisgICAgcGFnZSA9IG1hcF92dGRfZG9tYWluX3BhZ2UocGdfbWFkZHIpOworICAgIHB0ZSA9IHBh Z2UgKyAoYmZuX3goYmZuKSAmIExFVkVMX01BU0spOworICAgIHZhbCA9ICpwdGU7CisKKyAgICB1 bm1hcF92dGRfZG9tYWluX3BhZ2UocGFnZSk7CisgICAgc3Bpbl91bmxvY2soJmhkLT5hcmNoLm1h cHBpbmdfbG9jayk7CisKKyAgICBpZiAoICFkbWFfcHRlX3ByZXNlbnQodmFsKSApCisgICAgICAg IHJldHVybiAtRU5PRU5UOworCisgICAgKm1mbiA9IG1hZGRyX3RvX21mbihkbWFfcHRlX2FkZHIo dmFsKSk7CisgICAgKmZsYWdzID0gZG1hX3B0ZV9yZWFkKHZhbCkgPyBJT01NVUZfcmVhZGFibGUg OiAwOworICAgICpmbGFncyB8PSBkbWFfcHRlX3dyaXRlKHZhbCkgPyBJT01NVUZfd3JpdGFibGUg OiAwOworCisgICAgcmV0dXJuIDA7Cit9CisKIGludCBpb21tdV9wdGVfZmx1c2goc3RydWN0IGRv bWFpbiAqZCwgdWludDY0X3QgYmZuLCB1aW50NjRfdCAqcHRlLAogICAgICAgICAgICAgICAgICAg ICBpbnQgb3JkZXIsIGludCBwcmVzZW50KQogewpAQCAtMjY2MSw2ICsyNjk0LDcgQEAgY29uc3Qg c3RydWN0IGlvbW11X29wcyBpbnRlbF9pb21tdV9vcHMgPSB7CiAgICAgLnRlYXJkb3duID0gaW9t bXVfZG9tYWluX3RlYXJkb3duLAogICAgIC5tYXBfcGFnZSA9IGludGVsX2lvbW11X21hcF9wYWdl LAogICAgIC51bm1hcF9wYWdlID0gaW50ZWxfaW9tbXVfdW5tYXBfcGFnZSwKKyAgICAubG9va3Vw X3BhZ2UgPSBpbnRlbF9pb21tdV9sb29rdXBfcGFnZSwKICAgICAuZnJlZV9wYWdlX3RhYmxlID0g aW9tbXVfZnJlZV9wYWdlX3RhYmxlLAogICAgIC5yZWFzc2lnbl9kZXZpY2UgPSByZWFzc2lnbl9k ZXZpY2Vfb3duZXJzaGlwLAogICAgIC5nZXRfZGV2aWNlX2dyb3VwX2lkID0gaW50ZWxfaW9tbXVf Z3JvdXBfaWQsCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu aCBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCmluZGV4IDcyYzFhMmUzY2Qu LjQ3YmRmY2I1ZWEgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC0yNzIsNiAr MjcyLDkgQEAgc3RydWN0IGRtYV9wdGUgewogI2RlZmluZSBkbWFfc2V0X3B0ZV9wcm90KHAsIHBy b3QpIGRvIHsgXAogICAgICAgICAocCkudmFsID0gKChwKS52YWwgJiB+RE1BX1BURV9QUk9UKSB8 ICgocHJvdCkgJiBETUFfUFRFX1BST1QpOyBcCiAgICAgfSB3aGlsZSAoMCkKKyNkZWZpbmUgZG1h X3B0ZV9wcm90KHApICgocCkudmFsICYgRE1BX1BURV9QUk9UKQorI2RlZmluZSBkbWFfcHRlX3Jl YWQocCkgKGRtYV9wdGVfcHJvdChwKSAmIERNQV9QVEVfUkVBRCkKKyNkZWZpbmUgZG1hX3B0ZV93 cml0ZShwKSAoZG1hX3B0ZV9wcm90KHApICYgRE1BX1BURV9XUklURSkKICNkZWZpbmUgZG1hX3B0 ZV9hZGRyKHApICgocCkudmFsICYgUEFERFJfTUFTSyAmIFBBR0VfTUFTS180SykKICNkZWZpbmUg ZG1hX3NldF9wdGVfYWRkcihwLCBhZGRyKSBkbyB7XAogICAgICAgICAgICAgKHApLnZhbCB8PSAo KGFkZHIpICYgUEFHRV9NQVNLXzRLKTsgfSB3aGlsZSAoMCkKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9pb21tdS5oIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKaW5kZXggY2MwYmU4MWI0 ZS4uN2M1ZDQ2ZGY4MSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysrIGIv eGVuL2luY2x1ZGUveGVuL2lvbW11LmgKQEAgLTEwMCw2ICsxMDAsOCBAQCB2b2lkIGlvbW11X3Rl YXJkb3duKHN0cnVjdCBkb21haW4gKmQpOwogaW50IF9fbXVzdF9jaGVjayBpb21tdV9tYXBfcGFn ZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1mbl90IG1mbiwgdW5zaWduZWQgaW50IGZsYWdzKTsKIGludCBfX211c3RfY2hlY2sg aW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4pOworaW50IF9fbXVz dF9jaGVjayBpb21tdV9sb29rdXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sIG1m bl90ICptZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCAqZmxhZ3MpOwogCiBlbnVtIGlvbW11X2ZlYXR1cmUKIHsKQEAgLTE5OCw2ICsyMDAsOCBAQCBz dHJ1Y3QgaW9tbXVfb3BzIHsKICAgICBpbnQgX19tdXN0X2NoZWNrICgqbWFwX3BhZ2UpKHN0cnVj dCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgbWZuLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsKICAgICBpbnQgX19tdXN0X2NoZWNrICgq dW5tYXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgYmZuX3QgYmZuKTsKKyAgICBpbnQgX19tdXN0 X2NoZWNrICgqbG9va3VwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3Qg Km1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAq ZmxhZ3MpOwogICAgIHZvaWQgKCpmcmVlX3BhZ2VfdGFibGUpKHN0cnVjdCBwYWdlX2luZm8gKik7 CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIHZvaWQgKCp1cGRhdGVfaXJlX2Zyb21fYXBpYykodW5z aWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcsIHVuc2lnbmVkIGludCB2YWx1ZSk7Ci0t IAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs