Date: Sat, 30 Jul 2005 11:14:31 +0000 (UTC) From: Peter Grehan <grehan@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/powerpc/powerpc machdep.c trap.c trap_subr.S Message-ID: <200507301114.j6UBEVZB057000@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
grehan 2005-07-30 11:14:31 UTC FreeBSD src repository Modified files: sys/powerpc/powerpc machdep.c trap.c trap_subr.S Log: Temporary band-aid to fix hang when a process exec's Altivec instructions. trap_subr.S: declare a stub for the a-unavailable trap that does an absolute jump to the vector-assist trap. This is due to the fact that the vec-unavail trap doesn't start at a 256-byte boundary, so the trick of masking the bottom 8 bits of the link register to identify the interrupt doesn't work, so let the vec-assist case handle Altivec-disabled for the time being. Note that this will be fixed in the future with a much smaller vector code-stub (< 16 bytes) that will allow use of strange vector offsets that are also present in 4xx processors, and also allow smaller differences in vector codepaths on the G5. trap.c: Treat altivec-unavailable/assist process traps as SIGILL. Not quite correct, since altivec-assist should really be a panic, but it is fine for the moment due to the above measure. machdep.c Install the stub code for the altivec-unavailable trap, and the standard trap code at the altivec-assist. Reported by: Andreas Tobler <toa at pop agri ch> MFC after: 3 days Revision Changes Path 1.90 +3 -0 src/sys/powerpc/powerpc/machdep.c 1.55 +5 -0 src/sys/powerpc/powerpc/trap.c 1.15 +8 -0 src/sys/powerpc/powerpc/trap_subr.S
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507301114.j6UBEVZB057000>