From 6f5536cf36bd9dd04fd44e891524a6635b48285a Mon Sep 17 00:00:00 2001 From: Bodo Stroesser Date: Wed, 18 Jan 2006 17:42:43 -0800 Subject: [PATCH] --- yaml --- r: 18917 b: refs/heads/master c: 2c332a251302873cf8301c2aad27737b6df70255 h: refs/heads/master i: 18915: a5cb5048191d5e36ffc5bbb945f6244e5572e7fc v: v3 --- [refs] | 2 +- trunk/arch/um/kernel/time_kern.c | 5 ++--- trunk/arch/um/os-Linux/signal.c | 12 +++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index c749a261f4cd..95085a94b133 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cff65c4f0ea6662124bbb7bf3806e5df1c6d735d +refs/heads/master: 2c332a251302873cf8301c2aad27737b6df70255 diff --git a/trunk/arch/um/kernel/time_kern.c b/trunk/arch/um/kernel/time_kern.c index 6712ffad0242..6fa4e1b892b7 100644 --- a/trunk/arch/um/kernel/time_kern.c +++ b/trunk/arch/um/kernel/time_kern.c @@ -84,12 +84,11 @@ void timer_irq(union uml_pt_regs *regs) } } -void boot_timer_handler(int sig) +void do_boot_timer_handler(struct sigcontext * sc) { struct pt_regs regs; - CHOOSE_MODE((void) - (UPT_SC(®s.regs) = (struct sigcontext *) (&sig + 1)), + CHOOSE_MODE((void) (UPT_SC(®s.regs) = sc), (void) (regs.regs.skas.is_user = 0)); do_timer(®s); } diff --git a/trunk/arch/um/os-Linux/signal.c b/trunk/arch/um/os-Linux/signal.c index da474a797fbf..884e45751944 100644 --- a/trunk/arch/um/os-Linux/signal.c +++ b/trunk/arch/um/os-Linux/signal.c @@ -12,7 +12,6 @@ #include #include #include "user_util.h" -#include "kern_util.h" #include "user.h" #include "signal_kern.h" #include "sysdep/sigcontext.h" @@ -49,6 +48,17 @@ void alarm_handler(ARCH_SIGHDLR_PARAM) switch_timers(1); } +extern void do_boot_timer_handler(struct sigcontext * sc); + +void boot_timer_handler(ARCH_SIGHDLR_PARAM) +{ + struct sigcontext *sc; + + ARCH_GET_SIGCONTEXT(sc, sig); + + do_boot_timer_handler(sc); +} + void set_sigstack(void *sig_stack, int size) { stack_t stack = ((stack_t) { .ss_flags = 0,