From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2 1/4] amd-iommu: add flush iommu_ops Date: Mon, 3 Dec 2018 17:40:14 +0000 Message-ID: <20181203174017.11956-2-paul.durrant@citrix.com> References: <20181203174017.11956-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 1gTsCl-0004ZA-UH for xen-devel@lists.xenproject.org; Mon, 03 Dec 2018 17:40:23 +0000 In-Reply-To: <20181203174017.11956-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: Wei Liu , Suravee Suthikulpanit , Andrew Cooper , Paul Durrant , Jan Beulich , Brian Woods , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlIGlvbW11X29wcyBzdHJ1Y3R1cmUgY29udGFpbnMgdHdvIG1ldGhvZHMgZm9yIGZsdXNoaW5n OiAnaW90bGJfZmx1c2gnIGFuZAonaW90bGJfZmx1c2hfYWxsJy4gVGhpcyBwYXRjaCBhZGRzIGlt cGxlbWVudGF0aW9ucyBvZiB0aGVzZSBmb3IgQU1EIElPTU1Vcy4KClRoZSBpb3RsYl9mbHVzaCBt ZXRob2QgdGFrZXMgYSBiYXNlIERGTiBhbmQgYSAoNGspIHBhZ2UgY291bnQsIGJ1dCB0aGUKZmx1 c2ggbmVlZHMgdG8gYmUgZG9uZSBieSBwYWdlIG9yZGVyIChpLmUuIDAsIDkgb3IgMTgpLiBCZWNh dXNlIGEgZmx1c2gKb3BlcmF0aW9uIGlzIGZhaXJseSBleHBlbnNpdmUgdG8gcGVyZm9ybSwgdGhl IGNvZGUgY2FsY3VsYXRlcyB0aGUgbWluaW11bQpvcmRlciBzaW5nbGUgZmx1c2ggdGhhdCB3aWxs IGNvdmVyIHRoZSBzcGVjaWZpZWQgcGFnZSByYW5nZSByYXRoZXIgdGhhbgpwZXJmb3JtaW5nIG11 bHRpcGxlIGZsdXNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPgotLS0KQ2M6IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRo aWt1bHBhbml0QGFtZC5jb20+CkNjOiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4K Q2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29t PgpDYzogIlJvZ2VyIFBhdSBNb25uw6kiIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCnYyOgogLSBU cmVhdCBwYXNzaW5nIElOVkFMSURfREZOIHRvIGlvbW11X2lvdGxiX2ZsdXNoKCkgYXMgYW4gZXJy b3IsIGFuZCBhIHplcm8KICAgcGFnZV9jb3VudCBhcyBhIG5vLW9wLgogLSBHZXQgcmlkIG9mIGRm bl9sdCgpLgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYyAgICAg ICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYyAgIHwgIDIgKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2lvbW11LmMgICAgICAgICAgICAgICB8ICA2ICsrKy0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L3Z0ZC9pb21tdS5jICAgICAgICAgICB8ICAyICsrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9z dm0vYW1kLWlvbW11LXByb3RvLmggfCAgMyArKwogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAg ICAgICAgICAgICAgICAgICAgIHwgIDUgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn aC9hbWQvaW9tbXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFw LmMKaW5kZXggMDRjYjdiMzE4Mi4uYjZkZGYyMTFjNiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdo L2FtZC9pb21tdV9tYXAuYwpAQCAtNjMxLDYgKzYzMSw1NiBAQCBpbnQgYW1kX2lvbW11X3VubWFw X3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuKQogICAgIHNwaW5fdW5sb2NrKCZoZC0+ YXJjaC5tYXBwaW5nX2xvY2spOwogCiAgICAgYW1kX2lvbW11X2ZsdXNoX3BhZ2VzKGQsIGRmbl94 KGRmbiksIDApOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBmbHVz aF9jb3VudCh1bnNpZ25lZCBsb25nIGRmbiwgdW5zaWduZWQgaW50IHBhZ2VfY291bnQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb3JkZXIpCit7CisgICAg dW5zaWduZWQgbG9uZyBzdGFydCA9IGRmbiAvICgxdSA8PCBvcmRlcik7CisgICAgdW5zaWduZWQg bG9uZyBlbmQgPSBESVZfUk9VTkRfVVAoZGZuICsgcGFnZV9jb3VudCwgKDF1IDw8IG9yZGVyKSk7 CisKKyAgICBBU1NFUlQoZW5kID4gc3RhcnQpOworICAgIHJldHVybiBlbmQgLSBzdGFydDsKK30K KworaW50IGFtZF9pb21tdV9mbHVzaF9pb3RsYl9wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLCBkZm5f dCBkZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYWdl X2NvdW50KQoreworICAgIHVuc2lnbmVkIGxvbmcgZGZuX2wgPSBkZm5feChkZm4pOworCisgICAg QVNTRVJUKHBhZ2VfY291bnQgJiYgIWRmbl9lcShkZm4sIElOVkFMSURfREZOKSk7CisKKyAgICAv KiBJZiB0aGUgcmFuZ2Ugd3JhcHMgdGhlbiBqdXN0IGZsdXNoIGV2ZXJ5dGhpbmcgKi8KKyAgICBp ZiAoIGRmbl9sICsgcGFnZV9jb3VudCA8IGRmbl9sICkKKyAgICB7CisgICAgICAgIGFtZF9pb21t dV9mbHVzaF9hbGxfcGFnZXMoZCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8q CisgICAgICogRmx1c2hlcyBhcmUgZXhwZW5zaXZlIHNvIGZpbmQgdGhlIG1pbmltYWwgc2luZ2xl IGZsdXNoIHRoYXQgd2lsbAorICAgICAqIGNvdmVyIHRoZSBwYWdlIHJhbmdlLgorICAgICAqCisg ICAgICogTk9URTogSXQgaXMgdW5uZWNlc3NhcnkgdG8gcm91bmQgZG93biB0aGUgREZOIHZhbHVl IHRvIGFsaWduIHdpdGgKKyAgICAgKiAgICAgICB0aGUgZmx1c2ggb3JkZXIgaGVyZS4gVGhpcyBp cyBkb25lIGJ5IHRoZSBpbnRlcm5hbHMgb2YgdGhlCisgICAgICogICAgICAgZmx1c2ggY29kZS4K KyAgICAgKi8KKyAgICBpZiAoIHBhZ2VfY291bnQgPT0gMSApIC8qIG9yZGVyIDAgZmx1c2ggY291 bnQgKi8KKyAgICAgICAgYW1kX2lvbW11X2ZsdXNoX3BhZ2VzKGQsIGRmbl9sLCAwKTsKKyAgICBl bHNlIGlmICggZmx1c2hfY291bnQoZGZuX2wsIHBhZ2VfY291bnQsIDkpID09IDEgKQorICAgICAg ICBhbWRfaW9tbXVfZmx1c2hfcGFnZXMoZCwgZGZuX2wsIDkpOworICAgIGVsc2UgaWYgKCBmbHVz aF9jb3VudChkZm5fbCwgcGFnZV9jb3VudCwgMTgpID09IDEgKQorICAgICAgICBhbWRfaW9tbXVf Zmx1c2hfcGFnZXMoZCwgZGZuX2wsIDE4KTsKKyAgICBlbHNlCisgICAgICAgIGFtZF9pb21tdV9m bHVzaF9hbGxfcGFnZXMoZCk7CisKKyAgICByZXR1cm4gMDsKK30KKworaW50IGFtZF9pb21tdV9m bHVzaF9pb3RsYl9hbGwoc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICBhbWRfaW9tbXVfZmx1c2hf YWxsX3BhZ2VzKGQpOwogCiAgICAgcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYwppbmRleCA5MDAxMzYzOTBkLi4zM2EzNzk4ZjM2IDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCisrKyBi L3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMKQEAgLTU3OSw2ICs1 NzksOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyBfX2luaXRjb25zdHJlbCBhbWRf aW9tbXVfb3BzID0gewogICAgIC50ZWFyZG93biA9IGFtZF9pb21tdV9kb21haW5fZGVzdHJveSwK ICAgICAubWFwX3BhZ2UgPSBhbWRfaW9tbXVfbWFwX3BhZ2UsCiAgICAgLnVubWFwX3BhZ2UgPSBh bWRfaW9tbXVfdW5tYXBfcGFnZSwKKyAgICAuaW90bGJfZmx1c2ggPSBhbWRfaW9tbXVfZmx1c2hf aW90bGJfcGFnZXMsCisgICAgLmlvdGxiX2ZsdXNoX2FsbCA9IGFtZF9pb21tdV9mbHVzaF9pb3Rs Yl9hbGwsCiAgICAgLmZyZWVfcGFnZV90YWJsZSA9IGRlYWxsb2NhdGVfcGFnZV90YWJsZSwKICAg ICAucmVhc3NpZ25fZGV2aWNlID0gcmVhc3NpZ25fZGV2aWNlLAogICAgIC5nZXRfZGV2aWNlX2dy b3VwX2lkID0gYW1kX2lvbW11X2dyb3VwX2lkLApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXgg YWM2MmQ3ZjUyYS4uYzFjY2UwODU1MSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC00MTQs OSArNDE0LDEzIEBAIGludCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCBkZm5f dCBkZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogICAgIGNvbnN0IHN0cnVjdCBkb21haW5f aW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwogICAgIGludCByYzsKIAotICAgIGlmICggIWlvbW11 X2VuYWJsZWQgfHwgIWhkLT5wbGF0Zm9ybV9vcHMgfHwgIWhkLT5wbGF0Zm9ybV9vcHMtPmlvdGxi X2ZsdXNoICkKKyAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFoZC0+cGxhdGZvcm1fb3BzIHx8 CisgICAgICAgICAhaGQtPnBsYXRmb3JtX29wcy0+aW90bGJfZmx1c2ggfHwgIXBhZ2VfY291bnQg KQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmICggZGZuX2VxKGRmbiwgSU5WQUxJRF9ERk4p ICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKICAgICByYyA9IGhkLT5wbGF0Zm9ybV9vcHMt PmlvdGxiX2ZsdXNoKGQsIGRmbiwgcGFnZV9jb3VudCk7CiAgICAgaWYgKCB1bmxpa2VseShyYykg KQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5j IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKaW5kZXggMTYwMTI3OGIwNy4u ZDJmYTVlMmIyNSAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11 LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMKQEAgLTYzNSw2ICs2 MzUsOCBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYl9wYWdlcyhz dHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGZuX3QgZGZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpCiB7CisgICAgQVNTRVJUKHBhZ2Vf Y291bnQgJiYgIWRmbl9lcShkZm4sIElOVkFMSURfREZOKSk7CisKICAgICByZXR1cm4gaW9tbXVf Zmx1c2hfaW90bGIoZCwgZGZuLCAxLCBwYWdlX2NvdW50KTsKIH0KIApkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCmluZGV4IDcxOGE0NGY5NTYuLjg4NzE1 MzI5Y2EgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9hbWQtaW9tbXUt cHJvdG8uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3Rv LmgKQEAgLTYwLDYgKzYwLDkgQEAgaW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfYWxsb2Nfcm9v dChzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCk7CiBpbnQgYW1kX2lvbW11X3Jlc2VydmVfZG9tYWlu X3VuaXR5X21hcChzdHJ1Y3QgZG9tYWluICpkb21haW4sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwYWRkcl90IHBoeXNfYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGl3LCBpbnQgaXIpOwor aW50IF9fbXVzdF9jaGVjayBhbWRfaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRvbWFp biAqZCwgZGZuX3QgZGZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IHBhZ2VfY291bnQpOworaW50IF9fbXVzdF9jaGVjayBhbWRfaW9t bXVfZmx1c2hfaW90bGJfYWxsKHN0cnVjdCBkb21haW4gKmQpOwogCiAvKiBTaGFyZSBwMm0gdGFi bGUgd2l0aCBpb21tdSAqLwogdm9pZCBhbWRfaW9tbXVfc2hhcmVfcDJtKHN0cnVjdCBkb21haW4g KmQpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94 ZW4vaW9tbXUuaAppbmRleCAzZDc4MTI2ODAxLi5kYTgyOTRiYWM4IDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtNTIs NiArNTIsMTEgQEAgc3RhdGljIGlubGluZSBib29sX3QgZGZuX2VxKGRmbl90IHgsIGRmbl90IHkp CiAgICAgcmV0dXJuIGRmbl94KHgpID09IGRmbl94KHkpOwogfQogCitzdGF0aWMgaW5saW5lIGJv b2xfdCBkZm5fbHQoZGZuX3QgeCwgZGZuX3QgeSkKK3sKKyAgICByZXR1cm4gZGZuX3goeCkgPCBk Zm5feCh5KTsKK30KKwogZXh0ZXJuIGJvb2xfdCBpb21tdV9lbmFibGUsIGlvbW11X2VuYWJsZWQ7 CiBleHRlcm4gYm9vbF90IGZvcmNlX2lvbW11LCBpb21tdV92ZXJib3NlOwogZXh0ZXJuIGJvb2xf dCBpb21tdV93b3JrYXJvdW5kX2Jpb3NfYnVnLCBpb21tdV9pZ2Z4OwotLSAKMi4xMS4wCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==