From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 3/9] x86/HVM: patch vINTR indirect calls through hvm_funcs to direct ones Date: Tue, 11 Sep 2018 07:33:45 -0600 Message-ID: <5B97C43902000078001E7482@prv1-mh.provo.novell.com> References: <5B97C28802000078001E7456@prv1-mh.provo.novell.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]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fzinf-0008Mj-Gk for xen-devel@lists.xenproject.org; Tue, 11 Sep 2018 13:33:51 +0000 In-Reply-To: <5B97C28802000078001E7456@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 , Kevin Tian , Wei Liu , Jun Nakajima List-Id: xen-devel@lists.xenproject.org V2hpbGUgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgY2hhbmdlIHRoZSBWTVggaW5pdGlhbGl6YXRp b24gbG9naWMgdG8KdXBkYXRlIHRoZSBmdW5jdGlvbiB0YWJsZSBpbiBzdGFydF92bXgoKSBmcm9t IE5VTEwgcmF0aGVyIHRoYW4gdG8gTlVMTCwKdG8gbWFrZSBtb3JlIG9idmlvdXMgdGhhdCB3ZSB3 b24ndCBldmVyIGNoYW5nZSBhbiBhbHJlYWR5IChleHBsaWN0bHkpCmluaXRpYWxpemVkIGZ1bmN0 aW9uIHBvaW50ZXIuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkFja2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KLS0tCnYyOiBE cm9wIG9wZW4tY29kZWQgbnVtYmVycyBmcm9tIG1hY3JvIGludm9jYXRpb25zLgoKLS0tIGEveGVu L2FyY2gveDg2L2h2bS92bGFwaWMuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZsYXBpYy5jCkBA IC0xMTEsMTAgKzExMSwxNSBAQCBzdGF0aWMgdm9pZCB2bGFwaWNfY2xlYXJfaXJyKGludCB2ZWN0 b3IsCiAgICAgdmxhcGljX2NsZWFyX3ZlY3Rvcih2ZWN0b3IsICZ2bGFwaWMtPnJlZ3MtPmRhdGFb QVBJQ19JUlJdKTsKIH0KIAotc3RhdGljIGludCB2bGFwaWNfZmluZF9oaWdoZXN0X2lycihzdHJ1 Y3QgdmxhcGljICp2bGFwaWMpCitzdGF0aWMgdm9pZCBzeW5jX3Bpcl90b19pcnIoc3RydWN0IHZj cHUgKnYpCiB7CiAgICAgaWYgKCBodm1fZnVuY3Muc3luY19waXJfdG9faXJyICkKLSAgICAgICAg aHZtX2Z1bmNzLnN5bmNfcGlyX3RvX2lycih2bGFwaWNfdmNwdSh2bGFwaWMpKTsKKyAgICAgICAg YWx0ZXJuYXRpdmVfdmNhbGwoaHZtX2Z1bmNzLnN5bmNfcGlyX3RvX2lyciwgdik7Cit9CisKK3N0 YXRpYyBpbnQgdmxhcGljX2ZpbmRfaGlnaGVzdF9pcnIoc3RydWN0IHZsYXBpYyAqdmxhcGljKQor eworICAgIHN5bmNfcGlyX3RvX2lycih2bGFwaWNfdmNwdSh2bGFwaWMpKTsKIAogICAgIHJldHVy biB2bGFwaWNfZmluZF9oaWdoZXN0X3ZlY3RvcigmdmxhcGljLT5yZWdzLT5kYXRhW0FQSUNfSVJS XSk7CiB9CkBAIC0xNDMsNyArMTQ4LDcgQEAgYm9vbCB2bGFwaWNfdGVzdF9pcnEoY29uc3Qgc3Ry dWN0IHZsYXBpYwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoIGh2bV9mdW5jcy50 ZXN0X3BpciAmJgotICAgICAgICAgaHZtX2Z1bmNzLnRlc3RfcGlyKGNvbnN0X3ZsYXBpY192Y3B1 KHZsYXBpYyksIHZlYykgKQorICAgICAgICAgYWx0ZXJuYXRpdmVfY2FsbChodm1fZnVuY3MudGVz dF9waXIsIGNvbnN0X3ZsYXBpY192Y3B1KHZsYXBpYyksIHZlYykgKQogICAgICAgICByZXR1cm4g dHJ1ZTsKIAogICAgIHJldHVybiB2bGFwaWNfdGVzdF92ZWN0b3IodmVjLCAmdmxhcGljLT5yZWdz LT5kYXRhW0FQSUNfSVJSXSk7CkBAIC0xNjUsMTAgKzE3MCwxMCBAQCB2b2lkIHZsYXBpY19zZXRf aXJxKHN0cnVjdCB2bGFwaWMgKnZsYXBpCiAgICAgICAgIHZsYXBpY19jbGVhcl92ZWN0b3IodmVj LCAmdmxhcGljLT5yZWdzLT5kYXRhW0FQSUNfVE1SXSk7CiAKICAgICBpZiAoIGh2bV9mdW5jcy51 cGRhdGVfZW9pX2V4aXRfYml0bWFwICkKLSAgICAgICAgaHZtX2Z1bmNzLnVwZGF0ZV9lb2lfZXhp dF9iaXRtYXAodGFyZ2V0LCB2ZWMsIHRyaWcpOworICAgICAgICBhbHRlcm5hdGl2ZV92Y2FsbCho dm1fZnVuY3MudXBkYXRlX2VvaV9leGl0X2JpdG1hcCwgdGFyZ2V0LCB2ZWMsIHRyaWcpOwogCiAg ICAgaWYgKCBodm1fZnVuY3MuZGVsaXZlcl9wb3N0ZWRfaW50ciApCi0gICAgICAgIGh2bV9mdW5j cy5kZWxpdmVyX3Bvc3RlZF9pbnRyKHRhcmdldCwgdmVjKTsKKyAgICAgICAgYWx0ZXJuYXRpdmVf dmNhbGwoaHZtX2Z1bmNzLmRlbGl2ZXJfcG9zdGVkX2ludHIsIHRhcmdldCwgdmVjKTsKICAgICBl bHNlIGlmICggIXZsYXBpY190ZXN0X2FuZF9zZXRfaXJyKHZlYywgdmxhcGljKSApCiAgICAgICAg IHZjcHVfa2ljayh0YXJnZXQpOwogfQpAQCAtNDQ4LDcgKzQ1Myw3IEBAIHZvaWQgdmxhcGljX0VP SV9zZXQoc3RydWN0IHZsYXBpYyAqdmxhcGkKICAgICB2bGFwaWNfY2xlYXJfdmVjdG9yKHZlY3Rv ciwgJnZsYXBpYy0+cmVncy0+ZGF0YVtBUElDX0lTUl0pOwogCiAgICAgaWYgKCBodm1fZnVuY3Mu aGFuZGxlX2VvaSApCi0gICAgICAgIGh2bV9mdW5jcy5oYW5kbGVfZW9pKHZlY3Rvcik7CisgICAg ICAgIGFsdGVybmF0aXZlX3ZjYWxsKGh2bV9mdW5jcy5oYW5kbGVfZW9pLCB2ZWN0b3IpOwogCiAg ICAgdmxhcGljX2hhbmRsZV9FT0kodmxhcGljLCB2ZWN0b3IpOwogCkBAIC0xNDI5LDggKzE0MzQs NyBAQCBzdGF0aWMgaW50IGxhcGljX3NhdmVfcmVncyhzdHJ1Y3QgZG9tYWluCiAKICAgICBmb3Jf ZWFjaF92Y3B1ICggZCwgdiApCiAgICAgewotICAgICAgICBpZiAoIGh2bV9mdW5jcy5zeW5jX3Bp cl90b19pcnIgKQotICAgICAgICAgICAgaHZtX2Z1bmNzLnN5bmNfcGlyX3RvX2lycih2KTsKKyAg ICAgICAgc3luY19waXJfdG9faXJyKHYpOwogCiAgICAgICAgIHMgPSB2Y3B1X3ZsYXBpYyh2KTsK ICAgICAgICAgaWYgKCAocmMgPSBodm1fc2F2ZV9lbnRyeShMQVBJQ19SRUdTLCB2LT52Y3B1X2lk LCBoLCBzLT5yZWdzKSkgIT0gMCApCkBAIC0xNTMxLDcgKzE1MzUsOCBAQCBzdGF0aWMgaW50IGxh cGljX2xvYWRfcmVncyhzdHJ1Y3QgZG9tYWluCiAgICAgICAgIGxhcGljX2xvYWRfZml4dXAocyk7 CiAKICAgICBpZiAoIGh2bV9mdW5jcy5wcm9jZXNzX2lzciApCi0gICAgICAgIGh2bV9mdW5jcy5w cm9jZXNzX2lzcih2bGFwaWNfZmluZF9oaWdoZXN0X2lzcihzKSwgdik7CisgICAgICAgIGFsdGVy bmF0aXZlX3ZjYWxsKGh2bV9mdW5jcy5wcm9jZXNzX2lzciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZsYXBpY19maW5kX2hpZ2hlc3RfaXNyKHMpLCB2KTsKIAogICAgIHZsYXBpY19hZGp1 c3RfaTgyNTlfdGFyZ2V0KGQpOwogICAgIGxhcGljX3JlYXJtKHMpOwotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYwpAQCAtMjMz NiwxMiArMjMzNiw2IEBAIHN0YXRpYyBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlIF9faW5pdGQK ICAgICAubmh2bV92Y3B1X3ZtZXhpdF9ldmVudCA9IG52bXhfdm1leGl0X2V2ZW50LAogICAgIC5u aHZtX2ludHJfYmxvY2tlZCAgICA9IG52bXhfaW50cl9ibG9ja2VkLAogICAgIC5uaHZtX2RvbWFp bl9yZWxpbnF1aXNoX3Jlc291cmNlcyA9IG52bXhfZG9tYWluX3JlbGlucXVpc2hfcmVzb3VyY2Vz LAotICAgIC51cGRhdGVfZW9pX2V4aXRfYml0bWFwID0gdm14X3VwZGF0ZV9lb2lfZXhpdF9iaXRt YXAsCi0gICAgLnByb2Nlc3NfaXNyICAgICAgICAgID0gdm14X3Byb2Nlc3NfaXNyLAotICAgIC5k ZWxpdmVyX3Bvc3RlZF9pbnRyICA9IHZteF9kZWxpdmVyX3Bvc3RlZF9pbnRyLAotICAgIC5zeW5j X3Bpcl90b19pcnIgICAgICA9IHZteF9zeW5jX3Bpcl90b19pcnIsCi0gICAgLnRlc3RfcGlyICAg ICAgICAgICAgID0gdm14X3Rlc3RfcGlyLAotICAgIC5oYW5kbGVfZW9pICAgICAgICAgICA9IHZt eF9oYW5kbGVfZW9pLAogICAgIC5uaHZtX2hhcF93YWxrX0wxX3AybSA9IG52bXhfaGFwX3dhbGtf TDFfcDJtLAogICAgIC5lbmFibGVfbXNyX2ludGVyY2VwdGlvbiA9IHZteF9lbmFibGVfbXNyX2lu dGVyY2VwdGlvbiwKICAgICAuaXNfc2luZ2xlc3RlcF9zdXBwb3J0ZWQgPSB2bXhfaXNfc2luZ2xl c3RlcF9zdXBwb3J0ZWQsCkBAIC0yNDY5LDI2ICsyNDYzLDIzIEBAIGNvbnN0IHN0cnVjdCBodm1f ZnVuY3Rpb25fdGFibGUgKiBfX2luaXQKICAgICAgICAgc2V0dXBfZXB0X2R1bXAoKTsKICAgICB9 CiAKLSAgICBpZiAoICFjcHVfaGFzX3ZteF92aXJ0dWFsX2ludHJfZGVsaXZlcnkgKQorICAgIGlm ICggY3B1X2hhc192bXhfdmlydHVhbF9pbnRyX2RlbGl2ZXJ5ICkKICAgICB7Ci0gICAgICAgIHZt eF9mdW5jdGlvbl90YWJsZS51cGRhdGVfZW9pX2V4aXRfYml0bWFwID0gTlVMTDsKLSAgICAgICAg dm14X2Z1bmN0aW9uX3RhYmxlLnByb2Nlc3NfaXNyID0gTlVMTDsKLSAgICAgICAgdm14X2Z1bmN0 aW9uX3RhYmxlLmhhbmRsZV9lb2kgPSBOVUxMOwotICAgIH0KLSAgICBlbHNlCisgICAgICAgIHZt eF9mdW5jdGlvbl90YWJsZS51cGRhdGVfZW9pX2V4aXRfYml0bWFwID0gdm14X3VwZGF0ZV9lb2lf ZXhpdF9iaXRtYXA7CisgICAgICAgIHZteF9mdW5jdGlvbl90YWJsZS5wcm9jZXNzX2lzciA9IHZt eF9wcm9jZXNzX2lzcjsKKyAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLmhhbmRsZV9lb2kgPSB2 bXhfaGFuZGxlX2VvaTsKICAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLnZpcnR1YWxfaW50cl9k ZWxpdmVyeV9lbmFibGVkID0gdHJ1ZTsKKyAgICB9CiAKICAgICBpZiAoIGNwdV9oYXNfdm14X3Bv c3RlZF9pbnRyX3Byb2Nlc3NpbmcgKQogICAgIHsKICAgICAgICAgYWxsb2NfZGlyZWN0X2FwaWNf dmVjdG9yKCZwb3N0ZWRfaW50cl92ZWN0b3IsIHBpX25vdGlmaWNhdGlvbl9pbnRlcnJ1cHQpOwog ICAgICAgICBpZiAoIGlvbW11X2ludHBvc3QgKQogICAgICAgICAgICAgYWxsb2NfZGlyZWN0X2Fw aWNfdmVjdG9yKCZwaV93YWtldXBfdmVjdG9yLCBwaV93YWtldXBfaW50ZXJydXB0KTsKLSAgICB9 Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLmRlbGl2ZXJfcG9z dGVkX2ludHIgPSBOVUxMOwotICAgICAgICB2bXhfZnVuY3Rpb25fdGFibGUuc3luY19waXJfdG9f aXJyID0gTlVMTDsKLSAgICAgICAgdm14X2Z1bmN0aW9uX3RhYmxlLnRlc3RfcGlyID0gTlVMTDsK KworICAgICAgICB2bXhfZnVuY3Rpb25fdGFibGUuZGVsaXZlcl9wb3N0ZWRfaW50ciA9IHZteF9k ZWxpdmVyX3Bvc3RlZF9pbnRyOworICAgICAgICB2bXhfZnVuY3Rpb25fdGFibGUuc3luY19waXJf dG9faXJyICAgICA9IHZteF9zeW5jX3Bpcl90b19pcnI7CisgICAgICAgIHZteF9mdW5jdGlvbl90 YWJsZS50ZXN0X3BpciAgICAgICAgICAgID0gdm14X3Rlc3RfcGlyOwogICAgIH0KIAogICAgIGlm ICggY3B1X2hhc192bXhfdHNjX3NjYWxpbmcgKQoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==