Update of /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv6028
Modified Files:
interrupt.c syscall.c
Log Message:
place do_signal call in correct place
Index: interrupt.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/interrupt.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- interrupt.c 2001/07/31 17:28:26 1.13
+++ interrupt.c 2001/08/19 10:32:57 1.14
@@ -358,7 +358,12 @@
schedule();
goto ret_from_sys_call;
}
- /* Check for signals here */
+
+ /* check for pending signals */
+ if (current->sigpending != 0) {
+ /* FIXME: do we need to check the IPL here (i386 does a sti here) */
+ do_signal();
+ }
done:
}
@@ -633,8 +638,10 @@
struct irqvector *vector;
unsigned char *inside_vec;
- for (i=0; i<NR_IRQS; i++)
+ printk("get irq list: \n");
+ for (i=0; i<NR_IRQS; i++)
{
+ printk("\t%d: scb free %d\n",i,scb_vec_free(i));
if (!scb_vec_free(i))
{
inside_vec = SCB_VECTOR(i);
@@ -647,6 +654,7 @@
vector = (struct irqvector *)(inside_vec -
offsetof(struct irqvector, inst_jsb));
len += sprintf(buf+len, "%4d: %8d %s\n", vector->vec_num, 0, vector->action.name);
+ printk("%4d: %8d %s, len %d\n", vector->vec_num, 0, vector->action.name, len);
}
}
return len;
Index: syscall.c
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/arch/vax/kernel/syscall.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- syscall.c 2001/08/17 20:20:41 1.5
+++ syscall.c 2001/08/19 10:32:58 1.6
@@ -118,19 +118,6 @@
// printk("syscall %d returned %ld (0x%08lx)\n", chmk_arg, regs->r0, regs->r0);
- /* now we check for softirqs ready to be run */
- /* This is the equivalent of ENTRY(ret_from_syscall) on other ports */
- if ( (softirq_active(smp_processor_id()) & softirq_mask(smp_processor_id())) !=0 ) do_softirq();
-
- /* check for need_reschedule */
- if (current->need_resched !=0) schedule();
-
- /* check for pending signals */
- if (current->sigpending != 0) {
- /* FIXME: do we need to check the IPL here (i386 does a sti here) */
- do_signal();
- }
-
return;
}
|