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

repository service svn at openbios.org
Tue Dec 29 16:50:24 CET 2015


Author: mcayland
Date: Tue Dec 29 16:50:24 2015
New Revision: 1359
URL: http://tracker.coreboot.org/trac/openbios/changeset/1359

Log:
SPARC64: create proper stack frame when entering client interface

The original motivation behind reducing the stack frame size was in
order to keep the stack usage low enough to boot OpenBSD/NetBSD.

Since the final solution now is to save and restore the entire CPU state
around CIF calls then this no longer matters.

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

Modified:
   trunk/openbios-devel/arch/sparc64/call-client.S

Modified: trunk/openbios-devel/arch/sparc64/call-client.S
==============================================================================
--- trunk/openbios-devel/arch/sparc64/call-client.S	Fri Nov  6 16:06:36 2015	(r1358)
+++ trunk/openbios-devel/arch/sparc64/call-client.S	Tue Dec 29 16:50:24 2015	(r1359)
@@ -176,15 +176,15 @@
 sparc64_of_client_interface:
 
 	/* Save globals on callers stack */
-	add	%sp, -56, %sp
+	add	%sp, -248, %sp
 
-	stx	%g1, [%sp + 2047 + 0]
-	stx	%g2, [%sp + 2047 + 8]
-	stx	%g3, [%sp + 2047 + 16]
-	stx	%g4, [%sp + 2047 + 24]
-	stx	%g5, [%sp + 2047 + 32]
-	stx	%g6, [%sp + 2047 + 40]
-	stx	%g7, [%sp + 2047 + 48]
+	stx	%g1, [%sp + 2047 + 192]
+	stx	%g2, [%sp + 2047 + 200]
+	stx	%g3, [%sp + 2047 + 208]
+	stx	%g4, [%sp + 2047 + 216]
+	stx	%g5, [%sp + 2047 + 224]
+	stx	%g6, [%sp + 2047 + 232]
+	stx	%g7, [%sp + 2047 + 240]
 
 	/* Save client trap table */
 	setx	client_tba, %g6, %g7
@@ -222,15 +222,15 @@
 	wrpr	%g6, %tba
 
 	/* Restore globals */
-	ldx	[%sp + 2047 + 0], %g1
-	ldx	[%sp + 2047 + 8], %g2
-	ldx	[%sp + 2047 + 16], %g3
-	ldx	[%sp + 2047 + 24], %g4
-	ldx	[%sp + 2047 + 32], %g5
-	ldx	[%sp + 2047 + 40], %g6
-	ldx	[%sp + 2047 + 48], %g7
+	ldx	[%sp + 2047 + 192], %g1
+	ldx	[%sp + 2047 + 200], %g2
+	ldx	[%sp + 2047 + 208], %g3
+	ldx	[%sp + 2047 + 216], %g4
+	ldx	[%sp + 2047 + 224], %g5
+	ldx	[%sp + 2047 + 232], %g6
+	ldx	[%sp + 2047 + 240], %g7
 
-	add	%sp, 56, %sp
+	add	%sp, 248, %sp
 
 	jmp	%o7+8
 	 nop



More information about the OpenBIOS mailing list