From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v2] x86/hvm/viridian: fix the TLB flush hypercall Date: Wed, 16 Mar 2016 14:21:41 +0000 Message-ID: <1458138101-1466-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1agCUQ-0003Ge-7v for xen-devel@lists.xenproject.org; Wed, 16 Mar 2016 14:31:58 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Paul Durrant , Keir Fraser , Jan Beulich List-Id: xen-devel@lists.xenproject.org Q29tbWl0IGIzOGQ0MjZhICJmbHVzaCByZW1vdGUgdGxicyBieSBoeXBlcmNhbGwiIGFkZCBzdXBw b3J0IHRvIGFsbG93CldpbmRvd3MgdG8gcmVxdWVzdCBmbHVzaCBvZiByZW1vdGUgVExCIHZpYSBo eXBlcmNhbGwgcmF0aGVyIHRoYW4gSVBJLgpVbmZvcnR1bmF0ZWx5IGl0IHNlZW1zIHRoYXQgdGhp cyBjb2RlIHdhcyBicm9rZW4gaW4gYSBjb3VwbGUgb2Ygd2F5czoKCjEpIFRoZSBhbGxvY2F0aW9u IG9mIHRoZSBwZXItdmNwdSBpcGkgbWFzayBpcyBnYXRlZCBvbiB3aGV0aGVyIHRoZQogICBkb21h aW4gaGFzIHZpcmlkaWFuIGZlYXR1cmVzIGVuYWJsZWQgYnV0IHRoZSBjYWxsIHRvIGFsbG9jYXRl IGlzCiAgIG1hZGUgYmVmb3JlIHRoZSB0b29sc3RhY2sgaGFzIGVuYWJsZWQgdGhvc2UgZmVhdHVy ZXMuIFRoaXMgcmVzdWx0cwogICBpbiBhIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KCjIpIE9u ZSBvZiB0aGUgZmx1c2ggaHlwZXJjYWxsIHZhcmlhbnRzIGlzIGEgcmVwIG9wLCBidXQgdGhlIGNv ZGUKICAgZG9lcyBub3QgdXBkYXRlIHRoZSBvdXRwdXQgZGF0YSB3aXRoIHRoZSByZXBzIGNvbXBs ZXRlZC4gSGVuY2UgdGhlCiAgIGd1ZXN0IHdpbGwgc3BpbiByZXBlYXRlZGx5IG1ha2luZyB0aGUg aHlwZXJjYWxsIGJlY2F1c2UgaXQgYmVsaWV2ZXMKICAgaXQgaGFzIHVuY29tcGxldGVkIHJlcHMu CgpUaGlzIHBhdGNoIGZpeGVzIGJvdGggb2YgdGhlc2UgaXNzdWVzIGFzIGZvbGxvd3M6CgoxKSBU aGUgaXBpIG1hc2sgbmVlZCBvbmx5IGJlIHBlci1wY3B1IHNvIGl0IGlzIG1hZGUgYSBwZXItcGNw dSBzdGF0aWMKICAgdG8gYXZvaWQgdGhlIG5lZWQgZm9yIGFsbG9jYXRpb24uCgoyKSBUaGUgcmVw IGNvbXBsZXRlIGNvdW50IGlzIHVwZGF0ZWQgdG8gdGhlIHJlcCBjb3VudCBzaW5jZSB0aGUgc2lu Z2xlCiAgIGZsdXNoIHRoYXQgWGVuIGRvZXMgY292ZXJzIGFsbCByZXBzIGFueXdheS4KClNpZ25l ZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkNjOiBLZWly IEZyYXNlciA8a2VpckB4ZW4ub3JnPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCgp2MjoK IC0gTW92ZSB0byBwZXItcGNwdSBpcGkgbWFzay4KIC0gVXNlIHNtcF9zZW5kX2V2ZW50X2NoZWNr X21hc2soKSB0byBJUEkgcmF0aGVyIHRoYW4gZmx1c2hfdGxiX21hc2soKS4KLS0tCiB4ZW4vYXJj aC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgIHwgMTIgLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94 ODYvaHZtL3ZpcmlkaWFuLmMgICAgICAgIHwgMTkgKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaCB8ICA0IC0tLS0KIDMgZmlsZXMgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA1YmMyODEyLi40ZWE1 MWQ3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKQEAgLTI1NzYsMTMgKzI1NzYsNiBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlz ZShzdHJ1Y3QgdmNwdSAqdikKICAgICBpZiAoIHJjICE9IDAgKQogICAgICAgICBnb3RvIGZhaWw2 OwogCi0gICAgaWYgKCBpc192aXJpZGlhbl9kb21haW4oZCkgKQotICAgIHsKLSAgICAgICAgcmMg PSB2aXJpZGlhbl92Y3B1X2luaXQodik7Ci0gICAgICAgIGlmICggcmMgIT0gMCApCi0gICAgICAg ICAgICBnb3RvIGZhaWw3OwotICAgIH0KLQogICAgIGlmICggdi0+dmNwdV9pZCA9PSAwICkKICAg ICB7CiAgICAgICAgIC8qIE5CLiBBbGwgdGhlc2UgcmVhbGx5IGJlbG9uZyBpbiBodm1fZG9tYWlu X2luaXRpYWxpc2UoKS4gKi8KQEAgLTI1OTcsOCArMjU5MCw2IEBAIGludCBodm1fdmNwdV9pbml0 aWFsaXNlKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAgcmV0dXJuIDA7CiAKLSBmYWlsNzoKLSAgICBo dm1fYWxsX2lvcmVxX3NlcnZlcnNfcmVtb3ZlX3ZjcHUodi0+ZG9tYWluLCB2KTsKICBmYWlsNjoK ICAgICBuZXN0ZWRodm1fdmNwdV9kZXN0cm95KHYpOwogIGZhaWw1OgpAQCAtMjYxNSw5ICsyNjA2 LDYgQEAgaW50IGh2bV92Y3B1X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAKIHZvaWQgaHZt X3ZjcHVfZGVzdHJveShzdHJ1Y3QgdmNwdSAqdikKIHsKLSAgICBpZiAoIGlzX3ZpcmlkaWFuX2Rv bWFpbih2LT5kb21haW4pICkKLSAgICAgICAgdmlyaWRpYW5fdmNwdV9kZWluaXQodik7Ci0KICAg ICBodm1fYWxsX2lvcmVxX3NlcnZlcnNfcmVtb3ZlX3ZjcHUodi0+ZG9tYWluLCB2KTsKIAogICAg IGlmICggaHZtX2FsdHAybV9zdXBwb3J0ZWQoKSApCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv aHZtL3ZpcmlkaWFuLmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuLmMKaW5kZXggNmJkODQ0 Yi4uMWVlMjJhYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi5jCisrKyBi L3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4uYwpAQCAtNTIxLDE2ICs1MjEsNyBAQCBpbnQgcmRt c3JfdmlyaWRpYW5fcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90ICp2YWwpCiAgICAgcmV0dXJu IDE7CiB9CiAKLWludCB2aXJpZGlhbl92Y3B1X2luaXQoc3RydWN0IHZjcHUgKnYpCi17Ci0gICAg cmV0dXJuIGFsbG9jX2NwdW1hc2tfdmFyKCZ2LT5hcmNoLmh2bV92Y3B1LnZpcmlkaWFuLmZsdXNo X2NwdW1hc2spID8KLSAgICAgICAgICAgMCA6IC1FTk9NRU07Ci19Ci0KLXZvaWQgdmlyaWRpYW5f dmNwdV9kZWluaXQoc3RydWN0IHZjcHUgKnYpCi17Ci0gICAgZnJlZV9jcHVtYXNrX3Zhcih2LT5h cmNoLmh2bV92Y3B1LnZpcmlkaWFuLmZsdXNoX2NwdW1hc2spOwotfQorc3RhdGljIERFRklORV9Q RVJfQ1BVKGNwdW1hc2tfdCwgaXBpX2NwdW1hc2spOwogCiBpbnQgdmlyaWRpYW5faHlwZXJjYWxs KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewpAQCAtNjI3LDcgKzYxOCw3IEBAIGludCB2 aXJpZGlhbl9oeXBlcmNhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIGlm ICggaW5wdXRfcGFyYW1zLmZsYWdzICYgSFZfRkxVU0hfQUxMX1BST0NFU1NPUlMgKQogICAgICAg ICAgICAgaW5wdXRfcGFyYW1zLnZjcHVfbWFzayA9IH4wdWw7CiAKLSAgICAgICAgcGNwdV9tYXNr ID0gY3Vyci0+YXJjaC5odm1fdmNwdS52aXJpZGlhbi5mbHVzaF9jcHVtYXNrOworICAgICAgICBw Y3B1X21hc2sgPSAmdGhpc19jcHUoaXBpX2NwdW1hc2spOwogICAgICAgICBjcHVtYXNrX2NsZWFy KHBjcHVfbWFzayk7CiAKICAgICAgICAgLyoKQEAgLTY0NSw3ICs2MzYsNyBAQCBpbnQgdmlyaWRp YW5faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgICAg IGNvbnRpbnVlOwogCiAgICAgICAgICAgICBodm1fYXNpZF9mbHVzaF92Y3B1KHYpOwotICAgICAg ICAgICAgaWYgKCB2LT5pc19ydW5uaW5nICkKKyAgICAgICAgICAgIGlmICggdiAhPSBjdXJyICYm IHYtPmlzX3J1bm5pbmcgKQogICAgICAgICAgICAgICAgIF9fY3B1bWFza19zZXRfY3B1KHYtPnBy b2Nlc3NvciwgcGNwdV9tYXNrKTsKICAgICAgICAgfQogCkBAIC02NTYsNyArNjQ3LDkgQEAgaW50 IHZpcmlkaWFuX2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAg ICogc28gd2UgbWF5IHVubmVjZXNzYXJpbHkgSVBJIHNvbWUgQ1BVcy4KICAgICAgICAgICovCiAg ICAgICAgIGlmICggIWNwdW1hc2tfZW1wdHkocGNwdV9tYXNrKSApCi0gICAgICAgICAgICBmbHVz aF90bGJfbWFzayhwY3B1X21hc2spOworICAgICAgICAgICAgc21wX3NlbmRfZXZlbnRfY2hlY2tf bWFzayhwY3B1X21hc2spOworCisgICAgICAgIG91dHB1dC5yZXBfY29tcGxldGUgPSBpbnB1dC5y ZXBfY291bnQ7CiAKICAgICAgICAgc3RhdHVzID0gSFZfU1RBVFVTX1NVQ0NFU1M7CiAgICAgICAg IGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZpcmlkaWFuLmgKaW5kZXggMmVlYzg1ZS4uYzQzMTlk NyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmlyaWRpYW4uaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92aXJpZGlhbi5oCkBAIC0yMiw3ICsyMiw2IEBAIHVuaW9u IHZpcmlkaWFuX2FwaWNfYXNzaXN0CiBzdHJ1Y3QgdmlyaWRpYW5fdmNwdQogewogICAgIHVuaW9u IHZpcmlkaWFuX2FwaWNfYXNzaXN0IGFwaWNfYXNzaXN0OwotICAgIGNwdW1hc2tfdmFyX3QgZmx1 c2hfY3B1bWFzazsKIH07CiAKIHVuaW9uIHZpcmlkaWFuX2d1ZXN0X29zX2lkCkBAIC0xMTgsOSAr MTE3LDYgQEAgdmlyaWRpYW5faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsK IHZvaWQgdmlyaWRpYW5fdGltZV9yZWZfY291bnRfZnJlZXplKHN0cnVjdCBkb21haW4gKmQpOwog dm9pZCB2aXJpZGlhbl90aW1lX3JlZl9jb3VudF90aGF3KHN0cnVjdCBkb21haW4gKmQpOwogCi1p bnQgdmlyaWRpYW5fdmNwdV9pbml0KHN0cnVjdCB2Y3B1ICp2KTsKLXZvaWQgdmlyaWRpYW5fdmNw dV9kZWluaXQoc3RydWN0IHZjcHUgKnYpOwotCiAjZW5kaWYgLyogX19BU01fWDg2X0hWTV9WSVJJ RElBTl9IX18gKi8KIAogLyoKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK