signal.c (172ae2e7f8ff9053905a36672453a6d2ff95b182) | signal.c (3bffb6529cf10d48a97ac0d6d789986894c25c37) |
---|---|
1/* 2 * Common signal handling code for both 32 and 64 bits 3 * 4 * Copyright (c) 2007 Benjamin Herrenschmidt, IBM Coproration 5 * Extracted from signal_32.c and signal_64.c 6 * 7 * This file is subject to the terms and conditions of the GNU General 8 * Public License. See the file README.legal in the main directory of --- 126 unchanged lines hidden (view full) --- 135 /* No signal to deliver -- put the saved sigmask back */ 136 if (ti->local_flags & _TLF_RESTORE_SIGMASK) { 137 ti->local_flags &= ~_TLF_RESTORE_SIGMASK; 138 sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); 139 } 140 return 0; /* no signals delivered */ 141 } 142 | 1/* 2 * Common signal handling code for both 32 and 64 bits 3 * 4 * Copyright (c) 2007 Benjamin Herrenschmidt, IBM Coproration 5 * Extracted from signal_32.c and signal_64.c 6 * 7 * This file is subject to the terms and conditions of the GNU General 8 * Public License. See the file README.legal in the main directory of --- 126 unchanged lines hidden (view full) --- 135 /* No signal to deliver -- put the saved sigmask back */ 136 if (ti->local_flags & _TLF_RESTORE_SIGMASK) { 137 ti->local_flags &= ~_TLF_RESTORE_SIGMASK; 138 sigprocmask(SIG_SETMASK, ¤t->saved_sigmask, NULL); 139 } 140 return 0; /* no signals delivered */ 141 } 142 |
143#ifndef CONFIG_PPC_ADV_DEBUG_REGS |
|
143 /* 144 * Reenable the DABR before delivering the signal to 145 * user space. The DABR will have been cleared if it 146 * triggered inside the kernel. 147 */ | 144 /* 145 * Reenable the DABR before delivering the signal to 146 * user space. The DABR will have been cleared if it 147 * triggered inside the kernel. 148 */ |
148 if (current->thread.dabr) { | 149 if (current->thread.dabr) |
149 set_dabr(current->thread.dabr); | 150 set_dabr(current->thread.dabr); |
150#ifdef CONFIG_PPC_ADV_DEBUG_REGS 151 mtspr(SPRN_DBCR0, current->thread.dbcr0); | |
152#endif | 151#endif |
153 } | |
154 155 if (is32) { 156 if (ka.sa.sa_flags & SA_SIGINFO) 157 ret = handle_rt_signal32(signr, &ka, &info, oldset, 158 regs); 159 else 160 ret = handle_signal32(signr, &ka, &info, oldset, 161 regs); --- 46 unchanged lines hidden --- | 152 153 if (is32) { 154 if (ka.sa.sa_flags & SA_SIGINFO) 155 ret = handle_rt_signal32(signr, &ka, &info, oldset, 156 regs); 157 else 158 ret = handle_signal32(signr, &ka, &info, oldset, 159 regs); --- 46 unchanged lines hidden --- |