From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 11/12] IOMMU: remove indirection from certain IOMMU hook accesses Date: Tue, 02 Oct 2018 04:18:40 -0600 Message-ID: <5BB3460002000078001EDA5D@prv1-mh.provo.novell.com> References: <5B97C28802000078001E7456@prv1-mh.provo.novell.com> <5BB343D802000078001ED9F6@prv1-mh.provo.novell.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 1g7HlN-0000lL-U1 for xen-devel@lists.xenproject.org; Tue, 02 Oct 2018 10:18:45 +0000 In-Reply-To: <5BB343D802000078001ED9F6@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall List-Id: xen-devel@lists.xenproject.org SW4gIUlPTU1VX01JWEVEIG1vZGUgdGhlcmUncyBubyBuZWVkIHRvIGdvIHRocm91Z2ggYW4gZXh0 cmEgbGV2ZWwgb2YKaW5kaXJlY3Rpb24uIEluIG9yZGVyIHRvIGxpbWl0IGNvZGUgY2h1cm4sIGNh bGwgc2l0ZXMgdXNpbmcgc3RydWN0CmRvbWFpbl9pb21tdSdzIHBsYXRmb3JtX29wcyBkb24ndCBn ZXQgdG91Y2hlZCBoZXJlLCBob3dldmVyLgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpi ZXVsaWNoQHN1c2UuY29tPgotLS0KdjQ6IE5ldy4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1k L3BjaV9hbWRfaW9tbXUuYwpAQCAtMjksNiArMjksOCBAQAogCiBzdGF0aWMgYm9vbF90IF9fcmVh ZF9tb3N0bHkgaW5pdF9kb25lOwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyBhbWRf aW9tbXVfb3BzOworCiBzdHJ1Y3QgYW1kX2lvbW11ICpmaW5kX2lvbW11X2Zvcl9kZXZpY2UoaW50 IHNlZywgaW50IGJkZikKIHsKICAgICBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAqaXZyc19tYXBwaW5n cyA9IGdldF9pdnJzX21hcHBpbmdzKHNlZyk7CkBAIC0xODIsNiArMTg0LDggQEAgaW50IF9faW5p dCBhbWRfaW92X2RldGVjdCh2b2lkKQogICAgICAgICByZXR1cm4gLUVOT0RFVjsKICAgICB9CiAK KyAgICBpb21tdV9vcHMgPSBhbWRfaW9tbXVfb3BzOworCiAgICAgaWYgKCBhbWRfaW9tbXVfaW5p dCgpICE9IDAgKQogICAgIHsKICAgICAgICAgcHJpbnRrKCJBTUQtVmk6IEVycm9yIGluaXRpYWxp emF0aW9uXG4iKTsKQEAgLTYwNyw3ICs2MTEsNyBAQCBzdGF0aWMgdm9pZCBhbWRfZHVtcF9wMm1f dGFibGUoc3RydWN0IGRvCiAgICAgYW1kX2R1bXBfcDJtX3RhYmxlX2xldmVsKGhkLT5hcmNoLnJv b3RfdGFibGUsIGhkLT5hcmNoLnBhZ2luZ19tb2RlLCAwLCAwKTsKIH0KIAotY29uc3Qgc3RydWN0 IGlvbW11X29wcyBhbWRfaW9tbXVfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBpb21tdV9v cHMgX19pbml0Y29uc3RyZWwgYW1kX2lvbW11X29wcyA9IHsKICAgICAuaW5pdCA9IGFtZF9pb21t dV9kb21haW5faW5pdCwKICAgICAuaHdkb21faW5pdCA9IGFtZF9pb21tdV9od2RvbV9pbml0LAog ICAgIC5hZGRfZGV2aWNlID0gYW1kX2lvbW11X2FkZF9kZXZpY2UsCi0tLSBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YwpAQCAtNzgsNiArNzgsOCBAQCBib29sX3QgX19yZWFkX21vc3RseSBhbWRfaW9tbXVfcGVyZGV2 X2luCiBERUZJTkVfUEVSX0NQVShib29sX3QsIGlvbW11X2RvbnRfZmx1c2hfaW90bGIpOwogCiAj aWZuZGVmIENPTkZJR19JT01NVV9NSVhFRAorc3RydWN0IGlvbW11X29wcyBpb21tdV9vcHM7CisK IERFRklORV9TUElOTE9DSyhpb21tdV9wdF9jbGVhbnVwX2xvY2spOwogUEFHRV9MSVNUX0hFQUQo aW9tbXVfcHRfY2xlYW51cF9saXN0KTsKIHN0YXRpYyBzdHJ1Y3QgdGFza2xldCBpb21tdV9wdF9j bGVhbnVwX3Rhc2tsZXQ7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4u aAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgKQEAgLTI3LDYgKzI3 LDcgQEAKIAogc3RydWN0IHBjaV9hdHNfZGV2OwogZXh0ZXJuIGJvb2xfdCByd2JmX3F1aXJrOwor ZXh0ZXJuIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgaW50ZWxfaW9tbXVfb3BzOwogCiB2b2lkIHBy aW50X2lvbW11X3JlZ3Moc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkKTsKIHZvaWQgcHJpbnRf dnRkX2VudHJpZXMoc3RydWN0IGlvbW11ICppb21tdSwgaW50IGJ1cywgaW50IGRldmZuLCB1NjQg Z21mbik7Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pbnRyZW1hcC5jCisrKyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pbnRyZW1hcC5jCkBAIC04OTcsNiArODk3LDgg QEAgaW50IGlvbW11X2VuYWJsZV94MmFwaWNfSVIodm9pZCkKICAgICBlbHNlIGlmICggIXgyYXBp Y19lbmFibGVkICkKICAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwogCisgICAgaW9tbXVfb3Bz ID0gaW50ZWxfaW9tbXVfb3BzOworCiAgICAgZm9yX2VhY2hfZHJoZF91bml0ICggZHJoZCApCiAg ICAgewogICAgICAgICBpb21tdSA9IGRyaGQtPmlvbW11OwotLS0gYS94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9t bXUuYwpAQCAtMjI1MSw2ICsyMjUxLDggQEAgaW50IF9faW5pdCBpbnRlbF92dGRfc2V0dXAodm9p ZCkKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKKyAgICBpb21tdV9vcHMgPSBpbnRlbF9p b21tdV9vcHM7CisKICAgICAvKiBXZSBlbmFibGUgdGhlIGZvbGxvd2luZyBmZWF0dXJlcyBvbmx5 IGlmIHRoZXkgYXJlIHN1cHBvcnRlZCBieSBhbGwgVlQtZAogICAgICAqIGVuZ2luZXM6IFNub29w IENvbnRyb2wsIERNQSBwYXNzdGhyb3VnaCwgUXVldWVkIEludmFsaWRhdGlvbiwgSW50ZXJydXB0 CiAgICAgICogUmVtYXBwaW5nLCBhbmQgUG9zdGVkIEludGVycnVwdApAQCAtMjY1MCw3ICsyNjUy LDcgQEAgc3RhdGljIHZvaWQgdnRkX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkbwogICAgIHZ0ZF9k dW1wX3AybV90YWJsZV9sZXZlbChoZC0+YXJjaC5wZ2RfbWFkZHIsIGFnYXdfdG9fbGV2ZWwoaGQt PmFyY2guYWdhdyksIDAsIDApOwogfQogCi1jb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGludGVsX2lv bW11X29wcyA9IHsKK2NvbnN0IHN0cnVjdCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgaW50ZWxf aW9tbXVfb3BzID0gewogICAgIC5pbml0ID0gaW50ZWxfaW9tbXVfZG9tYWluX2luaXQsCiAgICAg Lmh3ZG9tX2luaXQgPSBpbnRlbF9pb21tdV9od2RvbV9pbml0LAogICAgIC5hZGRfZGV2aWNlID0g aW50ZWxfaW9tbXVfYWRkX2RldmljZSwKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5o CisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaApAQCAtNDQsMjYgKzQ0LDkgQEAgc3Ry dWN0IGFyY2hfaW9tbXUKICAgICBzdHJ1Y3QgZ3Vlc3RfaW9tbXUgKmdfaW9tbXU7CiB9OwogCi1l eHRlcm4gY29uc3Qgc3RydWN0IGlvbW11X29wcyBpbnRlbF9pb21tdV9vcHM7Ci1leHRlcm4gY29u c3Qgc3RydWN0IGlvbW11X29wcyBhbWRfaW9tbXVfb3BzOwogaW50IGludGVsX3Z0ZF9zZXR1cCh2 b2lkKTsKIGludCBhbWRfaW92X2RldGVjdCh2b2lkKTsKIAotc3RhdGljIGlubGluZSBjb25zdCBz dHJ1Y3QgaW9tbXVfb3BzICppb21tdV9nZXRfb3BzKHZvaWQpCi17Ci0gICAgc3dpdGNoICggYm9v dF9jcHVfZGF0YS54ODZfdmVuZG9yICkKLSAgICB7Ci0gICAgY2FzZSBYODZfVkVORE9SX0lOVEVM OgotICAgICAgICByZXR1cm4gJmludGVsX2lvbW11X29wczsKLSAgICBjYXNlIFg4Nl9WRU5ET1Jf QU1EOgotICAgICAgICByZXR1cm4gJmFtZF9pb21tdV9vcHM7Ci0gICAgfQotCi0gICAgQlVHKCk7 Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQogc3RhdGljIGlubGluZSBpbnQgaW9tbXVfaGFyZHdh cmVfc2V0dXAodm9pZCkKIHsKICAgICBzd2l0Y2ggKCBib290X2NwdV9kYXRhLng4Nl92ZW5kb3Ig KQotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9t bXUuaApAQCAtMTc2LDYgKzE3NiwxNiBAQCBzdHJ1Y3QgaW9tbXVfb3BzIHsKICAgICB2b2lkICgq ZHVtcF9wMm1fdGFibGUpKHN0cnVjdCBkb21haW4gKmQpOwogfTsKIAorI2lmbmRlZiBDT05GSUdf SU9NTVVfTUlYRUQKK2V4dGVybiBzdHJ1Y3QgaW9tbXVfb3BzIGlvbW11X29wczsKKworc3RhdGlj IGlubGluZSBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICppb21tdV9nZXRfb3BzKHZvaWQpCit7Cisg ICAgQlVHX09OKCFpb21tdV9vcHMuaW5pdCk7CisgICAgcmV0dXJuICZpb21tdV9vcHM7Cit9Cisj ZW5kaWYKKwogaW50IF9fbXVzdF9jaGVjayBpb21tdV9zdXNwZW5kKHZvaWQpOwogdm9pZCBpb21t dV9yZXN1bWUodm9pZCk7CiB2b2lkIGlvbW11X2NyYXNoX3NodXRkb3duKHZvaWQpOwoKCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==