linux rhirst

Richard Hirst rhirst@puffin.external.hp.com
Fri, 15 Dec 2000 04:00:13 -0700


CVSROOT:	/home/cvs/parisc
Module name:	linux
Changes by:	rhirst	00/12/15 04:00:13

Modified files:
	arch/parisc/kernel: entry.S ptrace.c syscall.S 
	include/asm-parisc: psw.h 

Log message:
Limit which registers/bits can be written by gdb.
Only populate pt_regs on syscall exit when necessary (i.e. TRACEME
and ATTACH calls while the target was on a syscall).

pt_regs->gr[0] usage has changed.  It is used to hold PSW, and previously
was only written on a full register save at interrupt.  It is now
zeroed on syscall entry, and then the lower 8 bits are set from the
actual PSW register if the syscall is traced.  This means pt_regs->gr[0]
C bit will always be clear for syscalls and set for interrupts, and bit D
will be set for traced syscalls.  So on syscall exit we can check the D
bit to determine whether or not a full register save was done on syscall
entry.