aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel')
-rw-r--r--arch/i386/kernel/process.c7
-rw-r--r--arch/i386/kernel/signal.c2
2 files changed, 1 insertions, 8 deletions
diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
index 36145efc61b5..b2203e21acb3 100644
--- a/arch/i386/kernel/process.c
+++ b/arch/i386/kernel/process.c
@@ -558,13 +558,6 @@ handle_io_bitmap(struct thread_struct *next, struct tss_struct *tss)
558 */ 558 */
559 tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY; 559 tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY;
560} 560}
561/*
562 * This special macro can be used to load a debugging register
563 */
564#define loaddebug(thread,register) \
565 __asm__("movl %0,%%db" #register \
566 : /* no output */ \
567 :"r" (thread->debugreg[register]))
568 561
569/* 562/*
570 * switch_to(x,yn) should switch tasks from x to y. 563 * switch_to(x,yn) should switch tasks from x to y.
diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c
index ef3602e1c052..ea46d028af08 100644
--- a/arch/i386/kernel/signal.c
+++ b/arch/i386/kernel/signal.c
@@ -618,7 +618,7 @@ int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset)
618 * inside the kernel. 618 * inside the kernel.
619 */ 619 */
620 if (unlikely(current->thread.debugreg[7])) { 620 if (unlikely(current->thread.debugreg[7])) {
621 __asm__("movl %0,%%db7" : : "r" (current->thread.debugreg[7])); 621 loaddebug(&current->thread, 7);
622 } 622 }
623 623
624 /* Whee! Actually deliver the signal. */ 624 /* Whee! Actually deliver the signal. */