]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/traps_64.c
Merge branches 'core/signal' and 'x86/spinlocks' into x86/xen
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / traps_64.c
index 7a31f104bef9136538a304715557480243022655..9c0ac0cab013bc64fb500dcdc56ea07a862cacf7 100644 (file)
@@ -940,7 +940,7 @@ asmlinkage void __kprobes do_debug(struct pt_regs *regs,
        tsk->thread.error_code = error_code;
        info.si_signo = SIGTRAP;
        info.si_errno = 0;
-       info.si_code = TRAP_BRKPT;
+       info.si_code = get_si_code(condition);
        info.si_addr = user_mode(regs) ? (void __user *)regs->ip : NULL;
        force_sig_info(SIGTRAP, &info, tsk);
 
@@ -1138,7 +1138,7 @@ asmlinkage void math_state_restore(void)
        /*
         * Paranoid restore. send a SIGSEGV if we fail to restore the state.
         */
-       if (unlikely(restore_fpu_checking(&me->thread.xstate->fxsave))) {
+       if (unlikely(restore_fpu_checking(me))) {
                stts();
                force_sig(SIGSEGV, me);
                return;
@@ -1178,10 +1178,6 @@ void __init trap_init(void)
 #ifdef CONFIG_IA32_EMULATION
        set_system_gate(IA32_SYSCALL_VECTOR, ia32_syscall);
 #endif
-       /*
-        * initialize the per thread extended state:
-        */
-       init_thread_xstate();
        /*
         * Should be a barrier for any external CPU state:
         */