From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5969C31E45 for ; Thu, 13 Jun 2019 13:28:46 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 852FF2064A for ; Thu, 13 Jun 2019 13:28:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 852FF2064A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbPmN-0001zr-CP; Thu, 13 Jun 2019 13:28:35 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbPmM-0001zf-DL for xen-devel@lists.xenproject.org; Thu, 13 Jun 2019 13:28:34 +0000 X-Inumbo-ID: 23777b23-8ddf-11e9-8980-bc764e045a96 Received: from prv1-mh.provo.novell.com (unknown [137.65.248.33]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 23777b23-8ddf-11e9-8980-bc764e045a96; Thu, 13 Jun 2019 13:28:32 +0000 (UTC) Received: from INET-PRV1-MTA by prv1-mh.provo.novell.com with Novell_GroupWise; Thu, 13 Jun 2019 07:28:32 -0600 Message-Id: <5D024F7C0200007800237E7F@prv1-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 18.1.1 Date: Thu, 13 Jun 2019 07:28:28 -0600 From: "Jan Beulich" To: "xen-devel" References: <5D024C500200007800237DD8@prv1-mh.provo.novell.com> In-Reply-To: <5D024C500200007800237DD8@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Disposition: inline Subject: [Xen-devel] [PATCH RFC 9/9] AMD/IOMMU: correct IRTE updating X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Brian Woods , Suravee Suthikulpanit Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" V2hpbGUgZm9yIDMyLWJpdCBJUlRFcyBJIHRoaW5rIHdlIGNhbiBzYWZlbHkgY29udGludWUgdG8g YXNzdW1lIHRoYXQgdGhlCndyaXRlcyB3aWxsIHRyYW5zbGF0ZSB0byBhIHNpbmdsZSBNT1YsIHRo ZSB1c2Ugb2YgQ01QWENIRzE2QiBpcyBtb3JlCmhlYXZ5IGhhbmRlZCB0aGFuIG5lY2Vzc2FyeSBm b3IgdGhlIDEyOC1iaXQgZm9ybSwgYW5kIHRoZSBmbHVzaGluZwpkaWRuJ3QgZ2V0IGRvbmUgYWxv bmcgdGhlIGxpbmVzIG9mIHdoYXQgdGhlIHNwZWNpZmljYXRpb24gc2F5cy4gTWFyawplbnRyaWVz IHRvIGJlIHVwZGF0ZWQgYXMgbm90IHJlbWFwcGVkICh3aGljaCB3aWxsIHJlc3VsdCBpbiBpbnRl cnJ1cHQKcmVxdWVzdHMgdG8gZ2V0IHRhcmdldCBhYm9ydGVkLCBidXQgdGhlIGludGVycnVwdHMg c2hvdWxkIGJlIG1hc2tlZAphbnl3YXkgYXQgdGhhdCBwb2ludCBpbiB0aW1lKSwgaXNzdWUgdGhl IGZsdXNoLCBhbmQgb25seSB0aGVuIHdyaXRlIHRoZQpuZXcgZW50cnkuIEluIHRoZSAxMjgtYml0 IElSVEUgY2FzZSBzZXQgUmVtYXBFbiBzZXBhcmF0ZWx5IGxhc3QsIHRvIHRoYXQKdGhlIG9yZGVy aW5nIG9mIHRoZSB3cml0ZXMgb2YgdGhlIHR3byA2NC1iaXQgaGFsdmVzIHdvbid0IG1hdHRlci4K CkluIHVwZGF0ZV9pbnRyZW1hcF9lbnRyeV9mcm9tX21zaV9tc2coKSBhbHNvIGZvbGQgdGhlIGR1 cGxpY2F0ZSBpbml0aWFsCmxvY2sgZGV0ZXJtaW5hdGlvbiBhbmQgYWNxdWlyZSBpbnRvIGp1c3Qg YSBzaW5nbGUgaW5zdGFuY2UuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA c3VzZS5jb20+Ci0tLQpSRkM6IFB1dHRpbmcgdGhlIGZsdXNoIGludm9jYXRpb25zIGluIGxvb3Bz IGlzbid0IG92ZXJseSBuaWNlLCBidXQgSQogICAgIGRvbid0IHRoaW5rIHRoaXMgY2FuIHJlYWxs eSBiZSBhYnVzZWQsIHNpbmNlIGNhbGxlcnMgdXAgdGhlIHN0YWNrCiAgICAgaG9sZCBmdXJ0aGVy IGxvY2tzLiBOZXZlcnRoZWxlc3MgSSdkIGxpa2UgdG8gYXNrIGZvciBiZXR0ZXIKICAgICBzdWdn ZXN0aW9ucy4KCi0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbnRyLmMK KysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2ludHIuYwpAQCAtMjAzLDcg KzIwMyw3IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9pbnRyZW1hcF9lbnRyeSh1bmlvbgogICAgICAg ICAudmVjdG9yID0gdmVjdG9yLAogICAgIH07CiAgICAgc3RydWN0IGlydGVfZnVsbCBmdWxsID0g ewotICAgICAgICAucmVtYXBfZW4gPSAxLAorICAgICAgICAucmVtYXBfZW4gPSAwLCAvKiBXaWxs IGJlIHNldCBleHBsaWNpdGx5IGJlbG93LiAqLwogICAgICAgICAuc3VwX2lvX3BmID0gMCwKICAg ICAgICAgLmludF90eXBlID0gaW50X3R5cGUsCiAgICAgICAgIC5ycV9lb2kgPSAwLApAQCAtMjE1 LDIwICsyMTUsMTUgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2ludHJlbWFwX2VudHJ5KHVuaW9uCiAK ICAgICBzd2l0Y2ggKCBpcnRlX21vZGUgKQogICAgIHsKLSAgICAgICAgX191aW50MTI4X3QgcmV0 OwotICAgICAgICB1bmlvbiB7Ci0gICAgICAgICAgICBfX3VpbnQxMjhfdCByYXc7Ci0gICAgICAg ICAgICBzdHJ1Y3QgaXJ0ZV9mdWxsIGZ1bGw7Ci0gICAgICAgIH0gb2xkOwotCiAgICAgY2FzZSBp cnRlX2Jhc2ljOgogICAgICAgICAqZW50cnkuYmFzaWMgPSBiYXNpYzsKICAgICAgICAgYnJlYWs7 CiAKICAgICBjYXNlIGlydGVfZnVsbDoKLSAgICAgICAgb2xkLmZ1bGwgPSAqZW50cnkuZnVsbDsK LSAgICAgICAgcmV0ID0gY21weGNoZzE2YihlbnRyeS5mdWxsLCAmb2xkLCAmZnVsbCk7Ci0gICAg ICAgIEFTU0VSVChyZXQgPT0gb2xkLnJhdyk7CisgICAgICAgICplbnRyeS5mdWxsID0gZnVsbDsK KyAgICAgICAgd21iKCk7CisgICAgICAgIC8qIEVuYWJsZSB0aGUgZW50cnkgL2FmdGVyLyBoYXZp bmcgd3JpdHRlbiBhbGwgb3RoZXIgZmllbGRzLiAqLworICAgICAgICBlbnRyeS5mdWxsLT5yZW1h cF9lbiA9IDE7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKQEAgLTI5Miw2ICsyODcs MjAgQEAgc3RhdGljIGludCB1cGRhdGVfaW50cmVtYXBfZW50cnlfZnJvbV9pbwogICAgIH0KIAog ICAgIGVudHJ5ID0gZ2V0X2ludHJlbWFwX2VudHJ5KGlvbW11LT5zZWcsIHJlcV9pZCwgb2Zmc2V0 KTsKKworICAgIC8qIFRoZSBSZW1hcEVuIGZpZWxkcyBtYXRjaCBmb3IgYWxsIGZvcm1hdHMuICov CisgICAgd2hpbGUgKCBpb21tdS0+ZW5hYmxlZCAmJiBlbnRyeS5iYXNpYy0+cmVtYXBfZW4gKQor ICAgIHsKKyAgICAgICAgZW50cnkuYmFzaWMtPnJlbWFwX2VuID0gMDsKKyAgICAgICAgc3Bpbl91 bmxvY2sobG9jayk7CisKKyAgICAgICAgc3Bpbl9sb2NrKCZpb21tdS0+bG9jayk7CisgICAgICAg IGFtZF9pb21tdV9mbHVzaF9pbnRyZW1hcChpb21tdSwgcmVxX2lkKTsKKyAgICAgICAgc3Bpbl91 bmxvY2soJmlvbW11LT5sb2NrKTsKKworICAgICAgICBzcGluX2xvY2sobG9jayk7CisgICAgfQor CiAgICAgaWYgKCBmcmVzaCApCiAgICAgICAgIC8qIG5vdGhpbmcgKi87CiAgICAgZWxzZSBpZiAo ICFsb191cGRhdGUgKQpAQCAtMzIxLDEzICszMzAsNiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9pbnRy ZW1hcF9lbnRyeV9mcm9tX2lvCiAKICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZs YWdzKTsKIAotICAgIGlmICggaW9tbXUtPmVuYWJsZWQgJiYgIWZyZXNoICkKLSAgICB7Ci0gICAg ICAgIHNwaW5fbG9ja19pcnFzYXZlKCZpb21tdS0+bG9jaywgZmxhZ3MpOwotICAgICAgICBhbWRf aW9tbXVfZmx1c2hfaW50cmVtYXAoaW9tbXUsIHJlcV9pZCk7Ci0gICAgICAgIHNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmlvbW11LT5sb2NrLCBmbGFncyk7Ci0gICAgfQotCiAgICAgc2V0X3J0ZV9p bmRleChydGUsIG9mZnNldCk7CiAKICAgICByZXR1cm4gMDsKQEAgLTU5MSwxOSArNTkzLDI3IEBA IHN0YXRpYyBpbnQgdXBkYXRlX2ludHJlbWFwX2VudHJ5X2Zyb21fbXMKICAgICByZXFfaWQgPSBn ZXRfZG1hX3JlcXVlc3Rvcl9pZChpb21tdS0+c2VnLCBiZGYpOwogICAgIGFsaWFzX2lkID0gZ2V0 X2ludHJlbWFwX3JlcXVlc3Rvcl9pZChpb21tdS0+c2VnLCBiZGYpOwogCisgICAgbG9jayA9IGdl dF9pbnRyZW1hcF9sb2NrKGlvbW11LT5zZWcsIHJlcV9pZCk7CisgICAgc3Bpbl9sb2NrX2lycXNh dmUobG9jaywgZmxhZ3MpOworCiAgICAgaWYgKCBtc2cgPT0gTlVMTCApCiAgICAgewotICAgICAg ICBsb2NrID0gZ2V0X2ludHJlbWFwX2xvY2soaW9tbXUtPnNlZywgcmVxX2lkKTsKLSAgICAgICAg c3Bpbl9sb2NrX2lycXNhdmUobG9jaywgZmxhZ3MpOwogICAgICAgICBmb3IgKCBpID0gMDsgaSA8 IG5yOyArK2kgKQogICAgICAgICAgICAgZnJlZV9pbnRyZW1hcF9lbnRyeShpb21tdS0+c2VnLCBy ZXFfaWQsICpyZW1hcF9pbmRleCArIGkpOwogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KGxvY2ssIGZsYWdzKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KIAotICAgIGxvY2sgPSBn ZXRfaW50cmVtYXBfbG9jayhpb21tdS0+c2VnLCByZXFfaWQpOworICAgICAgICBpZiAoIGlvbW11 LT5lbmFibGVkICkKKyAgICAgICAgeworICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmlv bW11LT5sb2NrLCBmbGFncyk7CisgICAgICAgICAgICBhbWRfaW9tbXVfZmx1c2hfaW50cmVtYXAo aW9tbXUsIHJlcV9pZCk7CisgICAgICAgICAgICBpZiAoIGFsaWFzX2lkICE9IHJlcV9pZCApCisg ICAgICAgICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2ludHJlbWFwKGlvbW11LCBhbGlhc19pZCk7 CisgICAgICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpb21tdS0+bG9jaywgZmxhZ3Mp OworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCi0gICAgc3Bpbl9sb2Nr X2lycXNhdmUobG9jaywgZmxhZ3MpOwogICAgIGRlc3RfbW9kZSA9IChtc2ctPmFkZHJlc3NfbG8g Pj4gTVNJX0FERFJfREVTVE1PREVfU0hJRlQpICYgMHgxOwogICAgIGRlbGl2ZXJ5X21vZGUgPSAo bXNnLT5kYXRhID4+IE1TSV9EQVRBX0RFTElWRVJZX01PREVfU0hJRlQpICYgMHgxOwogICAgIHZl Y3RvciA9IChtc2ctPmRhdGEgPj4gTVNJX0RBVEFfVkVDVE9SX1NISUZUKSAmIE1TSV9EQVRBX1ZF Q1RPUl9NQVNLOwpAQCAtNjI3LDYgKzYzNywyMiBAQCBzdGF0aWMgaW50IHVwZGF0ZV9pbnRyZW1h cF9lbnRyeV9mcm9tX21zCiAgICAgfQogCiAgICAgZW50cnkgPSBnZXRfaW50cmVtYXBfZW50cnko aW9tbXUtPnNlZywgcmVxX2lkLCBvZmZzZXQpOworCisgICAgLyogVGhlIFJlbWFwRW4gZmllbGRz IG1hdGNoIGZvciBhbGwgZm9ybWF0cy4gKi8KKyAgICB3aGlsZSAoIGlvbW11LT5lbmFibGVkICYm IGVudHJ5LmJhc2ljLT5yZW1hcF9lbiApCisgICAgeworICAgICAgICBlbnRyeS5iYXNpYy0+cmVt YXBfZW4gPSAwOworICAgICAgICBzcGluX3VubG9jayhsb2NrKTsKKworICAgICAgICBzcGluX2xv Y2soJmlvbW11LT5sb2NrKTsKKyAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2ludHJlbWFwKGlvbW11 LCByZXFfaWQpOworICAgICAgICBpZiAoIGFsaWFzX2lkICE9IHJlcV9pZCApCisgICAgICAgICAg ICBhbWRfaW9tbXVfZmx1c2hfaW50cmVtYXAoaW9tbXUsIGFsaWFzX2lkKTsKKyAgICAgICAgc3Bp bl91bmxvY2soJmlvbW11LT5sb2NrKTsKKworICAgICAgICBzcGluX2xvY2sobG9jayk7CisgICAg fQorCiAgICAgdXBkYXRlX2ludHJlbWFwX2VudHJ5KGVudHJ5LCB2ZWN0b3IsIGRlbGl2ZXJ5X21v ZGUsIGRlc3RfbW9kZSwgZGVzdCk7CiAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBm bGFncyk7CiAKQEAgLTY0NiwxNiArNjcyLDYgQEAgc3RhdGljIGludCB1cGRhdGVfaW50cmVtYXBf ZW50cnlfZnJvbV9tcwogICAgICAgICAgICAgICAgZ2V0X2l2cnNfbWFwcGluZ3MoaW9tbXUtPnNl ZylbYWxpYXNfaWRdLmludHJlbWFwX3RhYmxlKTsKICAgICB9CiAKLWRvbmU6Ci0gICAgaWYgKCBp b21tdS0+ZW5hYmxlZCApCi0gICAgewotICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmaW9tbXUt PmxvY2ssIGZsYWdzKTsKLSAgICAgICAgYW1kX2lvbW11X2ZsdXNoX2ludHJlbWFwKGlvbW11LCBy ZXFfaWQpOwotICAgICAgICBpZiAoIGFsaWFzX2lkICE9IHJlcV9pZCApCi0gICAgICAgICAgICBh bWRfaW9tbXVfZmx1c2hfaW50cmVtYXAoaW9tbXUsIGFsaWFzX2lkKTsKLSAgICAgICAgc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmaW9tbXUtPmxvY2ssIGZsYWdzKTsKLSAgICB9Ci0KICAgICByZXR1 cm4gMDsKIH0KIApAQCAtODAxLDcgKzgxNyw3IEBAIGJvb2wgX19pbml0IGlvdl9zdXBwb3J0c194 dCh2b2lkKQogICAgIHVuc2lnbmVkIGludCBhcGljOwogICAgIHN0cnVjdCBhbWRfaW9tbXUgKmlv bW11OwogCi0gICAgaWYgKCAhaW9tbXVfZW5hYmxlIHx8ICFpb21tdV9pbnRyZW1hcCB8fCAhY3B1 X2hhc19jeDE2ICkKKyAgICBpZiAoICFpb21tdV9lbmFibGUgfHwgIWlvbW11X2ludHJlbWFwICkK ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKCBhbWRfaW9tbXVfcHJlcGFyZSgpICkK CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=