Commit 8c8efbbb authored by Yoshinori Sato's avatar Yoshinori Sato Committed by Linus Torvalds

[PATCH] H8/300: signal handling update

Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9d175c89
This diff is collapsed.
...@@ -247,9 +247,9 @@ SYMBOL_NAME_LABEL(ret_from_interrupt) ...@@ -247,9 +247,9 @@ SYMBOL_NAME_LABEL(ret_from_interrupt)
mov.l @(TI_FLAGS:16,er4),er1 mov.l @(TI_FLAGS:16,er4),er1
btst #TIF_NEED_RESCHED,r1l btst #TIF_NEED_RESCHED,r1l
bne SYMBOL_NAME(reschedule):16 bne SYMBOL_NAME(reschedule):16
mov.l sp,er1 mov.l sp,er0
subs #4,er1 /* adjust retpc */ subs #4,er0 /* adjust retpc */
mov.l er2,er0 mov.l er2,er1
jsr @SYMBOL_NAME(do_signal) jsr @SYMBOL_NAME(do_signal)
#if defined(CONFIG_PREEMPT) #if defined(CONFIG_PREEMPT)
bra done:8 /* userspace thoru */ bra done:8 /* userspace thoru */
......
...@@ -244,9 +244,9 @@ SYMBOL_NAME_LABEL(ret_from_interrupt) ...@@ -244,9 +244,9 @@ SYMBOL_NAME_LABEL(ret_from_interrupt)
mov.l @(TI_FLAGS:16,er4),er1 mov.l @(TI_FLAGS:16,er4),er1
btst #TIF_NEED_RESCHED,r1l btst #TIF_NEED_RESCHED,r1l
bne SYMBOL_NAME(reschedule):16 bne SYMBOL_NAME(reschedule):16
mov.l sp,er1 mov.l sp,er0
subs #4,er1 /* adjust retpc */ subs #4,er0 /* adjust retpc */
mov.l er2,er0 mov.l er2,er1
jsr @SYMBOL_NAME(do_signal) jsr @SYMBOL_NAME(do_signal)
#if defined(CONFIG_PREEMPT) #if defined(CONFIG_PREEMPT)
bra done:8 /* userspace thoru */ bra done:8 /* userspace thoru */
......
...@@ -8,7 +8,9 @@ struct sigcontext { ...@@ -8,7 +8,9 @@ struct sigcontext {
unsigned long sc_er1; unsigned long sc_er1;
unsigned long sc_er2; unsigned long sc_er2;
unsigned long sc_er3; unsigned long sc_er3;
unsigned long sc_er4;
unsigned long sc_er5; unsigned long sc_er5;
unsigned long sc_er6;
unsigned short sc_ccr; unsigned short sc_ccr;
unsigned long sc_pc; unsigned long sc_pc;
}; };
......
...@@ -96,6 +96,8 @@ typedef unsigned long sigset_t; ...@@ -96,6 +96,8 @@ typedef unsigned long sigset_t;
#define SA_ONESHOT SA_RESETHAND #define SA_ONESHOT SA_RESETHAND
#define SA_INTERRUPT 0x20000000 /* dummy -- ignored */ #define SA_INTERRUPT 0x20000000 /* dummy -- ignored */
#define SA_RESTORER 0x04000000
/* /*
* sigaltstack controls * sigaltstack controls
*/ */
......
#ifndef _H8300_UCONTEXT_H #ifndef _H8300_UCONTEXT_H
#define _H8300_UCONTEXT_H #define _H8300_UCONTEXT_H
typedef int greg_t;
#define NGREG 10
typedef greg_t gregset_t[NGREG];
struct mcontext {
int version;
gregset_t gregs;
};
#define MCONTEXT_VERSION 1
struct ucontext { struct ucontext {
unsigned long uc_flags; unsigned long uc_flags;
struct ucontext *uc_link; struct ucontext *uc_link;
stack_t uc_stack; stack_t uc_stack;
struct mcontext uc_mcontext; struct sigcontext uc_mcontext;
sigset_t uc_sigmask; /* mask last for extensibility */ sigset_t uc_sigmask; /* mask last for extensibility */
}; };
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
* This file contains the system call numbers. * This file contains the system call numbers.
*/ */
#define __NR_restart_syscall 0
#define __NR_exit 1 #define __NR_exit 1
#define __NR_fork 2 #define __NR_fork 2
#define __NR_read 3 #define __NR_read 3
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment