From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 5/7] x86/traps: Lift all non-entrypoint logic in entry_int82() up into C Date: Thu, 4 May 2017 11:01:52 +0100 Message-ID: <1493892112-8840-1-git-send-email-andrew.cooper3@citrix.com> References: <5909B8C1020000780015637E@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5909B8C1020000780015637E@prv-mh.provo.novell.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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyBtb3JlIHJlYWRhYmxlLCBtYWludGFpbmFibGUsIGFuZCBsaXZlcGF0Y2hhYmxlLgoK VGhpcyBpbnZvbHZlcyBkZWNsYXJpbmcgY2hlY2tfZm9yX3VuZXhwZWN0ZWRfbXNpKCksIHVudHJ1 c3RlZF9tc2kgYW5kCnB2X2h5cGVyY2FsbCgpIHN1aXRhYmx5IGZvciB1c2UgYnkgQy4gIFdoaWxl IG1ha2luZyB0aGVzZSBjaGFuZ2VzLAp1bnRydXN0ZWRfbXNpIGlzIHN3aXRjaGVkIG92ZXIgdG8g YmVpbmcgYSBDOTkgYm9vbC4KCk5vIGJlaGF2aW91cmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJl dWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgoKdjI6CiAqIERyb3AgaWZkZWZhcnkgZm9yIG5vdwot LS0KIHhlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZSAgICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNo L3g4Ni9wdi90cmFwcy5jICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUyAgfCAgOSAr LS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgfCAgNCArKy0tCiB4 ZW4vaW5jbHVkZS9hc20teDg2L2FwaWMuaCAgICAgICAgICB8ICAxICsKIHhlbi9pbmNsdWRlL2Fz bS14ODYvaHlwZXJjYWxsLmggICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUu aCAgICAgICAgIHwgIDIgKysKIDcgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTAg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gveDg2L3B2L3RyYXBzLmMK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvcHYv TWFrZWZpbGUKaW5kZXggZWE5NDU5OS4uOGEyOTVkMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L3B2L01ha2VmaWxlCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZQpAQCAtMSwyICsxLDQg QEAKIG9iai15ICs9IGh5cGVyY2FsbC5vCitvYmoteSArPSB0cmFwcy5vCisKIG9iai1iaW4teSAr PSBkb20wX2J1aWxkLmluaXQubwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMg Yi94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41MTEyNWE4Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMK QEAgLTAsMCArMSw0MiBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogYXJjaC94ODYvcHYv dHJhcHMuYworICoKKyAqIFBWIGxvdyBsZXZlbCBlbnRyeSBwb2ludHMuCisgKgorICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNyBDaXRyaXggU3lz dGVtcyBMdGQuCisgKi8KKworI2luY2x1ZGUgPHhlbi9oeXBlcmNhbGwuaD4KKworI2luY2x1ZGUg PGFzbS9hcGljLmg+CisKK3ZvaWQgZG9fZW50cnlfaW50ODIoc3RydWN0IGNwdV91c2VyX3JlZ3Mg KnJlZ3MpCit7CisgICAgaWYgKCB1bmxpa2VseSh1bnRydXN0ZWRfbXNpKSApCisgICAgICAgIGNo ZWNrX2Zvcl91bmV4cGVjdGVkX21zaSgodWludDhfdClyZWdzLT5lbnRyeV92ZWN0b3IpOworCisg ICAgcHZfaHlwZXJjYWxsKHJlZ3MpOworfQorCisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICog bW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAq IHRhYi13aWR0aDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMgYi94ZW4vYXJjaC94 ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCmluZGV4IGFiZjEwOTQuLjkwYmRhMDkgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2 L3g4Nl82NC9jb21wYXQvZW50cnkuUwpAQCAtMTcsMTcgKzE3LDEwIEBAIEVOVFJZKGVudHJ5X2lu dDgyKQogICAgICAgICBTQVZFX1ZPTEFUSUxFIHR5cGU9SFlQRVJDQUxMX1ZFQ1RPUiBjb21wYXQ9 MQogICAgICAgICBDUjRfUFYzMl9SRVNUT1JFCiAKLSAgICAgICAgY21wYiAgJDAsdW50cnVzdGVk X21zaSglcmlwKQotVU5MSUtFTFlfU1RBUlQobmUsIG1zaV9jaGVjaykKLSAgICAgICAgbW92bCAg JEhZUEVSQ0FMTF9WRUNUT1IsJWVkaQotICAgICAgICBjYWxsICBjaGVja19mb3JfdW5leHBlY3Rl ZF9tc2kKLSAgICAgICAgTE9BRF9DX0NMT0JCRVJFRCBjb21wYXQ9MSBheD0wCi1VTkxJS0VMWV9F TkQobXNpX2NoZWNrKQotCiAgICAgICAgIEdFVF9DVVJSRU5UKGJ4KQogCiAgICAgICAgIG1vdiAg ICVyc3AsICVyZGkKLSAgICAgICAgY2FsbCAgcHZfaHlwZXJjYWxsCisgICAgICAgIGNhbGwgIGRv X2VudHJ5X2ludDgyCiAKIC8qICVyYng6IHN0cnVjdCB2Y3B1ICovCiBFTlRSWShjb21wYXRfdGVz dF9hbGxfZXZlbnRzKQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lv bW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCBhNWM2MWM2 Li4xOTMyOGY2IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtNDgsNyArNDgs NyBAQCBzdHJ1Y3QgbWFwcGVkX3JtcnIgewogfTsKIAogLyogUG9zc2libGUgdW5maWx0ZXJlZCBM QVBJQy9NU0kgbWVzc2FnZXMgZnJvbSB1bnRydXN0ZWQgc291cmNlcz8gKi8KLWJvb2xfdCBfX3Jl YWRfbW9zdGx5IHVudHJ1c3RlZF9tc2k7Citib29sIF9fcmVhZF9tb3N0bHkgdW50cnVzdGVkX21z aTsKIAogaW50IG5yX2lvbW11czsKIApAQCAtMjMzNCw3ICsyMzM0LDcgQEAgc3RhdGljIGludCBy ZWFzc2lnbl9kZXZpY2Vfb3duZXJzaGlwKAogICAgICAqIGJ5IHRoZSByb290IGNvbXBsZXggdW5s ZXNzIGludGVycnVwdCByZW1hcHBpbmcgaXMgZW5hYmxlZC4KICAgICAgKi8KICAgICBpZiAoICh0 YXJnZXQgIT0gaGFyZHdhcmVfZG9tYWluKSAmJiAhaW9tbXVfaW50cmVtYXAgKQotICAgICAgICB1 bnRydXN0ZWRfbXNpID0gMTsKKyAgICAgICAgdW50cnVzdGVkX21zaSA9IHRydWU7CiAKICAgICAv KgogICAgICAqIElmIHRoZSBkZXZpY2UgYmVsb25ncyB0byB0aGUgaGFyZHdhcmUgZG9tYWluLCBh bmQgaXQgaGFzIFJNUlIsIGRvbid0CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2Fw aWMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCmluZGV4IDJmMTM5OGRmLi45OTUyMDM5 IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2FwaWMuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L2FwaWMuaApAQCAtMjEzLDYgKzIxMyw3IEBAIGV4dGVybiBpbnQgbGFwaWNfc3Vz cGVuZCh2b2lkKTsKIGV4dGVybiBpbnQgbGFwaWNfcmVzdW1lKHZvaWQpOwogZXh0ZXJuIHZvaWQg cmVjb3JkX2Jvb3RfQVBJQ19tb2RlKHZvaWQpOwogZXh0ZXJuIGVudW0gYXBpY19tb2RlIGN1cnJl bnRfbG9jYWxfYXBpY19tb2RlKHZvaWQpOworZXh0ZXJuIHZvaWQgY2hlY2tfZm9yX3VuZXhwZWN0 ZWRfbXNpKHVuc2lnbmVkIGludCB2ZWN0b3IpOwogCiBleHRlcm4gaW50IGNoZWNrX25taV93YXRj aGRvZyAodm9pZCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHlwZXJjYWxs LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h5cGVyY2FsbC5oCmluZGV4IGM1OWFhNjkuLmNmYmNl ZmUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHlwZXJjYWxsLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9oeXBlcmNhbGwuaApAQCAtMjUsNiArMjUsOCBAQCB0eXBlZGVmIHN0 cnVjdCB7CiAKIGV4dGVybiBjb25zdCBoeXBlcmNhbGxfYXJnc190IGh5cGVyY2FsbF9hcmdzX3Rh YmxlW05SX2h5cGVyY2FsbHNdOwogCit2b2lkIHB2X2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncyk7CisKIC8qCiAgKiBCb3RoIGRvX21tdWV4dF9vcCgpIGFuZCBkb19tbXVfdXBk YXRlKCk6CiAgKiBXZSBzdGVhbCB0aGUgbS5zLmIuIG9mIHRoZSBAY291bnQgcGFyYW1ldGVyIHRv IGluZGljYXRlIHdoZXRoZXIgdGhpcwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9p b21tdS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IDA0MzEyMzMuLjE0YWQw NDggMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTkyLDYgKzkyLDggQEAgYm9vbF90IGlvbW11X3N1cHBv cnRzX2VpbSh2b2lkKTsKIGludCBpb21tdV9lbmFibGVfeDJhcGljX0lSKHZvaWQpOwogdm9pZCBp b21tdV9kaXNhYmxlX3gyYXBpY19JUih2b2lkKTsKIAorZXh0ZXJuIGJvb2wgdW50cnVzdGVkX21z aTsKKwogaW50IHBpX3VwZGF0ZV9pcnRlKGNvbnN0IHN0cnVjdCBwaV9kZXNjICpwaV9kZXNjLCBj b25zdCBzdHJ1Y3QgcGlycSAqcGlycSwKICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90 IGd2ZWMpOwogCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=