From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 4/7] vtd: add lookup_page method to iommu_ops Date: Mon, 12 Feb 2018 10:47:11 +0000 Message-ID: <20180212104714.1922-5-paul.durrant@citrix.com> References: <20180212104714.1922-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.84_2) (envelope-from ) id 1elBdt-0003cZ-E7 for xen-devel@lists.xenproject.org; Mon, 12 Feb 2018 10:47:25 +0000 In-Reply-To: <20180212104714.1922-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 Ti4gVGhpcyBmdW5jdGlvbmFsaXR5IHdpbGwgYmUgdXNlZApieSBhIHN1YnNlcXVlbnQgcGF0Y2gu CgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgot LS0KQ2M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpDYzogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5jIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2RyaXZl cnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmggfCAgMiArKwogeGVuL2luY2x1ZGUveGVuL2lvbW11 LmggICAgICAgICAgICAgfCAgMiArKwogMyBmaWxlcyBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCBhMjc1Mjk0MTJhLi5iYzRmYzM2 ZDVmIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMTgyNyw2ICsxODI3LDQ0 IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGludGVsX2lvbW11X3VubWFwX3BhZ2Uoc3RydWN0 IGRvbWFpbiAqZCwKICAgICByZXR1cm4gZG1hX3B0ZV9jbGVhcl9vbmUoZCwgKHBhZGRyX3QpYmZu X3goYmZuKSA8PCBQQUdFX1NISUZUXzRLKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF9pb21tdV9s b29rdXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sIG1mbl90ICptZm4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpCit7Cisg ICAgc3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CisgICAgc3RydWN0IGRt YV9wdGUgKnBhZ2UgPSBOVUxMLCAqcHRlID0gTlVMTCwgdmFsOworICAgIHU2NCBwZ19tYWRkcjsK KworICAgIHNwaW5fbG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKworICAgIHBnX21hZGRy ID0KKyAgICAgICAgYWRkcl90b19kbWFfcGFnZV9tYWRkcihkLCAocGFkZHJfdCliZm5feChiZm4p IDw8IFBBR0VfU0hJRlRfNEssIDEpOworICAgIGlmICggcGdfbWFkZHIgPT0gMCApCisgICAgewor ICAgICAgICBzcGluX3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKyAgICAgICAgcmV0 dXJuIC1FTk9NRU07CisgICAgfQorICAgIHBhZ2UgPSAoc3RydWN0IGRtYV9wdGUgKiltYXBfdnRk X2RvbWFpbl9wYWdlKHBnX21hZGRyKTsKKyAgICBwdGUgPSBwYWdlICsgKGJmbl94KGJmbikgJiBM RVZFTF9NQVNLKTsKKyAgICB2YWwgPSAqcHRlOworICAgIGlmICghZG1hX3B0ZV9wcmVzZW50KHZh bCkpIHsKKyAgICAgICAgdW5tYXBfdnRkX2RvbWFpbl9wYWdlKHBhZ2UpOworICAgICAgICBzcGlu X3VubG9jaygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07 CisgICAgfQorICAgIHVubWFwX3Z0ZF9kb21haW5fcGFnZShwYWdlKTsKKyAgICBzcGluX3VubG9j aygmaGQtPmFyY2gubWFwcGluZ19sb2NrKTsKKworICAgICptZm4gPSBfbWZuKGRtYV9nZXRfcHRl X2FkZHIodmFsKSA+PiBQQUdFX1NISUZUXzRLKTsKKworICAgICpmbGFncyA9IDA7CisgICAgaWYg KGRtYV9nZXRfcHRlX3Byb3QodmFsKSAmIERNQV9QVEVfUkVBRCkKKyAgICAgICAgKmZsYWdzIHw9 IElPTU1VRl9yZWFkYWJsZTsKKyAgICBpZiAoZG1hX2dldF9wdGVfcHJvdCh2YWwpICYgRE1BX1BU RV9XUklURSkKKyAgICAgICAgKmZsYWdzIHw9IElPTU1VRl93cml0YWJsZTsKKworICAgIHJldHVy biAwOworfQorCiBpbnQgaW9tbXVfcHRlX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIHU2NCBiZm4s IHU2NCAqcHRlLAogICAgICAgICAgICAgICAgICAgICBpbnQgb3JkZXIsIGludCBwcmVzZW50KQog ewpAQCAtMjY1Miw2ICsyNjkwLDcgQEAgY29uc3Qgc3RydWN0IGlvbW11X29wcyBpbnRlbF9pb21t dV9vcHMgPSB7CiAgICAgLnRlYXJkb3duID0gaW9tbXVfZG9tYWluX3RlYXJkb3duLAogICAgIC5t YXBfcGFnZSA9IGludGVsX2lvbW11X21hcF9wYWdlLAogICAgIC51bm1hcF9wYWdlID0gaW50ZWxf aW9tbXVfdW5tYXBfcGFnZSwKKyAgICAubG9va3VwX3BhZ2UgPSBpbnRlbF9pb21tdV9sb29rdXBf cGFnZSwKICAgICAuZnJlZV9wYWdlX3RhYmxlID0gaW9tbXVfZnJlZV9wYWdlX3RhYmxlLAogICAg IC5yZWFzc2lnbl9kZXZpY2UgPSByZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwLAogICAgIC5nZXRf ZGV2aWNlX2dyb3VwX2lkID0gaW50ZWxfaW9tbXVfZ3JvdXBfaWQsCmRpZmYgLS1naXQgYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaCBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pb21tdS5oCmluZGV4IDcyYzFhMmUzY2QuLjVlZGE2Njg2OGUgMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9pb21tdS5oCkBAIC0yNzIsOSArMjcyLDExIEBAIHN0cnVjdCBkbWFfcHRlIHsK ICNkZWZpbmUgZG1hX3NldF9wdGVfcHJvdChwLCBwcm90KSBkbyB7IFwKICAgICAgICAgKHApLnZh bCA9ICgocCkudmFsICYgfkRNQV9QVEVfUFJPVCkgfCAoKHByb3QpICYgRE1BX1BURV9QUk9UKTsg XAogICAgIH0gd2hpbGUgKDApCisjZGVmaW5lIGRtYV9nZXRfcHRlX3Byb3QocCkgKChwKS52YWwg JiBETUFfUFRFX1BST1QpCiAjZGVmaW5lIGRtYV9wdGVfYWRkcihwKSAoKHApLnZhbCAmIFBBRERS X01BU0sgJiBQQUdFX01BU0tfNEspCiAjZGVmaW5lIGRtYV9zZXRfcHRlX2FkZHIocCwgYWRkcikg ZG8ge1wKICAgICAgICAgICAgIChwKS52YWwgfD0gKChhZGRyKSAmIFBBR0VfTUFTS180Syk7IH0g d2hpbGUgKDApCisjZGVmaW5lIGRtYV9nZXRfcHRlX2FkZHIocCkgKChwKS52YWwgJiBQQUdFX01B U0tfNEspCiAjZGVmaW5lIGRtYV9wdGVfcHJlc2VudChwKSAoKChwKS52YWwgJiBETUFfUFRFX1BS T1QpICE9IDApCiAjZGVmaW5lIGRtYV9wdGVfc3VwZXJwYWdlKHApICgoKHApLnZhbCAmIERNQV9Q VEVfU1ApICE9IDApCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIveGVu L2luY2x1ZGUveGVuL2lvbW11LmgKaW5kZXggZmQ2ZjZmYjA1YS4uNDAwOTllOGYzMiAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvbW11 LmgKQEAgLTE3OSw2ICsxNzksOCBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsKICAgICBpbnQgX19tdXN0 X2NoZWNrICgqbWFwX3BhZ2UpKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgbWZu LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKTsK ICAgICBpbnQgX19tdXN0X2NoZWNrICgqdW5tYXBfcGFnZSkoc3RydWN0IGRvbWFpbiAqZCwgYmZu X3QgYmZuKTsKKyAgICBpbnQgX19tdXN0X2NoZWNrICgqbG9va3VwX3BhZ2UpKHN0cnVjdCBkb21h aW4gKmQsIGJmbl90IGJmbiwgbWZuX3QgKm1mbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCAqZmxhZ3MpOwogICAgIHZvaWQgKCpmcmVlX3BhZ2VfdGFi bGUpKHN0cnVjdCBwYWdlX2luZm8gKik7CiAjaWZkZWYgQ09ORklHX1g4NgogICAgIHZvaWQgKCp1 cGRhdGVfaXJlX2Zyb21fYXBpYykodW5zaWduZWQgaW50IGFwaWMsIHVuc2lnbmVkIGludCByZWcs IHVuc2lnbmVkIGludCB2YWx1ZSk7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs