From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 07/18] x86/traps: move pv_inject_event to pv/traps.c Date: Fri, 5 May 2017 15:48:25 +0100 Message-ID: <20170505144836.8612-8-wei.liu2@citrix.com> References: <20170505144836.8612-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 1d6eXB-0000Bw-T6 for xen-devel@lists.xenproject.org; Fri, 05 May 2017 14:48:42 +0000 In-Reply-To: <20170505144836.8612-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 aXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi90cmFwcy5jIHwgNjMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L3RyYXBz LmMgICAgfCA1OSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYvcHYvdHJhcHMu YwppbmRleCAzNTBlN2ExZGE0Li45ZGU1Nzk4ZTU4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv cHYvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwpAQCAtMjMsOSArMjMsMTMg QEAKICNpbmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2Fs bC5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNs dWRlIDx4ZW4vdHJhY2UuaD4KIAogI2luY2x1ZGUgPGFzbS9hcGljLmg+CiAjaW5jbHVkZSA8YXNt L2RlYnVncmVnLmg+CisjaW5jbHVkZSA8YXNtL3NoYXJlZC5oPgorI2luY2x1ZGUgPGFzbS90cmFw cy5oPgogCiB2b2lkIGRvX2VudHJ5X2ludDgyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog ewpAQCAtMTI4LDYgKzEzMiw2NSBAQCB1bnNpZ25lZCBsb25nIGRvX2dldF9kZWJ1Z3JlZyhpbnQg cmVnKQogICAgIHJldHVybiAtRUlOVkFMOwogfQogCit2b2lkIHB2X2luamVjdF9ldmVudChjb25z dCBzdHJ1Y3QgeDg2X2V2ZW50ICpldmVudCkKK3sKKyAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJl bnQ7CisgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdz KCk7CisgICAgc3RydWN0IHRyYXBfYm91bmNlICp0YjsKKyAgICBjb25zdCBzdHJ1Y3QgdHJhcF9p bmZvICp0aTsKKyAgICBjb25zdCB1aW50OF90IHZlY3RvciA9IGV2ZW50LT52ZWN0b3I7CisgICAg Y29uc3QgYm9vbCB1c2VfZXJyb3JfY29kZSA9CisgICAgICAgICgodmVjdG9yIDwgMzIpICYmIChU UkFQX0hBVkVfRUMgJiAoMXUgPDwgdmVjdG9yKSkpOworICAgIHVuc2lnbmVkIGludCBlcnJvcl9j b2RlID0gZXZlbnQtPmVycm9yX2NvZGU7CisKKyAgICBBU1NFUlQodmVjdG9yID09IGV2ZW50LT52 ZWN0b3IpOyAvKiBDb25maXJtIG5vIHRydW5jYXRpb24uICovCisgICAgaWYgKCB1c2VfZXJyb3Jf Y29kZSApCisgICAgICAgIEFTU0VSVChlcnJvcl9jb2RlICE9IFg4Nl9FVkVOVF9OT19FQyk7Cisg ICAgZWxzZQorICAgICAgICBBU1NFUlQoZXJyb3JfY29kZSA9PSBYODZfRVZFTlRfTk9fRUMpOwor CisgICAgdGIgPSAmdi0+YXJjaC5wdl92Y3B1LnRyYXBfYm91bmNlOworICAgIHRpID0gJnYtPmFy Y2gucHZfdmNwdS50cmFwX2N0eHRbdmVjdG9yXTsKKworICAgIHRiLT5mbGFncyA9IFRCRl9FWENF UFRJT047CisgICAgdGItPmNzICAgID0gdGktPmNzOworICAgIHRiLT5laXAgICA9IHRpLT5hZGRy ZXNzOworCisgICAgaWYgKCB2ZWN0b3IgPT0gVFJBUF9wYWdlX2ZhdWx0ICkKKyAgICB7CisgICAg ICAgIHYtPmFyY2gucHZfdmNwdS5jdHJscmVnWzJdID0gZXZlbnQtPmNyMjsKKyAgICAgICAgYXJj aF9zZXRfY3IyKHYsIGV2ZW50LT5jcjIpOworCisgICAgICAgIC8qIFJlLXNldCBlcnJvcl9jb2Rl LnVzZXIgZmxhZyBhcHByb3ByaWF0ZWx5IGZvciB0aGUgZ3Vlc3QuICovCisgICAgICAgIGVycm9y X2NvZGUgJj0gflBGRUNfdXNlcl9tb2RlOworICAgICAgICBpZiAoICFndWVzdF9rZXJuZWxfbW9k ZSh2LCByZWdzKSApCisgICAgICAgICAgICBlcnJvcl9jb2RlIHw9IFBGRUNfdXNlcl9tb2RlOwor CisgICAgICAgIHRyYWNlX3B2X3BhZ2VfZmF1bHQoZXZlbnQtPmNyMiwgZXJyb3JfY29kZSk7Cisg ICAgfQorICAgIGVsc2UKKyAgICAgICAgdHJhY2VfcHZfdHJhcCh2ZWN0b3IsIHJlZ3MtPnJpcCwg dXNlX2Vycm9yX2NvZGUsIGVycm9yX2NvZGUpOworCisgICAgaWYgKCB1c2VfZXJyb3JfY29kZSAp CisgICAgeworICAgICAgICB0Yi0+ZmxhZ3MgfD0gVEJGX0VYQ0VQVElPTl9FUlJDT0RFOworICAg ICAgICB0Yi0+ZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7CisgICAgfQorCisgICAgaWYgKCBUSV9H RVRfSUYodGkpICkKKyAgICAgICAgdGItPmZsYWdzIHw9IFRCRl9JTlRFUlJVUFQ7CisKKyAgICBp ZiAoIHVubGlrZWx5KG51bGxfdHJhcF9ib3VuY2UodiwgdGIpKSApCisgICAgeworICAgICAgICBn cHJpbnRrKFhFTkxPR19XQVJOSU5HLAorICAgICAgICAgICAgICAgICJVbmhhbmRsZWQgJXMgZmF1 bHQvdHJhcCBbIyVkLCBlYz0lMDR4XVxuIiwKKyAgICAgICAgICAgICAgICB0cmFwc3RyKHZlY3Rv ciksIHZlY3RvciwgZXJyb3JfY29kZSk7CisKKyAgICAgICAgaWYgKCB2ZWN0b3IgPT0gVFJBUF9w YWdlX2ZhdWx0ICkKKyAgICAgICAgICAgIHNob3dfcGFnZV93YWxrKGV2ZW50LT5jcjIpOworICAg IH0KK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKaW5kZXggOWUwYjMy MWYwOC4uYzM4YThhMTE3MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3RyYXBzLmMKKysrIGIv eGVuL2FyY2gveDg2L3RyYXBzLmMKQEAgLTYyNiw2NSArNjI2LDYgQEAgdm9pZCBmYXRhbF90cmFw KGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBib29sX3Qgc2hvd19yZW1vdGUpCiAg ICAgICAgICAgKHJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfSUYpID8gIiIgOiAiLCBJTiBJTlRF UlJVUFQgQ09OVEVYVCIpOwogfQogCi12b2lkIHB2X2luamVjdF9ldmVudChjb25zdCBzdHJ1Y3Qg eDg2X2V2ZW50ICpldmVudCkKLXsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7Ci0gICAg c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7Ci0gICAg c3RydWN0IHRyYXBfYm91bmNlICp0YjsKLSAgICBjb25zdCBzdHJ1Y3QgdHJhcF9pbmZvICp0aTsK LSAgICBjb25zdCB1aW50OF90IHZlY3RvciA9IGV2ZW50LT52ZWN0b3I7Ci0gICAgY29uc3QgYm9v bCB1c2VfZXJyb3JfY29kZSA9Ci0gICAgICAgICgodmVjdG9yIDwgMzIpICYmIChUUkFQX0hBVkVf RUMgJiAoMXUgPDwgdmVjdG9yKSkpOwotICAgIHVuc2lnbmVkIGludCBlcnJvcl9jb2RlID0gZXZl bnQtPmVycm9yX2NvZGU7Ci0KLSAgICBBU1NFUlQodmVjdG9yID09IGV2ZW50LT52ZWN0b3IpOyAv KiBDb25maXJtIG5vIHRydW5jYXRpb24uICovCi0gICAgaWYgKCB1c2VfZXJyb3JfY29kZSApCi0g ICAgICAgIEFTU0VSVChlcnJvcl9jb2RlICE9IFg4Nl9FVkVOVF9OT19FQyk7Ci0gICAgZWxzZQot ICAgICAgICBBU1NFUlQoZXJyb3JfY29kZSA9PSBYODZfRVZFTlRfTk9fRUMpOwotCi0gICAgdGIg PSAmdi0+YXJjaC5wdl92Y3B1LnRyYXBfYm91bmNlOwotICAgIHRpID0gJnYtPmFyY2gucHZfdmNw dS50cmFwX2N0eHRbdmVjdG9yXTsKLQotICAgIHRiLT5mbGFncyA9IFRCRl9FWENFUFRJT047Ci0g ICAgdGItPmNzICAgID0gdGktPmNzOwotICAgIHRiLT5laXAgICA9IHRpLT5hZGRyZXNzOwotCi0g ICAgaWYgKCB2ZWN0b3IgPT0gVFJBUF9wYWdlX2ZhdWx0ICkKLSAgICB7Ci0gICAgICAgIHYtPmFy Y2gucHZfdmNwdS5jdHJscmVnWzJdID0gZXZlbnQtPmNyMjsKLSAgICAgICAgYXJjaF9zZXRfY3Iy KHYsIGV2ZW50LT5jcjIpOwotCi0gICAgICAgIC8qIFJlLXNldCBlcnJvcl9jb2RlLnVzZXIgZmxh ZyBhcHByb3ByaWF0ZWx5IGZvciB0aGUgZ3Vlc3QuICovCi0gICAgICAgIGVycm9yX2NvZGUgJj0g flBGRUNfdXNlcl9tb2RlOwotICAgICAgICBpZiAoICFndWVzdF9rZXJuZWxfbW9kZSh2LCByZWdz KSApCi0gICAgICAgICAgICBlcnJvcl9jb2RlIHw9IFBGRUNfdXNlcl9tb2RlOwotCi0gICAgICAg IHRyYWNlX3B2X3BhZ2VfZmF1bHQoZXZlbnQtPmNyMiwgZXJyb3JfY29kZSk7Ci0gICAgfQotICAg IGVsc2UKLSAgICAgICAgdHJhY2VfcHZfdHJhcCh2ZWN0b3IsIHJlZ3MtPnJpcCwgdXNlX2Vycm9y X2NvZGUsIGVycm9yX2NvZGUpOwotCi0gICAgaWYgKCB1c2VfZXJyb3JfY29kZSApCi0gICAgewot ICAgICAgICB0Yi0+ZmxhZ3MgfD0gVEJGX0VYQ0VQVElPTl9FUlJDT0RFOwotICAgICAgICB0Yi0+ ZXJyb3JfY29kZSA9IGVycm9yX2NvZGU7Ci0gICAgfQotCi0gICAgaWYgKCBUSV9HRVRfSUYodGkp ICkKLSAgICAgICAgdGItPmZsYWdzIHw9IFRCRl9JTlRFUlJVUFQ7Ci0KLSAgICBpZiAoIHVubGlr ZWx5KG51bGxfdHJhcF9ib3VuY2UodiwgdGIpKSApCi0gICAgewotICAgICAgICBncHJpbnRrKFhF TkxPR19XQVJOSU5HLAotICAgICAgICAgICAgICAgICJVbmhhbmRsZWQgJXMgZmF1bHQvdHJhcCBb IyVkLCBlYz0lMDR4XVxuIiwKLSAgICAgICAgICAgICAgICB0cmFwc3RyKHZlY3RvciksIHZlY3Rv ciwgZXJyb3JfY29kZSk7Ci0KLSAgICAgICAgaWYgKCB2ZWN0b3IgPT0gVFJBUF9wYWdlX2ZhdWx0 ICkKLSAgICAgICAgICAgIHNob3dfcGFnZV93YWxrKGV2ZW50LT5jcjIpOwotICAgIH0KLX0KLQog LyoKICAqIENhbGxlZCBmcm9tIGFzbSB0byBzZXQgdXAgdGhlIE1DRSB0cmFwYm91bmNlIGluZm8u CiAgKiBSZXR1cm5zIDAgaWYgbm8gY2FsbGJhY2sgaXMgc2V0IHVwLCBlbHNlIDEuCi0tIAoyLjEx LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK