Subject: CVS commit: [yamt-idlelwp] src/sys/arch/hppa/hppa
To: None <source-changes@NetBSD.org>
From: Nick Hudson <skrll@netbsd.org>
List: source-changes
Date: 04/10/2007 14:25:51
Module Name:	src
Committed By:	skrll
Date:		Tue Apr 10 14:25:51 UTC 2007

Modified Files:
	src/sys/arch/hppa/hppa [yamt-idlelwp]: trap.c

Log Message:
Add the hack from OpenBSD for trap while in the SYSCALLGATE page. Add the
following comment to explain what's going on.

	In case we were interrupted from the syscall gate page
	treat this as we were not really running user code anymore

	The problem is that if we preempt when returning from this
	trap the interspace branch setting of IASQ to HPPA_SID_KERNEL
	is not picked up by the syscall code. Instead, it will attempt
	to return into the syscall gate page with the user space id
	causing a (fatal) ITLB trap for the process.

The syscall handler should probably be fixed.


To generate a diff of this commit:
cvs rdiff -r1.40.2.3 -r1.40.2.4 src/sys/arch/hppa/hppa/trap.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.