patch-2.4.13 linux/arch/s390x/kernel/process.c
Next file: linux/arch/s390x/kernel/s390_ksyms.c
Previous file: linux/arch/s390x/kernel/mathemu.c
Back to the patch index
Back to the overall index
- Lines: 67
- Date:
Thu Oct 11 09:04:57 2001
- Orig file:
v2.4.12/linux/arch/s390x/kernel/process.c
- Orig date:
Tue Oct 9 17:06:51 2001
diff -u --recursive --new-file v2.4.12/linux/arch/s390x/kernel/process.c linux/arch/s390x/kernel/process.c
@@ -44,8 +44,6 @@
#include <asm/processor.h>
#include <asm/irq.h>
-spinlock_t semaphore_wake_lock = SPIN_LOCK_UNLOCKED;
-
asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
/*
@@ -210,7 +208,7 @@
void show_regs(struct pt_regs *regs)
{
char buff[80];
- int line;
+ int i, line;
printk("CPU: %d\n",smp_processor_id());
printk("Process %s (pid: %d, stackpage=%016lX)\n",
@@ -218,6 +216,17 @@
for (line = 0; sprintf_regs(line, buff, current, regs); line++)
printk(buff);
+
+ if (regs->psw.mask & PSW_PROBLEM_STATE)
+ {
+ printk("User Code:\n");
+ memset(buff, 0, 20);
+ copy_from_user(buff,
+ (char *) (regs->psw.addr & PSW_ADDR_MASK), 20);
+ for (i = 0; i < 20; i++)
+ printk("%02x ", buff[i]);
+ printk("\n");
+ }
}
char *task_show_regs(struct task_struct *task, char *buffer)
@@ -323,28 +332,19 @@
asmlinkage int sys_fork(struct pt_regs regs)
{
- int ret;
-
- lock_kernel();
- ret = do_fork(SIGCHLD, regs.gprs[15], ®s, 0);
- unlock_kernel();
- return ret;
+ return do_fork(SIGCHLD, regs.gprs[15], ®s, 0);
}
asmlinkage int sys_clone(struct pt_regs regs)
{
unsigned long clone_flags;
unsigned long newsp;
- int ret;
- lock_kernel();
clone_flags = regs.gprs[3];
newsp = regs.orig_gpr2;
if (!newsp)
newsp = regs.gprs[15];
- ret = do_fork(clone_flags, newsp, ®s, 0);
- unlock_kernel();
- return ret;
+ return do_fork(clone_flags, newsp, ®s, 0);
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)