patch-2.2.15 linux/arch/s390/kernel/process.c
Next file: linux/arch/s390/kernel/ptrace.c
Previous file: linux/arch/s390/kernel/irq.h
Back to the patch index
Back to the overall index
- Lines: 71
- Date:
Fri Apr 21 12:45:48 2000
- Orig file:
v2.2.14/arch/s390/kernel/process.c
- Orig date:
Tue Jan 4 21:18:41 2000
diff -u --new-file --recursive --exclude-from ../../exclude v2.2.14/arch/s390/kernel/process.c linux/arch/s390/kernel/process.c
@@ -2,7 +2,7 @@
* arch/s390/kernel/process.c
*
* S390 version
- * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
* Hartmut Penner (hp@de.ibm.com),
* Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com),
@@ -45,7 +45,6 @@
#include <asm/io.h>
#include <asm/processor.h>
#include <asm/misc390.h>
-#include "irq.h"
spinlock_t semaphore_wake_lock = SPIN_LOCK_UNLOCKED;
@@ -163,8 +162,10 @@
{
regno=(line-sp_gprs1)*4;
linelen=sprintf(buff,"%08x %08x %08x %08x\n",
- regs->gprs[regno], regs->gprs[regno+1],
- regs->gprs[regno+2], regs->gprs[regno+3]);
+ regs->gprs[regno],
+ regs->gprs[regno+1],
+ regs->gprs[regno+2],
+ regs->gprs[regno+3]);
}
break;
case sp_acrs:
@@ -176,8 +177,10 @@
{
regno=(line-sp_acrs1)*4;
linelen=sprintf(buff,"%08x %08x %08x %08x\n",
- regs->acrs[regno], regs->acrs[regno+1],
- regs->acrs[regno+2], regs->acrs[regno+3]);
+ regs->acrs[regno],
+ regs->acrs[regno+1],
+ regs->acrs[regno+2],
+ regs->acrs[regno+3]);
}
break;
case sp_kern_backchain:
@@ -283,7 +286,13 @@
unsigned long gprs[10]; /* gprs 6 -15 */
unsigned long fprs[4]; /* fpr 4 and 6 */
unsigned long empty[4];
- struct pt_regs childregs;
+#if CONFIG_REMOTE_DEBUG
+ gdb_pt_regs childregs;
+#else
+ pt_regs childregs;
+#endif
+ __u32 pgm_old_ilc; /* single step magic from entry.S */
+ __u32 pgm_svc_step;
} *frame;
frame = (struct stack_frame *) (2*PAGE_SIZE + (unsigned long) p) -1;
@@ -299,10 +308,10 @@
/* fake return stack for resume(), don't go back to schedule */
frame->gprs[9] = (unsigned long) frame;
-
+ frame->pgm_svc_step=0; /* Nope we aren't single stepping an svc */
/* save fprs, if used in last task */
save_fp_regs(&p->tss.fp_regs);
- p->tss.user_seg = __pa((unsigned long) p->mm->pgd) | _USER_SEG_TABLE_LEN;
+ p->tss.user_seg = __pa((unsigned long) p->mm->pgd) | _SEGMENT_TABLE;
p->tss.fs = USER_DS;
/* Don't copy debug registers */
memset(&p->tss.per_info,0,sizeof(p->tss.per_info));
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)