From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 5/7] x86/traps: Lift all non-entrypoint logic in entry_int82() up into C Date: Tue, 2 May 2017 19:05:24 +0100 Message-ID: <1493748326-9582-6-git-send-email-andrew.cooper3@citrix.com> References: <1493748326-9582-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1493748326-9582-1-git-send-email-andrew.cooper3@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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyBtb3JlIHJlYWRhYmxlLCBtYWludGFpbmFibGUsIGFuZCBsaXZlcGF0Y2hhYmxlLgoK VGhpcyBpbnZvbHZlcyBkZWNsYXJpbmcgY2hlY2tfZm9yX3VuZXhwZWN0ZWRfbXNpKCksIHVudHJ1 c3RlZF9tc2kgYW5kCnB2X2h5cGVyY2FsbCgpIHN1aXRhYmx5IGZvciB1c2UgYnkgQy4gIFdoaWxl IG1ha2luZyB0aGVzZSBjaGFuZ2VzLAp1bnRydXN0ZWRfbXNpIGlzIHN3aXRjaGVkIG92ZXIgdG8g YmVpbmcgYSBDOTkgYm9vbC4KCk5vIGJlaGF2aW91cmFsIGNoYW5nZS4KClNpZ25lZC1vZmYtYnk6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJl dWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZSAg ICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNoL3g4Ni9wdi90cmFwcy5jICAgICAgICAgICAgIHwg NDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L3g4 Nl82NC9jb21wYXQvZW50cnkuUyAgfCAgOSArLS0tLS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2lvbW11LmMgfCAgNCArKy0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2FwaWMuaCAgICAg ICAgICB8ICAxICsKIHhlbi9pbmNsdWRlL2FzbS14ODYvaHlwZXJjYWxsLmggICAgIHwgIDQgKysr KwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oICAgICAgICAgfCAgMiArKwogNyBmaWxlcyBj aGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw MDY0NCB4ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9w di9NYWtlZmlsZSBiL3hlbi9hcmNoL3g4Ni9wdi9NYWtlZmlsZQppbmRleCBlYTk0NTk5Li44YTI5 NWQwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvTWFrZWZpbGUKKysrIGIveGVuL2FyY2gv eDg2L3B2L01ha2VmaWxlCkBAIC0xLDIgKzEsNCBAQAogb2JqLXkgKz0gaHlwZXJjYWxsLm8KK29i ai15ICs9IHRyYXBzLm8KKwogb2JqLWJpbi15ICs9IGRvbTBfYnVpbGQuaW5pdC5vCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni9wdi90cmFwcy5jCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzZDhmNzAKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vYXJjaC94ODYvcHYvdHJhcHMuYwpAQCAtMCwwICsxLDQ0IEBACisvKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqCisgKiBhcmNoL3g4Ni9wdi90cmFwcy5jCisgKgorICogUFYgbG93IGxldmVs IGVudHJ5IHBvaW50cy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu c2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKgorICog Q29weXJpZ2h0IChjKSAyMDE3IENpdHJpeCBTeXN0ZW1zIEx0ZC4KKyAqLworCisjaW5jbHVkZSA8 eGVuL2h5cGVyY2FsbC5oPgorCisjaW5jbHVkZSA8YXNtL2FwaWMuaD4KKworI2lmZGVmIENPTkZJ R19DT01QQVQKK3ZvaWQgZG9fZW50cnlfaW50ODIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp Cit7CisgICAgaWYgKCB1bmxpa2VseSh1bnRydXN0ZWRfbXNpKSApCisgICAgICAgIGNoZWNrX2Zv cl91bmV4cGVjdGVkX21zaSgodWludDhfdClyZWdzLT5lbnRyeV92ZWN0b3IpOworCisgICAgcHZf aHlwZXJjYWxsKHJlZ3MpOworfQorI2VuZGlmCisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6Cisg KiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAor ICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUyBiL3hlbi9hcmNo L3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMKaW5kZXggYWJmMTA5NC4uOTBiZGEwOSAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUworKysgYi94ZW4vYXJjaC94 ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCkBAIC0xNywxNyArMTcsMTAgQEAgRU5UUlkoZW50cnlf aW50ODIpCiAgICAgICAgIFNBVkVfVk9MQVRJTEUgdHlwZT1IWVBFUkNBTExfVkVDVE9SIGNvbXBh dD0xCiAgICAgICAgIENSNF9QVjMyX1JFU1RPUkUKIAotICAgICAgICBjbXBiICAkMCx1bnRydXN0 ZWRfbXNpKCVyaXApCi1VTkxJS0VMWV9TVEFSVChuZSwgbXNpX2NoZWNrKQotICAgICAgICBtb3Zs ICAkSFlQRVJDQUxMX1ZFQ1RPUiwlZWRpCi0gICAgICAgIGNhbGwgIGNoZWNrX2Zvcl91bmV4cGVj dGVkX21zaQotICAgICAgICBMT0FEX0NfQ0xPQkJFUkVEIGNvbXBhdD0xIGF4PTAKLVVOTElLRUxZ X0VORChtc2lfY2hlY2spCi0KICAgICAgICAgR0VUX0NVUlJFTlQoYngpCiAKICAgICAgICAgbW92 ICAgJXJzcCwgJXJkaQotICAgICAgICBjYWxsICBwdl9oeXBlcmNhbGwKKyAgICAgICAgY2FsbCAg ZG9fZW50cnlfaW50ODIKIAogLyogJXJieDogc3RydWN0IHZjcHUgKi8KIEVOVFJZKGNvbXBhdF90 ZXN0X2FsbF9ldmVudHMpCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQv aW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IGE1YzYx YzYuLjE5MzI4ZjYgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21t dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC00OCw3ICs0 OCw3IEBAIHN0cnVjdCBtYXBwZWRfcm1yciB7CiB9OwogCiAvKiBQb3NzaWJsZSB1bmZpbHRlcmVk IExBUElDL01TSSBtZXNzYWdlcyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzPyAqLwotYm9vbF90IF9f cmVhZF9tb3N0bHkgdW50cnVzdGVkX21zaTsKK2Jvb2wgX19yZWFkX21vc3RseSB1bnRydXN0ZWRf bXNpOwogCiBpbnQgbnJfaW9tbXVzOwogCkBAIC0yMzM0LDcgKzIzMzQsNyBAQCBzdGF0aWMgaW50 IHJlYXNzaWduX2RldmljZV9vd25lcnNoaXAoCiAgICAgICogYnkgdGhlIHJvb3QgY29tcGxleCB1 bmxlc3MgaW50ZXJydXB0IHJlbWFwcGluZyBpcyBlbmFibGVkLgogICAgICAqLwogICAgIGlmICgg KHRhcmdldCAhPSBoYXJkd2FyZV9kb21haW4pICYmICFpb21tdV9pbnRyZW1hcCApCi0gICAgICAg IHVudHJ1c3RlZF9tc2kgPSAxOworICAgICAgICB1bnRydXN0ZWRfbXNpID0gdHJ1ZTsKIAogICAg IC8qCiAgICAgICogSWYgdGhlIGRldmljZSBiZWxvbmdzIHRvIHRoZSBoYXJkd2FyZSBkb21haW4s IGFuZCBpdCBoYXMgUk1SUiwgZG9uJ3QKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv YXBpYy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hcGljLmgKaW5kZXggMmYxMzk4ZGYuLjk5NTIw MzkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYXBpYy5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvYXBpYy5oCkBAIC0yMTMsNiArMjEzLDcgQEAgZXh0ZXJuIGludCBsYXBpY19z dXNwZW5kKHZvaWQpOwogZXh0ZXJuIGludCBsYXBpY19yZXN1bWUodm9pZCk7CiBleHRlcm4gdm9p ZCByZWNvcmRfYm9vdF9BUElDX21vZGUodm9pZCk7CiBleHRlcm4gZW51bSBhcGljX21vZGUgY3Vy cmVudF9sb2NhbF9hcGljX21vZGUodm9pZCk7CitleHRlcm4gdm9pZCBjaGVja19mb3JfdW5leHBl Y3RlZF9tc2kodW5zaWduZWQgaW50IHZlY3Rvcik7CiAKIGV4dGVybiBpbnQgY2hlY2tfbm1pX3dh dGNoZG9nICh2b2lkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9oeXBlcmNh bGwuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHlwZXJjYWxsLmgKaW5kZXggYzU5YWE2OS4uOTVk NDhjMCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9oeXBlcmNhbGwuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h5cGVyY2FsbC5oCkBAIC0yNSw2ICsyNSwxMCBAQCB0eXBlZGVm IHN0cnVjdCB7CiAKIGV4dGVybiBjb25zdCBoeXBlcmNhbGxfYXJnc190IGh5cGVyY2FsbF9hcmdz X3RhYmxlW05SX2h5cGVyY2FsbHNdOwogCisjaWZkZWYgQ09ORklHX1BWCit2b2lkIHB2X2h5cGVy Y2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CisjZW5kaWYKKwogLyoKICAqIEJvdGgg ZG9fbW11ZXh0X29wKCkgYW5kIGRvX21tdV91cGRhdGUoKToKICAqIFdlIHN0ZWFsIHRoZSBtLnMu Yi4gb2YgdGhlIEBjb3VudCBwYXJhbWV0ZXIgdG8gaW5kaWNhdGUgd2hldGhlciB0aGlzCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L2lvbW11LmgKaW5kZXggMDQzMTIzMy4uMTRhZDA0OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9pb21tdS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9tbXUuaApAQCAtOTIs NiArOTIsOCBAQCBib29sX3QgaW9tbXVfc3VwcG9ydHNfZWltKHZvaWQpOwogaW50IGlvbW11X2Vu YWJsZV94MmFwaWNfSVIodm9pZCk7CiB2b2lkIGlvbW11X2Rpc2FibGVfeDJhcGljX0lSKHZvaWQp OwogCitleHRlcm4gYm9vbCB1bnRydXN0ZWRfbXNpOworCiBpbnQgcGlfdXBkYXRlX2lydGUoY29u c3Qgc3RydWN0IHBpX2Rlc2MgKnBpX2Rlc2MsIGNvbnN0IHN0cnVjdCBwaXJxICpwaXJxLAogICAg ICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgZ3ZlYyk7CiAKLS0gCjIuMS40CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==