From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 03/12] x86/HVM: patch vINTR indirect calls through hvm_funcs to direct ones Date: Tue, 02 Oct 2018 04:13:26 -0600 Message-ID: <5BB344C602000078001EDA0E@prv1-mh.provo.novell.com> References: <5B97C28802000078001E7456@prv1-mh.provo.novell.com> <5BB343D802000078001ED9F6@prv1-mh.provo.novell.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 1g7HgL-0008FT-Ds for xen-devel@lists.xenproject.org; Tue, 02 Oct 2018 10:13:33 +0000 In-Reply-To: <5BB343D802000078001ED9F6@prv1-mh.provo.novell.com> Content-Disposition: inline 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 , Wei Liu List-Id: xen-devel@lists.xenproject.org V2hpbGUgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgY2hhbmdlIHRoZSBWTVggaW5pdGlhbGl6YXRp b24gbG9naWMgdG8KdXBkYXRlIHRoZSBmdW5jdGlvbiB0YWJsZSBpbiBzdGFydF92bXgoKSBmcm9t IE5VTEwgcmF0aGVyIHRoYW4gdG8gTlVMTCwKdG8gbWFrZSBtb3JlIG9idmlvdXMgdGhhdCB3ZSB3 b24ndCBldmVyIGNoYW5nZSBhbiBhbHJlYWR5IChleHBsaWN0bHkpCmluaXRpYWxpemVkIGZ1bmN0 aW9uIHBvaW50ZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkFja2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KUmV2aWV3ZWQt Ynk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQp2NDogUmUtYmFzZS4KdjI6IERy b3Agb3Blbi1jb2RlZCBudW1iZXJzIGZyb20gbWFjcm8gaW52b2NhdGlvbnMuCgotLS0gYS94ZW4v YXJjaC94ODYvaHZtL3ZsYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKQEAg LTExMSwxMCArMTExLDE1IEBAIHN0YXRpYyB2b2lkIHZsYXBpY19jbGVhcl9pcnIoaW50IHZlY3Rv ciwKICAgICB2bGFwaWNfY2xlYXJfdmVjdG9yKHZlY3RvciwgJnZsYXBpYy0+cmVncy0+ZGF0YVtB UElDX0lSUl0pOwogfQogCi1zdGF0aWMgaW50IHZsYXBpY19maW5kX2hpZ2hlc3RfaXJyKHN0cnVj dCB2bGFwaWMgKnZsYXBpYykKK3N0YXRpYyB2b2lkIHN5bmNfcGlyX3RvX2lycihzdHJ1Y3QgdmNw dSAqdikKIHsKICAgICBpZiAoIGh2bV9mdW5jcy5zeW5jX3Bpcl90b19pcnIgKQotICAgICAgICBo dm1fZnVuY3Muc3luY19waXJfdG9faXJyKHZsYXBpY192Y3B1KHZsYXBpYykpOworICAgICAgICBh bHRlcm5hdGl2ZV92Y2FsbChodm1fZnVuY3Muc3luY19waXJfdG9faXJyLCB2KTsKK30KKworc3Rh dGljIGludCB2bGFwaWNfZmluZF9oaWdoZXN0X2lycihzdHJ1Y3QgdmxhcGljICp2bGFwaWMpCit7 CisgICAgc3luY19waXJfdG9faXJyKHZsYXBpY192Y3B1KHZsYXBpYykpOwogCiAgICAgcmV0dXJu IHZsYXBpY19maW5kX2hpZ2hlc3RfdmVjdG9yKCZ2bGFwaWMtPnJlZ3MtPmRhdGFbQVBJQ19JUlJd KTsKIH0KQEAgLTE0Myw3ICsxNDgsNyBAQCBib29sIHZsYXBpY190ZXN0X2lycShjb25zdCBzdHJ1 Y3QgdmxhcGljCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmICggaHZtX2Z1bmNzLnRl c3RfcGlyICYmCi0gICAgICAgICBodm1fZnVuY3MudGVzdF9waXIoY29uc3RfdmxhcGljX3ZjcHUo dmxhcGljKSwgdmVjKSApCisgICAgICAgICBhbHRlcm5hdGl2ZV9jYWxsKGh2bV9mdW5jcy50ZXN0 X3BpciwgY29uc3RfdmxhcGljX3ZjcHUodmxhcGljKSwgdmVjKSApCiAgICAgICAgIHJldHVybiB0 cnVlOwogCiAgICAgcmV0dXJuIHZsYXBpY190ZXN0X3ZlY3Rvcih2ZWMsICZ2bGFwaWMtPnJlZ3Mt PmRhdGFbQVBJQ19JUlJdKTsKQEAgLTE2NSwxMCArMTcwLDEwIEBAIHZvaWQgdmxhcGljX3NldF9p cnEoc3RydWN0IHZsYXBpYyAqdmxhcGkKICAgICAgICAgdmxhcGljX2NsZWFyX3ZlY3Rvcih2ZWMs ICZ2bGFwaWMtPnJlZ3MtPmRhdGFbQVBJQ19UTVJdKTsKIAogICAgIGlmICggaHZtX2Z1bmNzLnVw ZGF0ZV9lb2lfZXhpdF9iaXRtYXAgKQotICAgICAgICBodm1fZnVuY3MudXBkYXRlX2VvaV9leGl0 X2JpdG1hcCh0YXJnZXQsIHZlYywgdHJpZyk7CisgICAgICAgIGFsdGVybmF0aXZlX3ZjYWxsKGh2 bV9mdW5jcy51cGRhdGVfZW9pX2V4aXRfYml0bWFwLCB0YXJnZXQsIHZlYywgdHJpZyk7CiAKICAg ICBpZiAoIGh2bV9mdW5jcy5kZWxpdmVyX3Bvc3RlZF9pbnRyICkKLSAgICAgICAgaHZtX2Z1bmNz LmRlbGl2ZXJfcG9zdGVkX2ludHIodGFyZ2V0LCB2ZWMpOworICAgICAgICBhbHRlcm5hdGl2ZV92 Y2FsbChodm1fZnVuY3MuZGVsaXZlcl9wb3N0ZWRfaW50ciwgdGFyZ2V0LCB2ZWMpOwogICAgIGVs c2UgaWYgKCAhdmxhcGljX3Rlc3RfYW5kX3NldF9pcnIodmVjLCB2bGFwaWMpICkKICAgICAgICAg dmNwdV9raWNrKHRhcmdldCk7CiB9CkBAIC00NDgsNyArNDUzLDcgQEAgdm9pZCB2bGFwaWNfRU9J X3NldChzdHJ1Y3QgdmxhcGljICp2bGFwaQogICAgIHZsYXBpY19jbGVhcl92ZWN0b3IodmVjdG9y LCAmdmxhcGljLT5yZWdzLT5kYXRhW0FQSUNfSVNSXSk7CiAKICAgICBpZiAoIGh2bV9mdW5jcy5o YW5kbGVfZW9pICkKLSAgICAgICAgaHZtX2Z1bmNzLmhhbmRsZV9lb2kodmVjdG9yKTsKKyAgICAg ICAgYWx0ZXJuYXRpdmVfdmNhbGwoaHZtX2Z1bmNzLmhhbmRsZV9lb2ksIHZlY3Rvcik7CiAKICAg ICB2bGFwaWNfaGFuZGxlX0VPSSh2bGFwaWMsIHZlY3Rvcik7CiAKQEAgLTE0MTIsOCArMTQxNyw3 IEBAIHN0YXRpYyBpbnQgbGFwaWNfc2F2ZV9yZWdzKHN0cnVjdCB2Y3B1ICoKICAgICBpZiAoICFo YXNfdmxhcGljKHYtPmRvbWFpbikgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICggaHZt X2Z1bmNzLnN5bmNfcGlyX3RvX2lyciApCi0gICAgICAgIGh2bV9mdW5jcy5zeW5jX3Bpcl90b19p cnIodik7CisgICAgc3luY19waXJfdG9faXJyKHYpOwogCiAgICAgcmV0dXJuIGh2bV9zYXZlX2Vu dHJ5KExBUElDX1JFR1MsIHYtPnZjcHVfaWQsIGgsIHZjcHVfdmxhcGljKHYpLT5yZWdzKTsKIH0K QEAgLTE1MDksNyArMTUxMyw4IEBAIHN0YXRpYyBpbnQgbGFwaWNfbG9hZF9yZWdzKHN0cnVjdCBk b21haW4KICAgICAgICAgbGFwaWNfbG9hZF9maXh1cChzKTsKIAogICAgIGlmICggaHZtX2Z1bmNz LnByb2Nlc3NfaXNyICkKLSAgICAgICAgaHZtX2Z1bmNzLnByb2Nlc3NfaXNyKHZsYXBpY19maW5k X2hpZ2hlc3RfaXNyKHMpLCB2KTsKKyAgICAgICAgYWx0ZXJuYXRpdmVfdmNhbGwoaHZtX2Z1bmNz LnByb2Nlc3NfaXNyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxhcGljX2ZpbmRfaGln aGVzdF9pc3IocyksIHYpOwogCiAgICAgdmxhcGljX2FkanVzdF9pODI1OV90YXJnZXQoZCk7CiAg ICAgbGFwaWNfcmVhcm0ocyk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0yMzM2LDEyICsyMzM2LDYgQEAgc3RhdGlj IHN0cnVjdCBodm1fZnVuY3Rpb25fdGFibGUgX19pbml0ZAogICAgIC5uaHZtX3ZjcHVfdm1leGl0 X2V2ZW50ID0gbnZteF92bWV4aXRfZXZlbnQsCiAgICAgLm5odm1faW50cl9ibG9ja2VkICAgID0g bnZteF9pbnRyX2Jsb2NrZWQsCiAgICAgLm5odm1fZG9tYWluX3JlbGlucXVpc2hfcmVzb3VyY2Vz ID0gbnZteF9kb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMsCi0gICAgLnVwZGF0ZV9lb2lfZXhp dF9iaXRtYXAgPSB2bXhfdXBkYXRlX2VvaV9leGl0X2JpdG1hcCwKLSAgICAucHJvY2Vzc19pc3Ig ICAgICAgICAgPSB2bXhfcHJvY2Vzc19pc3IsCi0gICAgLmRlbGl2ZXJfcG9zdGVkX2ludHIgID0g dm14X2RlbGl2ZXJfcG9zdGVkX2ludHIsCi0gICAgLnN5bmNfcGlyX3RvX2lyciAgICAgID0gdm14 X3N5bmNfcGlyX3RvX2lyciwKLSAgICAudGVzdF9waXIgICAgICAgICAgICAgPSB2bXhfdGVzdF9w aXIsCi0gICAgLmhhbmRsZV9lb2kgICAgICAgICAgID0gdm14X2hhbmRsZV9lb2ksCiAgICAgLm5o dm1faGFwX3dhbGtfTDFfcDJtID0gbnZteF9oYXBfd2Fsa19MMV9wMm0sCiAgICAgLmVuYWJsZV9t c3JfaW50ZXJjZXB0aW9uID0gdm14X2VuYWJsZV9tc3JfaW50ZXJjZXB0aW9uLAogICAgIC5pc19z aW5nbGVzdGVwX3N1cHBvcnRlZCA9IHZteF9pc19zaW5nbGVzdGVwX3N1cHBvcnRlZCwKQEAgLTI0 NjksMjYgKzI0NjMsMjMgQEAgY29uc3Qgc3RydWN0IGh2bV9mdW5jdGlvbl90YWJsZSAqIF9faW5p dAogICAgICAgICBzZXR1cF9lcHRfZHVtcCgpOwogICAgIH0KIAotICAgIGlmICggIWNwdV9oYXNf dm14X3ZpcnR1YWxfaW50cl9kZWxpdmVyeSApCisgICAgaWYgKCBjcHVfaGFzX3ZteF92aXJ0dWFs X2ludHJfZGVsaXZlcnkgKQogICAgIHsKLSAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLnVwZGF0 ZV9lb2lfZXhpdF9iaXRtYXAgPSBOVUxMOwotICAgICAgICB2bXhfZnVuY3Rpb25fdGFibGUucHJv Y2Vzc19pc3IgPSBOVUxMOwotICAgICAgICB2bXhfZnVuY3Rpb25fdGFibGUuaGFuZGxlX2VvaSA9 IE5VTEw7Ci0gICAgfQotICAgIGVsc2UKKyAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLnVwZGF0 ZV9lb2lfZXhpdF9iaXRtYXAgPSB2bXhfdXBkYXRlX2VvaV9leGl0X2JpdG1hcDsKKyAgICAgICAg dm14X2Z1bmN0aW9uX3RhYmxlLnByb2Nlc3NfaXNyID0gdm14X3Byb2Nlc3NfaXNyOworICAgICAg ICB2bXhfZnVuY3Rpb25fdGFibGUuaGFuZGxlX2VvaSA9IHZteF9oYW5kbGVfZW9pOwogICAgICAg ICB2bXhfZnVuY3Rpb25fdGFibGUudmlydHVhbF9pbnRyX2RlbGl2ZXJ5X2VuYWJsZWQgPSB0cnVl OworICAgIH0KIAogICAgIGlmICggY3B1X2hhc192bXhfcG9zdGVkX2ludHJfcHJvY2Vzc2luZyAp CiAgICAgewogICAgICAgICBhbGxvY19kaXJlY3RfYXBpY192ZWN0b3IoJnBvc3RlZF9pbnRyX3Zl Y3RvciwgcGlfbm90aWZpY2F0aW9uX2ludGVycnVwdCk7CiAgICAgICAgIGlmICggaW9tbXVfaW50 cG9zdCApCiAgICAgICAgICAgICBhbGxvY19kaXJlY3RfYXBpY192ZWN0b3IoJnBpX3dha2V1cF92 ZWN0b3IsIHBpX3dha2V1cF9pbnRlcnJ1cHQpOwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAg ICAgICB2bXhfZnVuY3Rpb25fdGFibGUuZGVsaXZlcl9wb3N0ZWRfaW50ciA9IE5VTEw7Ci0gICAg ICAgIHZteF9mdW5jdGlvbl90YWJsZS5zeW5jX3Bpcl90b19pcnIgPSBOVUxMOwotICAgICAgICB2 bXhfZnVuY3Rpb25fdGFibGUudGVzdF9waXIgPSBOVUxMOworCisgICAgICAgIHZteF9mdW5jdGlv bl90YWJsZS5kZWxpdmVyX3Bvc3RlZF9pbnRyID0gdm14X2RlbGl2ZXJfcG9zdGVkX2ludHI7Cisg ICAgICAgIHZteF9mdW5jdGlvbl90YWJsZS5zeW5jX3Bpcl90b19pcnIgICAgID0gdm14X3N5bmNf cGlyX3RvX2lycjsKKyAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLnRlc3RfcGlyICAgICAgICAg ICAgPSB2bXhfdGVzdF9waXI7CiAgICAgfQogCiAgICAgaWYgKCBjcHVfaGFzX3ZteF90c2Nfc2Nh bGluZyApCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs