From: Kenn H. <ke...@us...> - 2002-06-06 00:12:29
|
Update of /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel In directory usw-pr-cvs1:/tmp/cvs-serv18183/arch/vax/kernel Modified Files: init_task.c interrupt.c process.c ptrace.c vax_dev_init.c Log Message: Merge with Linus' 2.5.3 release Index: init_task.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/init_task.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- init_task.c 31 May 2002 01:58:38 -0000 1.4 +++ init_task.c 6 Jun 2002 00:12:24 -0000 1.5 @@ -1,6 +1,7 @@ #include <linux/mm.h> #include <linux/sched.h> #include <linux/init.h> +#include <linux/init_task.h> #include <asm/uaccess.h> #include <asm/pgtable.h> Index: interrupt.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/interrupt.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- interrupt.c 31 May 2002 01:58:38 -0000 1.5 +++ interrupt.c 6 Jun 2002 00:12:24 -0000 1.6 @@ -536,13 +536,13 @@ ret_with_reschedule: // printk("syscall: pid %d need_resched %d sigpending %d state %d\n",current->pid,current->need_resched,current->sigpending,current->state); - if (current->need_resched) { + if (need_resched()) { schedule(); goto ret_from_sys_call; } /* check for pending signals */ - if (current->sigpending != 0) { + if (current->work.sigpending != 0) { /* FIXME: do we need to check the IPL here (i386 does a sti here) */ /* FIXME: oldset? */ do_signal(0,regs); Index: process.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/process.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- process.c 5 Jun 2002 21:55:03 -0000 1.5 +++ process.c 6 Jun 2002 00:12:24 -0000 1.6 @@ -34,7 +34,7 @@ while(1) { /* Although we are an idle CPU, we do not want to get into the scheduler unnecessarily. */ - if (current->need_resched) { + if (need_resched()) { schedule(); check_pgt_cache(); } Index: ptrace.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/ptrace.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ptrace.c 20 May 2002 00:33:33 -0000 1.4 +++ ptrace.c 6 Jun 2002 00:12:24 -0000 1.5 @@ -271,10 +271,17 @@ res = -EIO; if ((unsigned long) data > _NSIG) break; - if (request == PTRACE_SYSCALL) - child->ptrace |= PT_TRACESYS; - else - child->ptrace &= ~PT_TRACESYS; + if (request == PTRACE_SYSCALL) { + if (!(child->ptrace & PT_SYSCALLTRACE)) { + child->ptrace |= PT_SYSCALLTRACE; + child->work.syscall_trace++; + } + } else { + if (child->ptrace & PT_SYSCALLTRACE) { + child->ptrace &= ~PT_SYSCALLTRACE; + child->work.syscall_trace--; + } + } child->exit_code = data; wake_up_process(child); res = 0; @@ -301,7 +308,10 @@ res = -EIO; if ((unsigned long) data > _NSIG) break; - child->ptrace &= ~ PT_TRACESYS; + if (child->ptrace & PT_SYSCALLTRACE) { + child->ptrace &= ~PT_SYSCALLTRACE; + child->work.syscall_trace--; + } if ((child->ptrace & PT_DTRACE)==0) child->ptrace |= PT_DTRACE; @@ -334,8 +344,8 @@ asmlinkage void syscall_trace(void) { - if ((current->ptrace & (PT_PTRACED|PT_TRACESYS)) - != (PT_PTRACED|PT_TRACESYS)) + if ((current->ptrace & (PT_PTRACED|PT_SYSCALLTRACE)) + != (PT_PTRACED|PT_SYSCALLTRACE)) return; current->exit_code = SIGTRAP; current->state = TASK_STOPPED; Index: vax_dev_init.c =================================================================== RCS file: /cvsroot/linux-vax/kernel-2.5/arch/vax/kernel/vax_dev_init.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- vax_dev_init.c 20 May 2002 00:33:33 -0000 1.3 +++ vax_dev_init.c 6 Jun 2002 00:12:24 -0000 1.4 @@ -8,13 +8,14 @@ */ #include <linux/types.h> /* For NULL */ #include <linux/kernel.h> /* For printk */ +#include <linux/init.h> #include <asm/mtpr.h> #include <asm/mv.h> #include <asm/vaxcpu.h> -void vax_dev_init(void) +static void __init vax_dev_init(void) { if (mv->init_devices) { mv->init_devices(); @@ -22,4 +23,5 @@ return; } - +subsys_initcall(vax_dev_init); + |