From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v4 09/27] x86/traps: move pv_inject_event to pv/traps.c Date: Thu, 8 Jun 2017 18:11:45 +0100 Message-ID: <20170608171203.20416-10-wei.liu2@citrix.com> References: <20170608171203.20416-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dJ0yj-0004rn-68 for xen-devel@lists.xenproject.org; Thu, 08 Jun 2017 17:12:13 +0000 In-Reply-To: <20170608171203.20416-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gcmVuYW1lICJ2IiB0byAiY3VyciIuCgpObyBmdW5jdGlv bmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ Ci0tLQogeGVuL2FyY2gveDg2L3B2L3RyYXBzLmMgfCA3MyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICB8IDY5 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMg Y2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3B2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwppbmRleCA2 ZTY5ZjJhZDU4Li5lYzdmZjEwNDBiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvdHJhcHMu YworKysgYi94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwpAQCAtMjIsOSArMjIsMTMgQEAKICNpbmNs dWRlIDx4ZW4vZXZlbnQuaD4KICNpbmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAjaW5jbHVk ZSA8eGVuL2h5cGVyY2FsbC5oPgorI2luY2x1ZGUgPHhlbi9saWIuaD4KICNpbmNsdWRlIDx4ZW4v c2NoZWQuaD4KKyNpbmNsdWRlIDx4ZW4vdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9hcGljLmg+ CisjaW5jbHVkZSA8YXNtL3NoYXJlZC5oPgorI2luY2x1ZGUgPGFzbS90cmFwcy5oPgogCiB2b2lk IGRvX2VudHJ5X2ludDgyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewpAQCAtODMsNiAr ODcsNzUgQEAgbG9uZyBkb19zZXRfdHJhcF90YWJsZShYRU5fR1VFU1RfSEFORExFX1BBUkFNKGNv bnN0X3RyYXBfaW5mb190KSB0cmFwcykKICAgICByZXR1cm4gcmM7CiB9CiAKK3ZvaWQgcHZfaW5q ZWN0X2V2ZW50KGNvbnN0IHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQoreworICAgIHN0cnVjdCB2 Y3B1ICpjdXJyID0gY3VycmVudDsKKyAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9IGd1 ZXN0X2NwdV91c2VyX3JlZ3MoKTsKKyAgICBzdHJ1Y3QgdHJhcF9ib3VuY2UgKnRiOworICAgIGNv bnN0IHN0cnVjdCB0cmFwX2luZm8gKnRpOworICAgIGNvbnN0IHVpbnQ4X3QgdmVjdG9yID0gZXZl bnQtPnZlY3RvcjsKKyAgICB1bnNpZ25lZCBpbnQgZXJyb3JfY29kZSA9IGV2ZW50LT5lcnJvcl9j b2RlOworICAgIGJvb2wgdXNlX2Vycm9yX2NvZGU7CisKKyAgICBBU1NFUlQodmVjdG9yID09IGV2 ZW50LT52ZWN0b3IpOyAvKiBDb25maXJtIG5vIHRydW5jYXRpb24uICovCisgICAgaWYgKCBldmVu dC0+dHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTiApCisgICAgeworICAgICAgICBB U1NFUlQodmVjdG9yIDwgMzIpOworICAgICAgICB1c2VfZXJyb3JfY29kZSA9IFRSQVBfSEFWRV9F QyAmICgxdSA8PCB2ZWN0b3IpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBBU1NF UlQoZXZlbnQtPnR5cGUgPT0gWDg2X0VWRU5UVFlQRV9TV19JTlRFUlJVUFQpOworICAgICAgICB1 c2VfZXJyb3JfY29kZSA9IGZhbHNlOworICAgIH0KKyAgICBpZiAoIHVzZV9lcnJvcl9jb2RlICkK KyAgICAgICAgQVNTRVJUKGVycm9yX2NvZGUgIT0gWDg2X0VWRU5UX05PX0VDKTsKKyAgICBlbHNl CisgICAgICAgIEFTU0VSVChlcnJvcl9jb2RlID09IFg4Nl9FVkVOVF9OT19FQyk7CisKKyAgICB0 YiA9ICZjdXJyLT5hcmNoLnB2X3ZjcHUudHJhcF9ib3VuY2U7CisgICAgdGkgPSAmY3Vyci0+YXJj aC5wdl92Y3B1LnRyYXBfY3R4dFt2ZWN0b3JdOworCisgICAgdGItPmZsYWdzID0gVEJGX0VYQ0VQ VElPTjsKKyAgICB0Yi0+Y3MgICAgPSB0aS0+Y3M7CisgICAgdGItPmVpcCAgID0gdGktPmFkZHJl c3M7CisKKyAgICBpZiAoIGV2ZW50LT50eXBlID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBUSU9O ICYmCisgICAgICAgICB2ZWN0b3IgPT0gVFJBUF9wYWdlX2ZhdWx0ICkKKyAgICB7CisgICAgICAg IGN1cnItPmFyY2gucHZfdmNwdS5jdHJscmVnWzJdID0gZXZlbnQtPmNyMjsKKyAgICAgICAgYXJj aF9zZXRfY3IyKGN1cnIsIGV2ZW50LT5jcjIpOworCisgICAgICAgIC8qIFJlLXNldCBlcnJvcl9j b2RlLnVzZXIgZmxhZyBhcHByb3ByaWF0ZWx5IGZvciB0aGUgZ3Vlc3QuICovCisgICAgICAgIGVy cm9yX2NvZGUgJj0gflBGRUNfdXNlcl9tb2RlOworICAgICAgICBpZiAoICFndWVzdF9rZXJuZWxf bW9kZShjdXJyLCByZWdzKSApCisgICAgICAgICAgICBlcnJvcl9jb2RlIHw9IFBGRUNfdXNlcl9t b2RlOworCisgICAgICAgIHRyYWNlX3B2X3BhZ2VfZmF1bHQoZXZlbnQtPmNyMiwgZXJyb3JfY29k ZSk7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgdHJhY2VfcHZfdHJhcCh2ZWN0b3IsIHJlZ3Mt PnJpcCwgdXNlX2Vycm9yX2NvZGUsIGVycm9yX2NvZGUpOworCisgICAgaWYgKCB1c2VfZXJyb3Jf Y29kZSApCisgICAgeworICAgICAgICB0Yi0+ZmxhZ3MgfD0gVEJGX0VYQ0VQVElPTl9FUlJDT0RF OworICAgICAgICB0Yi0+ZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisgICAgfQorCisgICAgaWYg KCBUSV9HRVRfSUYodGkpICkKKyAgICAgICAgdGItPmZsYWdzIHw9IFRCRl9JTlRFUlJVUFQ7CisK KyAgICBpZiAoIHVubGlrZWx5KG51bGxfdHJhcF9ib3VuY2UoY3VyciwgdGIpKSApCisgICAgewor ICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICJVbmhhbmRs ZWQgJXMgZmF1bHQvdHJhcCBbIyVkLCBlYz0lMDR4XVxuIiwKKyAgICAgICAgICAgICAgICB0cmFw c3RyKHZlY3RvciksIHZlY3RvciwgZXJyb3JfY29kZSk7CisKKyAgICAgICAgaWYgKCB2ZWN0b3Ig PT0gVFJBUF9wYWdlX2ZhdWx0ICkKKyAgICAgICAgICAgIHNob3dfcGFnZV93YWxrKGV2ZW50LT5j cjIpOworICAgIH0KK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKaW5k ZXggNjkyM2MyZWYwMS4uNmFiZmI2MmMwYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RyYXBz LmMKKysrIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKQEAgLTYyNiw3NSArNjI2LDYgQEAgdm9pZCBm YXRhbF90cmFwKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBib29sX3Qgc2hvd19y ZW1vdGUpCiAgICAgICAgICAgKHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfSUYpID8gIiIgOiAi LCBJTiBJTlRFUlJVUFQgQ09OVEVYVCIpOwogfQogCi12b2lkIHB2X2luamVjdF9ldmVudChjb25z dCBzdHJ1Y3QgeDg2X2V2ZW50ICpldmVudCkKLXsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJl bnQ7Ci0gICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdz KCk7Ci0gICAgc3RydWN0IHRyYXBfYm91bmNlICp0YjsKLSAgICBjb25zdCBzdHJ1Y3QgdHJhcF9p bmZvICp0aTsKLSAgICBjb25zdCB1aW50OF90IHZlY3RvciA9IGV2ZW50LT52ZWN0b3I7Ci0gICAg dW5zaWduZWQgaW50IGVycm9yX2NvZGUgPSBldmVudC0+ZXJyb3JfY29kZTsKLSAgICBib29sIHVz ZV9lcnJvcl9jb2RlOwotCi0gICAgQVNTRVJUKHZlY3RvciA9PSBldmVudC0+dmVjdG9yKTsgLyog Q29uZmlybSBubyB0cnVuY2F0aW9uLiAqLwotICAgIGlmICggZXZlbnQtPnR5cGUgPT0gWDg2X0VW RU5UVFlQRV9IV19FWENFUFRJT04gKQotICAgIHsKLSAgICAgICAgQVNTRVJUKHZlY3RvciA8IDMy KTsKLSAgICAgICAgdXNlX2Vycm9yX2NvZGUgPSBUUkFQX0hBVkVfRUMgJiAoMXUgPDwgdmVjdG9y KTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgQVNTRVJUKGV2ZW50LT50eXBlID09 IFg4Nl9FVkVOVFRZUEVfU1dfSU5URVJSVVBUKTsKLSAgICAgICAgdXNlX2Vycm9yX2NvZGUgPSBm YWxzZTsKLSAgICB9Ci0gICAgaWYgKCB1c2VfZXJyb3JfY29kZSApCi0gICAgICAgIEFTU0VSVChl cnJvcl9jb2RlICE9IFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgZWxzZQotICAgICAgICBBU1NFUlQo ZXJyb3JfY29kZSA9PSBYODZfRVZFTlRfTk9fRUMpOwotCi0gICAgdGIgPSAmdi0+YXJjaC5wdl92 Y3B1LnRyYXBfYm91bmNlOwotICAgIHRpID0gJnYtPmFyY2gucHZfdmNwdS50cmFwX2N0eHRbdmVj dG9yXTsKLQotICAgIHRiLT5mbGFncyA9IFRCRl9FWENFUFRJT047Ci0gICAgdGItPmNzICAgID0g dGktPmNzOwotICAgIHRiLT5laXAgICA9IHRpLT5hZGRyZXNzOwotCi0gICAgaWYgKCBldmVudC0+ dHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTiAmJgotICAgICAgICAgdmVjdG9yID09 IFRSQVBfcGFnZV9mYXVsdCApCi0gICAgewotICAgICAgICB2LT5hcmNoLnB2X3ZjcHUuY3RybHJl Z1syXSA9IGV2ZW50LT5jcjI7Ci0gICAgICAgIGFyY2hfc2V0X2NyMih2LCBldmVudC0+Y3IyKTsK LQotICAgICAgICAvKiBSZS1zZXQgZXJyb3JfY29kZS51c2VyIGZsYWcgYXBwcm9wcmlhdGVseSBm b3IgdGhlIGd1ZXN0LiAqLwotICAgICAgICBlcnJvcl9jb2RlICY9IH5QRkVDX3VzZXJfbW9kZTsK LSAgICAgICAgaWYgKCAhZ3Vlc3Rfa2VybmVsX21vZGUodiwgcmVncykgKQotICAgICAgICAgICAg ZXJyb3JfY29kZSB8PSBQRkVDX3VzZXJfbW9kZTsKLQotICAgICAgICB0cmFjZV9wdl9wYWdlX2Zh dWx0KGV2ZW50LT5jcjIsIGVycm9yX2NvZGUpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHRy YWNlX3B2X3RyYXAodmVjdG9yLCByZWdzLT5yaXAsIHVzZV9lcnJvcl9jb2RlLCBlcnJvcl9jb2Rl KTsKLQotICAgIGlmICggdXNlX2Vycm9yX2NvZGUgKQotICAgIHsKLSAgICAgICAgdGItPmZsYWdz IHw9IFRCRl9FWENFUFRJT05fRVJSQ09ERTsKLSAgICAgICAgdGItPmVycm9yX2NvZGUgPSBlcnJv cl9jb2RlOwotICAgIH0KLQotICAgIGlmICggVElfR0VUX0lGKHRpKSApCi0gICAgICAgIHRiLT5m bGFncyB8PSBUQkZfSU5URVJSVVBUOwotCi0gICAgaWYgKCB1bmxpa2VseShudWxsX3RyYXBfYm91 bmNlKHYsIHRiKSkgKQotICAgIHsKLSAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywKLSAg ICAgICAgICAgICAgICAiVW5oYW5kbGVkICVzIGZhdWx0L3RyYXAgWyMlZCwgZWM9JTA0eF1cbiIs Ci0gICAgICAgICAgICAgICAgdHJhcHN0cih2ZWN0b3IpLCB2ZWN0b3IsIGVycm9yX2NvZGUpOwot Ci0gICAgICAgIGlmICggdmVjdG9yID09IFRSQVBfcGFnZV9mYXVsdCApCi0gICAgICAgICAgICBz aG93X3BhZ2Vfd2FsayhldmVudC0+Y3IyKTsKLSAgICB9Ci19Ci0KIC8qCiAgKiBDYWxsZWQgZnJv bSBhc20gdG8gc2V0IHVwIHRoZSBNQ0UgdHJhcGJvdW5jZSBpbmZvLgogICogUmV0dXJucyAwIGlm IG5vIGNhbGxiYWNrIGlzIHNldCB1cCwgZWxzZSAxLgotLSAKMi4xMS4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==