The early program check handler is active before the amode31 extable
is sorted. Therefore in case a program check happens early within the
amode31 code the extable entry might not be found.
Fix this by sorting the amode31 extable early.
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
        disabled_wait();
 }
 
+static void __init sort_amode31_extable(void)
+{
+       sort_extable(__start_amode31_ex_table, __stop_amode31_ex_table);
+}
+
 void __init startup_init(void)
 {
        sclp_early_adjust_va();
        time_early_init();
        init_kernel_storage_key();
        lockdep_off();
+       sort_amode31_extable();
        setup_lowcore_early();
        setup_facility_list();
        detect_machine_type();
 
 
 void __init trap_init(void)
 {
-       sort_extable(__start_amode31_ex_table, __stop_amode31_ex_table);
        local_mcck_enable();
        test_monitor_call();
 }