[OpenBIOS] [commit] r887 - trunk/openbios-devel/arch/sparc64

repository service svn at openbios.org
Tue Oct 5 10:52:50 CEST 2010


Author: mcayland
Date: Tue Oct  5 10:52:49 2010
New Revision: 887
URL: http://tracker.coreboot.org/trac/openbios/changeset/887

Log:
Fix the MMU TLB miss handlers so that they no longer crash when building SPARC64 with -O0.

This patch allocates an extra 192 bytes of stack space required by unoptimised gcc builds for saving arguments to the stack. As 
suggested by Igor previously (see http://lists.openbios.org/pipermail/openbios/2009-July/003762.html and SVN r508).

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>

Modified:
   trunk/openbios-devel/arch/sparc64/vectors.S

Modified: trunk/openbios-devel/arch/sparc64/vectors.S
==============================================================================
--- trunk/openbios-devel/arch/sparc64/vectors.S	Sun Oct  3 22:28:27 2010	(r886)
+++ trunk/openbios-devel/arch/sparc64/vectors.S	Tue Oct  5 10:52:49 2010	(r887)
@@ -557,8 +557,9 @@
 
 	SAVE_CPU_STATE(dtlb)
 
-	/* Switch to TLB locked stack space */
-	add 	%g1, -STACK_BIAS, %sp
+	/* Switch to TLB locked stack space (note we add an additional 192 bytes required for
+	   gcc to save its arguments when building with -O0) */
+	add 	%g1, -STACK_BIAS - 192, %sp
 
 	/* Enable interrupts for window spill/fill traps */
 	rdpr	%pstate, %g7
@@ -581,8 +582,9 @@
 
 	SAVE_CPU_STATE(itlb)
 
-	/* Switch to TLB locked stack space */
-	add 	%g1, -STACK_BIAS, %sp
+	/* Switch to TLB locked stack space (note we add an additional 192 bytes required for
+	   gcc to save its arguments when building with -O0) */
+	add 	%g1, -STACK_BIAS - 192, %sp
 
 	/* Enable interrupts for window spill/fill traps */
 	rdpr	%pstate, %g7



More information about the OpenBIOS mailing list