From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH for-next v3 07/22] x86/traps: move pv_inject_event to pv/traps.c Date: Thu, 18 May 2017 18:09:49 +0100 Message-ID: <20170518171004.27204-8-wei.liu2@citrix.com> References: <20170518171004.27204-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dBOwL-0002pN-9t for xen-devel@lists.xenproject.org; Thu, 18 May 2017 17:10:17 +0000 In-Reply-To: <20170518171004.27204-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 Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi90cmFwcy5jIHwgNzMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L3RyYXBz LmMgICAgfCA2OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi90cmFwcy5jIGIveGVuL2FyY2gveDg2L3B2L3RyYXBz LmMKaW5kZXggMzUwZTdhMWRhNC4uNzkzMDQ3MDRkZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L3B2L3RyYXBzLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMKQEAgLTIyLDEwICsyMiwx NCBAQAogI2luY2x1ZGUgPHhlbi9ldmVudC5oPgogI2luY2x1ZGUgPHhlbi9ndWVzdF9hY2Nlc3Mu aD4KICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+CisjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2lu Y2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi90cmFjZS5oPgogCiAjaW5jbHVkZSA8 YXNtL2FwaWMuaD4KICNpbmNsdWRlIDxhc20vZGVidWdyZWcuaD4KKyNpbmNsdWRlIDxhc20vc2hh cmVkLmg+CisjaW5jbHVkZSA8YXNtL3RyYXBzLmg+CiAKIHZvaWQgZG9fZW50cnlfaW50ODIoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CkBAIC0xMjgsNiArMTMyLDc1IEBAIHVuc2lnbmVk IGxvbmcgZG9fZ2V0X2RlYnVncmVnKGludCByZWcpCiAgICAgcmV0dXJuIC1FSU5WQUw7CiB9CiAK K3ZvaWQgcHZfaW5qZWN0X2V2ZW50KGNvbnN0IHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQorewor ICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKKyAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq cmVncyA9IGd1ZXN0X2NwdV91c2VyX3JlZ3MoKTsKKyAgICBzdHJ1Y3QgdHJhcF9ib3VuY2UgKnRi OworICAgIGNvbnN0IHN0cnVjdCB0cmFwX2luZm8gKnRpOworICAgIGNvbnN0IHVpbnQ4X3QgdmVj dG9yID0gZXZlbnQtPnZlY3RvcjsKKyAgICB1bnNpZ25lZCBpbnQgZXJyb3JfY29kZSA9IGV2ZW50 LT5lcnJvcl9jb2RlOworICAgIGJvb2wgdXNlX2Vycm9yX2NvZGU7CisKKyAgICBBU1NFUlQodmVj dG9yID09IGV2ZW50LT52ZWN0b3IpOyAvKiBDb25maXJtIG5vIHRydW5jYXRpb24uICovCisgICAg aWYgKCBldmVudC0+dHlwZSA9PSBYODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTiApCisgICAgewor ICAgICAgICBBU1NFUlQodmVjdG9yIDwgMzIpOworICAgICAgICB1c2VfZXJyb3JfY29kZSA9IFRS QVBfSEFWRV9FQyAmICgxdSA8PCB2ZWN0b3IpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAg ICAgICBBU1NFUlQoZXZlbnQtPnR5cGUgPT0gWDg2X0VWRU5UVFlQRV9TV19JTlRFUlJVUFQpOwor ICAgICAgICB1c2VfZXJyb3JfY29kZSA9IGZhbHNlOworICAgIH0KKyAgICBpZiAoIHVzZV9lcnJv cl9jb2RlICkKKyAgICAgICAgQVNTRVJUKGVycm9yX2NvZGUgIT0gWDg2X0VWRU5UX05PX0VDKTsK KyAgICBlbHNlCisgICAgICAgIEFTU0VSVChlcnJvcl9jb2RlID09IFg4Nl9FVkVOVF9OT19FQyk7 CisKKyAgICB0YiA9ICZ2LT5hcmNoLnB2X3ZjcHUudHJhcF9ib3VuY2U7CisgICAgdGkgPSAmdi0+ YXJjaC5wdl92Y3B1LnRyYXBfY3R4dFt2ZWN0b3JdOworCisgICAgdGItPmZsYWdzID0gVEJGX0VY Q0VQVElPTjsKKyAgICB0Yi0+Y3MgICAgPSB0aS0+Y3M7CisgICAgdGItPmVpcCAgID0gdGktPmFk ZHJlc3M7CisKKyAgICBpZiAoIGV2ZW50LT50eXBlID09IFg4Nl9FVkVOVFRZUEVfSFdfRVhDRVBU SU9OICYmCisgICAgICAgICB2ZWN0b3IgPT0gVFJBUF9wYWdlX2ZhdWx0ICkKKyAgICB7CisgICAg ICAgIHYtPmFyY2gucHZfdmNwdS5jdHJscmVnWzJdID0gZXZlbnQtPmNyMjsKKyAgICAgICAgYXJj aF9zZXRfY3IyKHYsIGV2ZW50LT5jcjIpOworCisgICAgICAgIC8qIFJlLXNldCBlcnJvcl9jb2Rl LnVzZXIgZmxhZyBhcHByb3ByaWF0ZWx5IGZvciB0aGUgZ3Vlc3QuICovCisgICAgICAgIGVycm9y X2NvZGUgJj0gflBGRUNfdXNlcl9tb2RlOworICAgICAgICBpZiAoICFndWVzdF9rZXJuZWxfbW9k ZSh2LCByZWdzKSApCisgICAgICAgICAgICBlcnJvcl9jb2RlIHw9IFBGRUNfdXNlcl9tb2RlOwor CisgICAgICAgIHRyYWNlX3B2X3BhZ2VfZmF1bHQoZXZlbnQtPmNyMiwgZXJyb3JfY29kZSk7Cisg ICAgfQorICAgIGVsc2UKKyAgICAgICAgdHJhY2VfcHZfdHJhcCh2ZWN0b3IsIHJlZ3MtPnJpcCwg dXNlX2Vycm9yX2NvZGUsIGVycm9yX2NvZGUpOworCisgICAgaWYgKCB1c2VfZXJyb3JfY29kZSAp CisgICAgeworICAgICAgICB0Yi0+ZmxhZ3MgfD0gVEJGX0VYQ0VQVElPTl9FUlJDT0RFOworICAg ICAgICB0Yi0+ZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisgICAgfQorCisgICAgaWYgKCBUSV9H RVRfSUYodGkpICkKKyAgICAgICAgdGItPmZsYWdzIHw9IFRCRl9JTlRFUlJVUFQ7CisKKyAgICBp ZiAoIHVubGlrZWx5KG51bGxfdHJhcF9ib3VuY2UodiwgdGIpKSApCisgICAgeworICAgICAgICBn cHJpbnRrKFhFTkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICJVbmhhbmRsZWQgJXMgZmF1 bHQvdHJhcCBbIyVkLCBlYz0lMDR4XVxuIiwKKyAgICAgICAgICAgICAgICB0cmFwc3RyKHZlY3Rv ciksIHZlY3RvciwgZXJyb3JfY29kZSk7CisKKyAgICAgICAgaWYgKCB2ZWN0b3IgPT0gVFJBUF9w YWdlX2ZhdWx0ICkKKyAgICAgICAgICAgIHNob3dfcGFnZV93YWxrKGV2ZW50LT5jcjIpOworICAg IH0KK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKaW5kZXggZTVhM2M5 YWQxYS4uOTZmM2ZmZmZkNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RyYXBzLmMKKysrIGIv eGVuL2FyY2gveDg2L3RyYXBzLmMKQEAgLTYyNyw3NSArNjI3LDYgQEAgdm9pZCBmYXRhbF90cmFw KGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBib29sX3Qgc2hvd19yZW1vdGUpCiAg ICAgICAgICAgKHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfSUYpID8gIiIgOiAiLCBJTiBJTlRF UlJVUFQgQ09OVEVYVCIpOwogfQogCi12b2lkIHB2X2luamVjdF9ldmVudChjb25zdCBzdHJ1Y3Qg eDg2X2V2ZW50ICpldmVudCkKLXsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7Ci0gICAg c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7Ci0gICAg c3RydWN0IHRyYXBfYm91bmNlICp0YjsKLSAgICBjb25zdCBzdHJ1Y3QgdHJhcF9pbmZvICp0aTsK LSAgICBjb25zdCB1aW50OF90IHZlY3RvciA9IGV2ZW50LT52ZWN0b3I7Ci0gICAgdW5zaWduZWQg aW50IGVycm9yX2NvZGUgPSBldmVudC0+ZXJyb3JfY29kZTsKLSAgICBib29sIHVzZV9lcnJvcl9j b2RlOwotCi0gICAgQVNTRVJUKHZlY3RvciA9PSBldmVudC0+dmVjdG9yKTsgLyogQ29uZmlybSBu byB0cnVuY2F0aW9uLiAqLwotICAgIGlmICggZXZlbnQtPnR5cGUgPT0gWDg2X0VWRU5UVFlQRV9I V19FWENFUFRJT04gKQotICAgIHsKLSAgICAgICAgQVNTRVJUKHZlY3RvciA8IDMyKTsKLSAgICAg ICAgdXNlX2Vycm9yX2NvZGUgPSBUUkFQX0hBVkVfRUMgJiAoMXUgPDwgdmVjdG9yKTsKLSAgICB9 Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgQVNTRVJUKGV2ZW50LT50eXBlID09IFg4Nl9FVkVO VFRZUEVfU1dfSU5URVJSVVBUKTsKLSAgICAgICAgdXNlX2Vycm9yX2NvZGUgPSBmYWxzZTsKLSAg ICB9Ci0gICAgaWYgKCB1c2VfZXJyb3JfY29kZSApCi0gICAgICAgIEFTU0VSVChlcnJvcl9jb2Rl ICE9IFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgZWxzZQotICAgICAgICBBU1NFUlQoZXJyb3JfY29k ZSA9PSBYODZfRVZFTlRfTk9fRUMpOwotCi0gICAgdGIgPSAmdi0+YXJjaC5wdl92Y3B1LnRyYXBf Ym91bmNlOwotICAgIHRpID0gJnYtPmFyY2gucHZfdmNwdS50cmFwX2N0eHRbdmVjdG9yXTsKLQot ICAgIHRiLT5mbGFncyA9IFRCRl9FWENFUFRJT047Ci0gICAgdGItPmNzICAgID0gdGktPmNzOwot ICAgIHRiLT5laXAgICA9IHRpLT5hZGRyZXNzOwotCi0gICAgaWYgKCBldmVudC0+dHlwZSA9PSBY ODZfRVZFTlRUWVBFX0hXX0VYQ0VQVElPTiAmJgotICAgICAgICAgdmVjdG9yID09IFRSQVBfcGFn ZV9mYXVsdCApCi0gICAgewotICAgICAgICB2LT5hcmNoLnB2X3ZjcHUuY3RybHJlZ1syXSA9IGV2 ZW50LT5jcjI7Ci0gICAgICAgIGFyY2hfc2V0X2NyMih2LCBldmVudC0+Y3IyKTsKLQotICAgICAg ICAvKiBSZS1zZXQgZXJyb3JfY29kZS51c2VyIGZsYWcgYXBwcm9wcmlhdGVseSBmb3IgdGhlIGd1 ZXN0LiAqLwotICAgICAgICBlcnJvcl9jb2RlICY9IH5QRkVDX3VzZXJfbW9kZTsKLSAgICAgICAg aWYgKCAhZ3Vlc3Rfa2VybmVsX21vZGUodiwgcmVncykgKQotICAgICAgICAgICAgZXJyb3JfY29k ZSB8PSBQRkVDX3VzZXJfbW9kZTsKLQotICAgICAgICB0cmFjZV9wdl9wYWdlX2ZhdWx0KGV2ZW50 LT5jcjIsIGVycm9yX2NvZGUpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHRyYWNlX3B2X3Ry YXAodmVjdG9yLCByZWdzLT5yaXAsIHVzZV9lcnJvcl9jb2RlLCBlcnJvcl9jb2RlKTsKLQotICAg IGlmICggdXNlX2Vycm9yX2NvZGUgKQotICAgIHsKLSAgICAgICAgdGItPmZsYWdzIHw9IFRCRl9F WENFUFRJT05fRVJSQ09ERTsKLSAgICAgICAgdGItPmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwot ICAgIH0KLQotICAgIGlmICggVElfR0VUX0lGKHRpKSApCi0gICAgICAgIHRiLT5mbGFncyB8PSBU QkZfSU5URVJSVVBUOwotCi0gICAgaWYgKCB1bmxpa2VseShudWxsX3RyYXBfYm91bmNlKHYsIHRi KSkgKQotICAgIHsKLSAgICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywKLSAgICAgICAgICAg ICAgICAiVW5oYW5kbGVkICVzIGZhdWx0L3RyYXAgWyMlZCwgZWM9JTA0eF1cbiIsCi0gICAgICAg ICAgICAgICAgdHJhcHN0cih2ZWN0b3IpLCB2ZWN0b3IsIGVycm9yX2NvZGUpOwotCi0gICAgICAg IGlmICggdmVjdG9yID09IFRSQVBfcGFnZV9mYXVsdCApCi0gICAgICAgICAgICBzaG93X3BhZ2Vf d2FsayhldmVudC0+Y3IyKTsKLSAgICB9Ci19Ci0KIC8qCiAgKiBDYWxsZWQgZnJvbSBhc20gdG8g c2V0IHVwIHRoZSBNQ0UgdHJhcGJvdW5jZSBpbmZvLgogICogUmV0dXJucyAwIGlmIG5vIGNhbGxi YWNrIGlzIHNldCB1cCwgZWxzZSAxLgotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==