From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 1/4] amd-iommu: add flush iommu_ops Date: Wed, 5 Dec 2018 11:29:21 +0000 Message-ID: <20181205112924.36470-2-paul.durrant@citrix.com> References: <20181205112924.36470-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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUVMw-0003Fl-IG for xen-devel@lists.xenproject.org; Wed, 05 Dec 2018 11:29:30 +0000 In-Reply-To: <20181205112924.36470-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 , Andrew Cooper , Paul Durrant , Suravee Suthikulpanit , 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 dEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgotLS0KQ2M6IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRoaWt1bHBhbml0QGFt ZC5jb20+CkNjOiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4KQ2M6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgpDYzogIlJvZ2VyIFBhdSBNb25uw6kiIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K CnYyOgogLSBUcmVhdCBwYXNzaW5nIElOVkFMSURfREZOIHRvIGlvbW11X2lvdGxiX2ZsdXNoKCkg YXMgYW4gZXJyb3IsIGFuZCBhIHplcm8KICAgcGFnZV9jb3VudCBhcyBhIG5vLW9wLgogLSBHZXQg cmlkIG9mIGRmbl9sdCgpLgoKdjM6CiAtIFJlYWxseSBnZXQgcmlkIG9mIGRmbl9sdCgpLgogLSBG aXggZmx1c2hfY291bnQoKS4KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVf bWFwLmMgICAgICAgfCA1MCArKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1kX2lvbW11LmMgICB8ICAyICsrCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9pb21tdS5jICAgICAgICAgICAgICAgfCAgNiArKystCiB4ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYyAgICAgICAgICAgfCAgMiArKwogeGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oIHwgIDMgKysKIDUgZmlsZXMgY2hhbmdlZCwg NjIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft ZC9pb21tdV9tYXAuYwppbmRleCAyNDI5ZTAxYmI0Li43MzQyY2RlMTlmIDEwMDY0NAotLS0gYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVuL2RyaXZlcnMv cGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC02MzQsNiArNjM0LDU2IEBAIGludCBhbWRf aW9tbXVfdW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4pCiAgICAgc3Bpbl91 bmxvY2soJmhkLT5hcmNoLm1hcHBpbmdfbG9jayk7CiAKICAgICBhbWRfaW9tbXVfZmx1c2hfcGFn ZXMoZCwgZGZuX3goZGZuKSwgMCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB1bnNpZ25l ZCBsb25nIGZsdXNoX2NvdW50KHVuc2lnbmVkIGxvbmcgZGZuLCB1bnNpZ25lZCBpbnQgcGFnZV9j b3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvcmRl cikKK3sKKyAgICB1bnNpZ25lZCBsb25nIHN0YXJ0ID0gZGZuID4+IG9yZGVyOworICAgIHVuc2ln bmVkIGxvbmcgZW5kID0gKGRmbiArIHBhZ2VfY291bnQgLSAxKSA+PiAxOworCisgICAgQVNTRVJU KGVuZCA+IHN0YXJ0KTsKKyAgICByZXR1cm4gZW5kIC0gc3RhcnQ7Cit9CisKK2ludCBhbWRfaW9t bXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3VudCkKK3sKKyAg ICB1bnNpZ25lZCBsb25nIGRmbl9sID0gZGZuX3goZGZuKTsKKworICAgIEFTU0VSVChwYWdlX2Nv dW50ICYmICFkZm5fZXEoZGZuLCBJTlZBTElEX0RGTikpOworCisgICAgLyogSWYgdGhlIHJhbmdl IHdyYXBzIHRoZW4ganVzdCBmbHVzaCBldmVyeXRoaW5nICovCisgICAgaWYgKCBkZm5fbCArIHBh Z2VfY291bnQgPCBkZm5fbCApCisgICAgeworICAgICAgICBhbWRfaW9tbXVfZmx1c2hfYWxsX3Bh Z2VzKGQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvKgorICAgICAqIEZsdXNo ZXMgYXJlIGV4cGVuc2l2ZSBzbyBmaW5kIHRoZSBtaW5pbWFsIHNpbmdsZSBmbHVzaCB0aGF0IHdp bGwKKyAgICAgKiBjb3ZlciB0aGUgcGFnZSByYW5nZS4KKyAgICAgKgorICAgICAqIE5PVEU6IEl0 IGlzIHVubmVjZXNzYXJ5IHRvIHJvdW5kIGRvd24gdGhlIERGTiB2YWx1ZSB0byBhbGlnbiB3aXRo CisgICAgICogICAgICAgdGhlIGZsdXNoIG9yZGVyIGhlcmUuIFRoaXMgaXMgZG9uZSBieSB0aGUg aW50ZXJuYWxzIG9mIHRoZQorICAgICAqICAgICAgIGZsdXNoIGNvZGUuCisgICAgICovCisgICAg aWYgKCBwYWdlX2NvdW50ID09IDEgKSAvKiBvcmRlciAwIGZsdXNoIGNvdW50ICovCisgICAgICAg IGFtZF9pb21tdV9mbHVzaF9wYWdlcyhkLCBkZm5fbCwgMCk7CisgICAgZWxzZSBpZiAoIGZsdXNo X2NvdW50KGRmbl9sLCBwYWdlX2NvdW50LCA5KSA9PSAxICkKKyAgICAgICAgYW1kX2lvbW11X2Zs dXNoX3BhZ2VzKGQsIGRmbl9sLCA5KTsKKyAgICBlbHNlIGlmICggZmx1c2hfY291bnQoZGZuX2ws IHBhZ2VfY291bnQsIDE4KSA9PSAxICkKKyAgICAgICAgYW1kX2lvbW11X2ZsdXNoX3BhZ2VzKGQs IGRmbl9sLCAxOCk7CisgICAgZWxzZQorICAgICAgICBhbWRfaW9tbXVfZmx1c2hfYWxsX3BhZ2Vz KGQpOworCisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBhbWRfaW9tbXVfZmx1c2hfaW90bGJfYWxs KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgYW1kX2lvbW11X2ZsdXNoX2FsbF9wYWdlcyhkKTsK IAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YW1kL3BjaV9hbWRfaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9wY2lfYW1k X2lvbW11LmMKaW5kZXggOTAwMTM2MzkwZC4uMzNhMzc5OGYzNiAxMDA2NDQKLS0tIGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvYW1kL3BjaV9hbWRfaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC9hbWQvcGNpX2FtZF9pb21tdS5jCkBAIC01NzksNiArNTc5LDggQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgYW1kX2lvbW11X29wcyA9IHsK ICAgICAudGVhcmRvd24gPSBhbWRfaW9tbXVfZG9tYWluX2Rlc3Ryb3ksCiAgICAgLm1hcF9wYWdl ID0gYW1kX2lvbW11X21hcF9wYWdlLAogICAgIC51bm1hcF9wYWdlID0gYW1kX2lvbW11X3VubWFw X3BhZ2UsCisgICAgLmlvdGxiX2ZsdXNoID0gYW1kX2lvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzLAor ICAgIC5pb3RsYl9mbHVzaF9hbGwgPSBhbWRfaW9tbXVfZmx1c2hfaW90bGJfYWxsLAogICAgIC5m cmVlX3BhZ2VfdGFibGUgPSBkZWFsbG9jYXRlX3BhZ2VfdGFibGUsCiAgICAgLnJlYXNzaWduX2Rl dmljZSA9IHJlYXNzaWduX2RldmljZSwKICAgICAuZ2V0X2RldmljZV9ncm91cF9pZCA9IGFtZF9p b21tdV9ncm91cF9pZCwKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11 LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IGFjNjJkN2Y1MmEuLmMx Y2NlMDg1NTEgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKKysr IGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtNDE0LDkgKzQxNCwxMyBAQCBp bnQgaW9tbXVfaW90bGJfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCB1bnNpZ25l ZCBpbnQgcGFnZV9jb3VudCkKICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRv bV9pb21tdShkKTsKICAgICBpbnQgcmM7CiAKLSAgICBpZiAoICFpb21tdV9lbmFibGVkIHx8ICFo ZC0+cGxhdGZvcm1fb3BzIHx8ICFoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaCApCisgICAg aWYgKCAhaW9tbXVfZW5hYmxlZCB8fCAhaGQtPnBsYXRmb3JtX29wcyB8fAorICAgICAgICAgIWhk LT5wbGF0Zm9ybV9vcHMtPmlvdGxiX2ZsdXNoIHx8ICFwYWdlX2NvdW50ICkKICAgICAgICAgcmV0 dXJuIDA7CiAKKyAgICBpZiAoIGRmbl9lcShkZm4sIElOVkFMSURfREZOKSApCisgICAgICAgIHJl dHVybiAtRUlOVkFMOworCiAgICAgcmMgPSBoZC0+cGxhdGZvcm1fb3BzLT5pb3RsYl9mbHVzaChk LCBkZm4sIHBhZ2VfY291bnQpOwogICAgIGlmICggdW5saWtlbHkocmMpICkKICAgICB7CmRpZmYg LS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyBiL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IDE2MDEyNzhiMDcuLmQyZmE1ZTJiMjUgMTAw NjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC02MzUsNiArNjM1LDggQEAgc3RhdGlj IGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGJfcGFnZXMoc3RydWN0IGRvbWFpbiAq ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRmbl90 IGRmbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBwYWdlX2NvdW50KQogeworICAgIEFTU0VSVChwYWdlX2NvdW50ICYmICFkZm5f ZXEoZGZuLCBJTlZBTElEX0RGTikpOworCiAgICAgcmV0dXJuIGlvbW11X2ZsdXNoX2lvdGxiKGQs IGRmbiwgMSwgcGFnZV9jb3VudCk7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL3N2bS9hbWQtaW9tbXUtcHJvdG8uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2 bS9hbWQtaW9tbXUtcHJvdG8uaAppbmRleCA3MThhNDRmOTU2Li44ODcxNTMyOWNhIDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LXByb3RvLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oCkBAIC02MCw2ICs2 MCw5IEBAIGludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X2FsbG9jX3Jvb3Qoc3RydWN0IGRvbWFp bl9pb21tdSAqaGQpOwogaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoc3Ry dWN0IGRvbWFpbiAqZG9tYWluLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFkZHJfdCBwaHlzX2FkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBpdywgaW50IGlyKTsKK2ludCBfX211c3RfY2hl Y2sgYW1kX2lvbW11X2ZsdXNoX2lvdGxiX3BhZ2VzKHN0cnVjdCBkb21haW4gKmQsIGRmbl90IGRm biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBwYWdlX2NvdW50KTsKK2ludCBfX211c3RfY2hlY2sgYW1kX2lvbW11X2ZsdXNoX2lvdGxi X2FsbChzdHJ1Y3QgZG9tYWluICpkKTsKIAogLyogU2hhcmUgcDJtIHRhYmxlIHdpdGggaW9tbXUg Ki8KIHZvaWQgYW1kX2lvbW11X3NoYXJlX3AybShzdHJ1Y3QgZG9tYWluICpkKTsKLS0gCjIuMTEu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=