From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andy Lutomirski Subject: [PATCH v5 3/9] x86/head: Move early exception panic code into early_fixup_exception Date: Sat, 2 Apr 2016 07:01:34 -0700 Message-ID: <4085070316fc3ab29538d3fcfe282648d1d4ee2e.1459605520.git.luto@kernel.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: KVM list , Peter Zijlstra , Linus Torvalds , linux-kernel@vger.kernel.org, xen-devel , Borislav Petkov , Andy Lutomirski , Paolo Bonzini , Andrew Morton , Arjan van de Ven To: X86 ML Return-path: In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: kvm.vger.kernel.org VGhpcyByZW1vdmVzIGEgYnVuY2ggb2YgYXNzZW1ibHkgYW5kIGFkZHMgc29tZSBDIGNvZGUgaW5z dGVhZC4gIEl0CmNoYW5nZXMgdGhlIGFjdHVhbCBwcmludG91dHMgb24gYm90aCAzMi1iaXQgYW5k IDY0LWJpdCBrZXJuZWxzLCBidXQKdGhleSBzdGlsbCBzZWVtIG9rYXkuCgpTaWduZWQtb2ZmLWJ5 OiBBbmR5IEx1dG9taXJza2kgPGx1dG9Aa2VybmVsLm9yZz4KLS0tCiBhcmNoL3g4Ni9pbmNsdWRl L2FzbS91YWNjZXNzLmggfCAgMiArLQogYXJjaC94ODYva2VybmVsL2hlYWRfMzIuUyAgICAgIHwg NDkgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9r ZXJuZWwvaGVhZF82NC5TICAgICAgfCA0NSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogYXJjaC94ODYvbW0vZXh0YWJsZS5jICAgICAgICAgIHwgMjkgKysrKysrKysrKysr KysrKysrKystLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA5MyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS91YWNjZXNzLmggYi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS91YWNjZXNzLmgKaW5kZXggYTNhZmI3MjU5NzUxLi44M2ZkMmNm MTg3ZDIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaAorKysgYi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS91YWNjZXNzLmgKQEAgLTExMSw3ICsxMTEsNyBAQCBzdHJ1Y3Qg ZXhjZXB0aW9uX3RhYmxlX2VudHJ5IHsKIAogZXh0ZXJuIGludCBmaXh1cF9leGNlcHRpb24oc3Ry dWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0cmFwbnIpOwogZXh0ZXJuIGJvb2wgZXhfaGFzX2ZhdWx0 X2hhbmRsZXIodW5zaWduZWQgbG9uZyBpcCk7Ci1leHRlcm4gaW50IGVhcmx5X2ZpeHVwX2V4Y2Vw dGlvbihzdHJ1Y3QgcHRfcmVncyAqcmVncywgaW50IHRyYXBucik7CitleHRlcm4gdm9pZCBlYXJs eV9maXh1cF9leGNlcHRpb24oc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCB0cmFwbnIpOwogCiAv KgogICogVGhlc2UgYXJlIHRoZSBtYWluIHNpbmdsZS12YWx1ZSB0cmFuc2ZlciByb3V0aW5lcy4g IFRoZXkgYXV0b21hdGljYWxseQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWRfMzIu UyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKaW5kZXggNWU2Y2U4NDU4MTNhLi40MTFkY2U5 M2ZlZTkgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzMyLlMKKysrIGIvYXJjaC94 ODYva2VybmVsL2hlYWRfMzIuUwpAQCAtNTU1LDggKzU1NSw2IEBAIGVhcmx5X2lkdF9oYW5kbGVy X2NvbW1vbjoKIAkgKi8KIAljbGQKIAotCWNtcGwgJDIsJXNzOmVhcmx5X3JlY3Vyc2lvbl9mbGFn Ci0JamUgaGx0X2xvb3AKIAlpbmNsICVzczplYXJseV9yZWN1cnNpb25fZmxhZwogCiAJLyogVGhl IHZlY3RvciBudW1iZXIgaXMgaW4gcHRfcmVncy0+Z3MgKi8KQEAgLTU4OCwxMyArNTg2LDggQEAg ZWFybHlfaWR0X2hhbmRsZXJfY29tbW9uOgogCW1vdncJJWdzLCBQVF9HUyglZXNwKQogCW1vdncJ JDAsIFBUX0dTKzIoJWVzcCkKIAotCWNtcGwgJChfX0tFUk5FTF9DUyksUFRfQ1MoJWVzcCkKLQlq bmUgMTBmCi0KIAltb3ZsCSVlc3AsICVlYXgJLyogYXJncyBhcmUgcHRfcmVncyAoRUFYKSwgdHJh cG5yIChFRFgpICovCiAJY2FsbAllYXJseV9maXh1cF9leGNlcHRpb24KLQlhbmRsCSVlYXgsJWVh eAotCWp6CTEwZgkJLyogRXhjZXB0aW9uIHdhc24ndCBmaXhlZCB1cCAqLwogCiAJcG9wbAklZWJ4 CQkvKiBwdF9yZWdzLT5ieCAqLwogCXBvcGwJJWVjeAkJLyogcHRfcmVncy0+Y3ggKi8KQEAgLTYx MCwyOSArNjAzLDYgQEAgZWFybHlfaWR0X2hhbmRsZXJfY29tbW9uOgogCWRlY2wJJXNzOmVhcmx5 X3JlY3Vyc2lvbl9mbGFnCiAJYWRkbAkkNCwgJWVzcAkvKiBwb3AgcHRfcmVncy0+b3JpZ19heCAq LwogCWlyZXQKLQotMTA6Ci0jaWZkZWYgQ09ORklHX1BSSU5USwotCXhvcmwgJWVheCwlZWF4Ci0J bW92dyAlYXgsUFRfRlMrMiglZXNwKQkvKiBjbGVhbiB1cCB0aGUgc2VnbWVudCB2YWx1ZXMgb24g c29tZSBjcHVzICovCi0JbW92dyAlYXgsUFRfRFMrMiglZXNwKQotCW1vdncgJWF4LFBUX0VTKzIo JWVzcCkKLQlsZWFsICA0MCglZXNwKSwlZWF4Ci0JcHVzaGwgJWVheAkJLyogJWVzcCBiZWZvcmUg dGhlIGV4Y2VwdGlvbiAqLwotCXB1c2hsICVlYngKLQlwdXNobCAlZWJwCi0JcHVzaGwgJWVzaQot CXB1c2hsICVlZGkKLQltb3ZsICVjcjIsJWVheAotCXB1c2hsICVlYXgKLQlwdXNobCAoMjArNio0 KSglZXNwKQkvKiB0cmFwbm8gKi8KLQlwdXNobCAkZmF1bHRfbXNnCi0JY2FsbCBwcmludGsKLSNl bmRpZgotCWNhbGwgZHVtcF9zdGFjawotaGx0X2xvb3A6Ci0JaGx0Ci0Jam1wIGhsdF9sb29wCiBF TkRQUk9DKGVhcmx5X2lkdF9oYW5kbGVyX2NvbW1vbikKIAogLyogVGhpcyBpcyB0aGUgZGVmYXVs dCBpbnRlcnJ1cHQgImhhbmRsZXIiIDotKSAqLwpAQCAtNjY4LDEwICs2MzgsMTQgQEAgaWdub3Jl X2ludDoKIAlwb3BsICVlYXgKICNlbmRpZgogCWlyZXQKKworaGx0X2xvb3A6CisJaGx0CisJam1w IGhsdF9sb29wCiBFTkRQUk9DKGlnbm9yZV9pbnQpCiBfX0lOSVREQVRBCiAJLmFsaWduIDQKLWVh cmx5X3JlY3Vyc2lvbl9mbGFnOgorR0xPQkFMKGVhcmx5X3JlY3Vyc2lvbl9mbGFnKQogCS5sb25n IDAKIAogX19SRUZEQVRBCkBAIC03MzYsMTkgKzcxMCw2IEBAIF9fSU5JVFJPREFUQQogaW50X21z ZzoKIAkuYXNjaXogIlVua25vd24gaW50ZXJydXB0IG9yIGZhdWx0IGF0OiAlcCAlcCAlcFxuIgog Ci1mYXVsdF9tc2c6Ci0vKiBmYXVsdCBpbmZvOiAqLwotCS5hc2NpaSAiQlVHOiBJbnQgJWQ6IENS MiAlcFxuIgotLyogcmVncyBwdXNoZWQgaW4gZWFybHlfaWR0X2hhbmRsZXI6ICovCi0JLmFzY2lp ICIgICAgIEVESSAlcCAgRVNJICVwICBFQlAgJXAgIEVCWCAlcFxuIgotCS5hc2NpaSAiICAgICBF U1AgJXAgICBFUyAlcCAgIERTICVwXG4iCi0JLmFzY2lpICIgICAgIEVEWCAlcCAgRUNYICVwICBF QVggJXBcbiIKLS8qIGZhdWx0IGZyYW1lOiAqLwotCS5hc2NpaSAiICAgICB2ZWMgJXAgIGVyciAl cCAgRUlQICVwICAgQ1MgJXAgIGZsZyAlcFxuIgotCS5hc2NpaSAiU3RhY2s6ICVwICVwICVwICVw ICVwICVwICVwICVwXG4iCi0JLmFzY2lpICIgICAgICAgJXAgJXAgJXAgJXAgJXAgJXAgJXAgJXBc biIKLQkuYXNjaXogIiAgICAgICAlcCAlcCAlcCAlcCAlcCAlcCAlcCAlcFxuIgotCiAjaW5jbHVk ZSAiLi4vLi4veDg2L3hlbi94ZW4taGVhZC5TIgogCiAvKgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYv a2VybmVsL2hlYWRfNjQuUyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKaW5kZXggYWY4Nzg5 NmI2YTIzLi5jMzliNjQzN2NmMDMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0 LlMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWRfNjQuUwpAQCAtMzU0LDggKzM1NCw2IEBAIGVh cmx5X2lkdF9oYW5kbGVyX2NvbW1vbjoKIAkgKi8KIAljbGQKIAotCWNtcGwgJDIsZWFybHlfcmVj dXJzaW9uX2ZsYWcoJXJpcCkKLQlqeiAgMWYKIAlpbmNsIGVhcmx5X3JlY3Vyc2lvbl9mbGFnKCVy aXApCiAKIAkvKiBUaGUgdmVjdG9yIG51bWJlciBpcyBjdXJyZW50bHkgaW4gdGhlIHB0X3JlZ3Mt PmRpIHNsb3QuICovCkBAIC0zNzYsOSArMzc0LDYgQEAgZWFybHlfaWR0X2hhbmRsZXJfY29tbW9u OgogCXB1c2hxICVyMTQJCQkJLyogcHRfcmVncy0+cjE0ICovCiAJcHVzaHEgJXIxNQkJCQkvKiBw dF9yZWdzLT5yMTUgKi8KIAotCWNtcGwgJF9fS0VSTkVMX0NTLENTKCVyc3ApCi0Jam5lIDExZgot CiAJY21wcSAkMTQsJXJzaQkJLyogUGFnZSBmYXVsdD8gKi8KIAlqbnogMTBmCiAJR0VUX0NSMl9J TlRPKCVyZGkpCS8qIENhbiBjbG9iYmVyIGFueSB2b2xhdGlsZSByZWdpc3RlciBpZiBwdiAqLwpA QCAtMzg5LDM3ICszODQsOCBAQCBlYXJseV9pZHRfaGFuZGxlcl9jb21tb246CiAxMDoKIAltb3Zx ICVyc3AsJXJkaQkJLyogUkRJID0gcHRfcmVnczsgUlNJIGlzIGFscmVhZHkgdHJhcG5yICovCiAJ Y2FsbCBlYXJseV9maXh1cF9leGNlcHRpb24KLQlhbmRsICVlYXgsJWVheAotCWpueiAyMGYJCQkj IEZvdW5kIGFuIGV4Y2VwdGlvbiBlbnRyeQotCi0xMToKLSNpZmRlZiBDT05GSUdfRUFSTFlfUFJJ TlRLCi0JLyoKLQkgKiBPbiBwYXJhdmlydCBrZXJuZWxzLCBHRVRfQ1IyX0lOVE8gY2xvYmJlcnMg Y2FsbGVlLWNsb2JiZXJlZCByZWdzLgotCSAqIFdlIG9ubHkgY2FyZSBhYm91dCBSU0ksIHNvIHdl IG5lZWQgdG8gc2F2ZSBpdC4KLQkgKi8KLQltb3ZxICVyc2ksJXJieAkJLyogU2F2ZSB2ZWN0b3Ig bnVtYmVyICovCi0JR0VUX0NSMl9JTlRPKCVyOSkKLQltb3ZxIE9SSUdfUkFYKCVyc3ApLCVyOAkv KiBlcnJvciBjb2RlICovCi0JbW92cSAlcmJ4LCVyc2kJCS8qIHZlY3RvciBudW1iZXIgKi8KLQlt b3ZxIENTKCVyc3ApLCVyZHgKLQltb3ZxIFJJUCglcnNwKSwlcmN4Ci0JeG9ybCAlZWF4LCVlYXgK LQlsZWFxIGVhcmx5X2lkdF9tc2coJXJpcCksJXJkaQotCWNhbGwgZWFybHlfcHJpbnRrCi0JY21w bCAkMixlYXJseV9yZWN1cnNpb25fZmxhZyglcmlwKQotCWp6ICAxZgotCWNhbGwgZHVtcF9zdGFj awotI2lmZGVmIENPTkZJR19LQUxMU1lNUwkKLQlsZWFxIGVhcmx5X2lkdF9yaXBtc2coJXJpcCks JXJkaQotCW1vdnEgUklQKCVyc3ApLCVyc2kJIyAlcmlwIGFnYWluCi0JY2FsbCBfX3ByaW50X3N5 bWJvbAotI2VuZGlmCi0jZW5kaWYgLyogRUFSTFlfUFJJTlRLICovCi0xOglobHQKLQlqbXAgMWIK IAotMjA6CS8qIEV4Y2VwdGlvbiB0YWJsZSBlbnRyeSBmb3VuZCBvciBwYWdlIHRhYmxlIGdlbmVy YXRlZCAqLworMjA6CiAJZGVjbCBlYXJseV9yZWN1cnNpb25fZmxhZyglcmlwKQogCWptcCByZXN0 b3JlX3JlZ3NfYW5kX2lyZXQKIEVORFBST0MoZWFybHlfaWR0X2hhbmRsZXJfY29tbW9uKQpAQCAt NDI3LDE2ICszOTMsOSBAQCBFTkRQUk9DKGVhcmx5X2lkdF9oYW5kbGVyX2NvbW1vbikKIAlfX0lO SVREQVRBCiAKIAkuYmFsaWduIDQKLWVhcmx5X3JlY3Vyc2lvbl9mbGFnOgorR0xPQkFMKGVhcmx5 X3JlY3Vyc2lvbl9mbGFnKQogCS5sb25nIDAKIAotI2lmZGVmIENPTkZJR19FQVJMWV9QUklOVEsK LWVhcmx5X2lkdF9tc2c6Ci0JLmFzY2l6ICJQQU5JQzogZWFybHkgZXhjZXB0aW9uICUwMmx4IHJp cCAlbHg6JWx4IGVycm9yICVseCBjcjIgJWx4XG4iCi1lYXJseV9pZHRfcmlwbXNnOgotCS5hc2Np eiAiUklQICVzXG4iCi0jZW5kaWYgLyogQ09ORklHX0VBUkxZX1BSSU5USyAqLwotCiAjZGVmaW5l IE5FWFRfUEFHRShuYW1lKSBcCiAJLmJhbGlnbglQQUdFX1NJWkU7IFwKIEdMT0JBTChuYW1lKQpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0vZXh0YWJsZS5jIGIvYXJjaC94ODYvbW0vZXh0YWJsZS5j CmluZGV4IGQ2ZTRlNmZiNDAwMi4uODk5NzAyMmFiZWJjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9t bS9leHRhYmxlLmMKKysrIGIvYXJjaC94ODYvbW0vZXh0YWJsZS5jCkBAIC05MCw4ICs5MCwxMCBA QCBpbnQgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yKQog CXJldHVybiBoYW5kbGVyKGUsIHJlZ3MsIHRyYXBucik7CiB9CiAKK2V4dGVybiB1bnNpZ25lZCBp bnQgZWFybHlfcmVjdXJzaW9uX2ZsYWc7CisKIC8qIFJlc3RyaWN0ZWQgdmVyc2lvbiB1c2VkIGR1 cmluZyB2ZXJ5IGVhcmx5IGJvb3QgKi8KLWludCBfX2luaXQgZWFybHlfZml4dXBfZXhjZXB0aW9u KHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yKQordm9pZCBfX2luaXQgZWFybHlfZml4 dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yKQogewogCWNvbnN0 IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmU7CiAJdW5zaWduZWQgbG9uZyBuZXdfaXA7 CkBAIC05OSwyMSArMTAxLDM4IEBAIGludCBfX2luaXQgZWFybHlfZml4dXBfZXhjZXB0aW9uKHN0 cnVjdCBwdF9yZWdzICpyZWdzLCBpbnQgdHJhcG5yKQogCiAJLyogSWdub3JlIGVhcmx5IE5NSXMu ICovCiAJaWYgKHRyYXBuciA9PSBYODZfVFJBUF9OTUkpCi0JCXJldHVybiAxOworCQlyZXR1cm47 CisKKwlpZiAoZWFybHlfcmVjdXJzaW9uX2ZsYWcgPiAyKQorCQlnb3RvIGhhbHRfbG9vcDsKKwor CWlmIChyZWdzLT5jcyAhPSBfX0tFUk5FTF9DUykKKwkJZ290byBmYWlsOwogCiAJZSA9IHNlYXJj aF9leGNlcHRpb25fdGFibGVzKHJlZ3MtPmlwKTsKIAlpZiAoIWUpCi0JCXJldHVybiAwOworCQln b3RvIGZhaWw7CiAKIAluZXdfaXAgID0gZXhfZml4dXBfYWRkcihlKTsKIAloYW5kbGVyID0gZXhf Zml4dXBfaGFuZGxlcihlKTsKIAogCS8qIHNwZWNpYWwgaGFuZGxpbmcgbm90IHN1cHBvcnRlZCBk dXJpbmcgZWFybHkgYm9vdCAqLwogCWlmIChoYW5kbGVyICE9IGV4X2hhbmRsZXJfZGVmYXVsdCkK LQkJcmV0dXJuIDA7CisJCWdvdG8gZmFpbDsKIAogCXJlZ3MtPmlwID0gbmV3X2lwOwotCXJldHVy biAxOworCXJldHVybjsKKworZmFpbDoKKwllYXJseV9wcmludGsoIlBBTklDOiBlYXJseSBleGNl cHRpb24gMHglMDJ4IElQICVseDolbHggZXJyb3IgJWx4IGNyMiAweCVseFxuIiwKKwkJICAgICAo dW5zaWduZWQpdHJhcG5yLCAodW5zaWduZWQgbG9uZylyZWdzLT5jcywgcmVncy0+aXAsCisJCSAg ICAgcmVncy0+b3JpZ19heCwgcmVhZF9jcjIoKSk7CisKKwlzaG93X3JlZ3MocmVncyk7CisKK2hh bHRfbG9vcDoKKwl3aGlsZSAodHJ1ZSkKKwkJaGFsdCgpOwogfQogCiAvKgotLSAKMi41LjUKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=