From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 01/11] x86/svm Fixes and cleanup to svm_inject_event() Date: Mon, 4 Jun 2018 14:59:05 +0100 Message-ID: <1528120755-17455-2-git-send-email-andrew.cooper3@citrix.com> References: <1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1528120755-17455-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Boris Ostrovsky , Brian Woods , Suravee Suthikulpanit , Jan Beulich List-Id: xen-devel@lists.xenproject.org ICogU3RhdGUgYWRqdXN0bWVudHMgKGFuZCBkZWJ1ZyB0cmFjaW5nKSBmb3IgI0RCLyNCUC8jUEYg c2hvdWxkIG5vdCBiZSBkb25lCiAgIGZvciBgaW50ICRuYCBpbnN0cnVjdGlvbnMuICBVcGRhdGVz IHRvICVjcjIgb2NjdXIgZXZlbiBpZiB0aGUgZXhjZXB0aW9uCiAgIGNvbWJpbmVzIHRvICNERi4K ICogRG9uJ3Qgb3BlbmNvZGUgRFJfU1RFUCB3aGVuIHVwZGF0aW5nICVkcjYuCiAqIFNpbXBsaWZ5 IHRoZSBsb2dpYyBmb3IgY2FsbGluZyBzdm1fZW11bF9zd2ludF9pbmplY3Rpb24oKSBhcyBpbiB0 aGUgY29tbW9uCiAgIGNhc2UsIGV2ZXJ5IGNvbmRpdGlvbiBuZWVkcyBjaGVja2luZy4KICogRml4 IGNvbW1lbnRzIHdoaWNoIGhhdmUgYmVjb21lIHN0YWxlIGFzIGNvZGUgaGFzIG1vdmVkIGJldHdl ZW4gY29tcG9uZW50cy4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w ZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpD QzogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ0M6IFN1cmF2 ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRoaWt1bHBhbml0QGFtZC5jb20+CkNDOiBCcmlh biBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9z dm0uYyB8IDQxICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0u YwppbmRleCA2NzNhMzhjLi40OWJiNzIyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3N2 bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYwpAQCAtMTQyOCwyNCArMTQy OCwxOCBAQCBzdGF0aWMgdm9pZCBzdm1faW5qZWN0X2V2ZW50KGNvbnN0IHN0cnVjdCB4ODZfZXZl bnQgKmV2ZW50KQogICAgICAqIFhlbiBtdXN0IGVtdWxhdGUgZW5vdWdoIG9mIHRoZSBldmVudCBp bmplY3Rpb24gdG8gYmUgc3VyZSB0aGF0IGEKICAgICAgKiBmdXJ0aGVyIGZhdWx0IHNob3VsZG4n dCBvY2N1ciBkdXJpbmcgZGVsaXZlcnkuICBUaGlzIGNvdmVycyB0aGUgZmFjdAogICAgICAqIHRo YXQgaGFyZHdhcmUgZG9lc24ndCBwZXJmb3JtIERQTCBjaGVja2luZyBvbiBpbmplY3Rpb24uCi0g ICAgICoKLSAgICAgKiBBbHNvLCBpdCBhY2NvdW50cyBmb3IgcHJvcGVyIHBvc2l0aW9uaW5nIG9m ICVyaXAgZm9yIGFuIGV2ZW50IHdpdGggdHJhcAotICAgICAqIHNlbWFudGljcyAod2hlcmUgJXJp cCBzaG91bGQgcG9pbnQgYWZ0ZXIgdGhlIGluc3RydWN0aW9uKSB3aGljaCBzdWZmZXJzCi0gICAg ICogYSBmYXVsdCBkdXJpbmcgaW5qZWN0aW9uIChhdCB3aGljaCBwb2ludCAlcmlwIHNob3VsZCBw b2ludCBhdCB0aGUKLSAgICAgKiBpbnN0cnVjdGlvbikuCiAgICAgICovCiAgICAgaWYgKCBldmVu dC0+dHlwZSA9PSBYODZfRVZFTlRUWVBFX1BSSV9TV19FWENFUFRJT04gfHwKLSAgICAgICAgICgh Y3B1X2hhc19zdm1fbnJpcHMgJiYgKGV2ZW50LT50eXBlID09IFg4Nl9FVkVOVFRZUEVfU1dfSU5U RVJSVVBUIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC0+dHlwZSA9 PSBYODZfRVZFTlRUWVBFX1NXX0VYQ0VQVElPTikpICkKKyAgICAgICAgICghY3B1X2hhc19zdm1f bnJpcHMgJiYgKGV2ZW50LT50eXBlID49IFg4Nl9FVkVOVFRZUEVfU1dfSU5URVJSVVBUKSkgKQog ICAgICAgICBzdm1fZW11bF9zd2ludF9pbmplY3Rpb24oJl9ldmVudCk7CiAKLSAgICBzd2l0Y2gg KCBfZXZlbnQudmVjdG9yICkKKyAgICBzd2l0Y2ggKCBfZXZlbnQudmVjdG9yIHwgLShfZXZlbnQu dHlwZSA9PSBYODZfRVZFTlRUWVBFX1NXX0lOVEVSUlVQVCkgKQogICAgIHsKICAgICBjYXNlIFRS QVBfZGVidWc6CiAgICAgICAgIGlmICggcmVncy0+ZWZsYWdzICYgWDg2X0VGTEFHU19URiApCiAg ICAgICAgIHsKICAgICAgICAgICAgIF9fcmVzdG9yZV9kZWJ1Z19yZWdpc3RlcnModm1jYiwgY3Vy cik7Ci0gICAgICAgICAgICB2bWNiX3NldF9kcjYodm1jYiwgdm1jYl9nZXRfZHI2KHZtY2IpIHwg MHg0MDAwKTsKKyAgICAgICAgICAgIHZtY2Jfc2V0X2RyNih2bWNiLCB2bWNiX2dldF9kcjYodm1j YikgfCBEUl9TVEVQKTsKICAgICAgICAgfQogICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KICAg ICBjYXNlIFRSQVBfaW50MzoKQEAgLTE0NTUsNiArMTQ0OSwxMyBAQCBzdGF0aWMgdm9pZCBzdm1f aW5qZWN0X2V2ZW50KGNvbnN0IHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQogICAgICAgICAgICAg ZG9tYWluX3BhdXNlX2Zvcl9kZWJ1Z2dlcigpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg ICB9CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBUUkFQX3BhZ2VfZmF1bHQ6CisgICAgICAg IEFTU0VSVChfZXZlbnQudHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTik7CisgICAg ICAgIGN1cnItPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBfZXZlbnQuY3IyOworICAgICAg ICB2bWNiX3NldF9jcjIodm1jYiwgX2V2ZW50LmNyMik7CisgICAgICAgIGJyZWFrOwogICAgIH0K IAogICAgIGlmICggdW5saWtlbHkoZXZlbnRpbmouZmllbGRzLnYpICYmCkBAIC0xNDc3LDEzICsx NDc4LDkgQEAgc3RhdGljIHZvaWQgc3ZtX2luamVjdF9ldmVudChjb25zdCBzdHJ1Y3QgeDg2X2V2 ZW50ICpldmVudCkKICAgICAgKiBpY2VicCwgc29mdHdhcmUgZXZlbnRzIHdpdGggdHJhcCBzZW1h bnRpY3MgbmVlZCBlbXVsYXRpbmcsIHNvICVyaXAgaW4KICAgICAgKiB0aGUgdHJhcCBmcmFtZSBw b2ludHMgYWZ0ZXIgdGhlIGluc3RydWN0aW9uLgogICAgICAqCi0gICAgICogVGhlIHg4NiBlbXVs YXRvciAoaWYgcmVxdWVzdGVkIGJ5IHRoZSB4ODZfc3dpbnRfZW11bGF0ZV8qIGNob2ljZSkgd2ls bAotICAgICAqIGhhdmUgcGVyZm9ybWVkIGNoZWNrcyBzdWNoIGFzIHByZXNlbmNlL2RwbC9ldGMg YW5kIGJlbGlldmVzIHRoYXQgdGhlCi0gICAgICogZXZlbnQgaW5qZWN0aW9uIHdpbGwgc3VjY2Vl ZCB3aXRob3V0IGZhdWx0aW5nLgotICAgICAqCi0gICAgICogVGhlIHg4NiBlbXVsYXRvciB3aWxs IGFsd2F5cyBwcm92aWRlIGZhdWx0IHNlbWFudGljcyBmb3Igc29mdHdhcmUKLSAgICAgKiBldmVu dHMsIHdpdGggX3RyYXAuaW5zbl9sZW4gc2V0IGFwcHJvcHJpYXRlbHkuICBJZiB0aGUgaW5qZWN0 aW9uCi0gICAgICogcmVxdWlyZXMgZW11bGF0aW9uLCBtb3ZlICVyaXAgZm9yd2FyZHMgYXQgdGhp cyBwb2ludC4KKyAgICAgKiBzdm1fZW11bF9zd2ludF9pbmplY3Rpb24oKSBoYXMgYWxyZWFkeSBj b25maXJtZWQgdGhhdCBldmVudHMgd2l0aCB0cmFwCisgICAgICogc2VtYW50aWNzIHdvbid0IGZh dWx0IG9uIGluamVjdGlvbi4gIFBvc2l0aW9uICVyaXAvTmV4dFJJUCBzdWl0YWJseSwKKyAgICAg KiBhbmQgcmVzdHJpY3QgdGhlIGV2ZW50IHR5cGUgdG8gd2hhdCBoYXJkd2FyZSB3aWxsIHRvbGVy YXRlLgogICAgICAqLwogICAgIHN3aXRjaCAoIF9ldmVudC50eXBlICkKICAgICB7CkBAIC0xNTQw LDE2ICsxNTM3LDEyIEBAIHN0YXRpYyB2b2lkIHN2bV9pbmplY3RfZXZlbnQoY29uc3Qgc3RydWN0 IHg4Nl9ldmVudCAqZXZlbnQpCiAgICAgICAgICAgIGV2ZW50aW5qLmZpZWxkcy5lcnJvcmNvZGUg PT0gKHVpbnQxNl90KWV2ZW50aW5qLmZpZWxkcy5lcnJvcmNvZGUpOwogICAgIHZtY2ItPmV2ZW50 aW5qID0gZXZlbnRpbmo7CiAKLSAgICBpZiAoIF9ldmVudC52ZWN0b3IgPT0gVFJBUF9wYWdlX2Zh dWx0ICkKLSAgICB7Ci0gICAgICAgIGN1cnItPmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMl0gPSBf ZXZlbnQuY3IyOwotICAgICAgICB2bWNiX3NldF9jcjIodm1jYiwgX2V2ZW50LmNyMik7Ci0gICAg ICAgIEhWTVRSQUNFX0xPTkdfMkQoUEZfSU5KRUNULCBfZXZlbnQuZXJyb3JfY29kZSwgVFJDX1BB Ul9MT05HKF9ldmVudC5jcjIpKTsKLSAgICB9CisgICAgaWYgKCBfZXZlbnQudmVjdG9yID09IFRS QVBfcGFnZV9mYXVsdCAmJgorICAgICAgICAgX2V2ZW50LnR5cGUgPT0gWDg2X0VWRU5UVFlQRV9I V19FWENFUFRJT04gKQorICAgICAgICBIVk1UUkFDRV9MT05HXzJEKFBGX0lOSkVDVCwgX2V2ZW50 LmVycm9yX2NvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgVFJDX1BBUl9MT05HKF9ldmVu dC5jcjIpKTsKICAgICBlbHNlCi0gICAgewogICAgICAgICBIVk1UUkFDRV8yRChJTkpfRVhDLCBf ZXZlbnQudmVjdG9yLCBfZXZlbnQuZXJyb3JfY29kZSk7Ci0gICAgfQogfQogCiBzdGF0aWMgaW50 IHN2bV9ldmVudF9wZW5kaW5nKHN0cnVjdCB2Y3B1ICp2KQotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs