[OpenBIOS] [commit] r1361 - trunk/openbios-devel/arch/sparc64
repository service
svn at openbios.org
Tue Dec 29 16:50:32 CET 2015
Author: mcayland
Date: Tue Dec 29 16:50:31 2015
New Revision: 1361
URL: http://tracker.coreboot.org/trac/openbios/changeset/1361
Log:
SPARC64: switch client interface over to use new Forth context stack
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 Tue Dec 29 16:50:29 2015 (r1360)
+++ trunk/openbios-devel/arch/sparc64/call-client.S Tue Dec 29 16:50:31 2015 (r1361)
@@ -10,7 +10,6 @@
*/
#define SAVE_WINDOW_STATE(type) \
- setx client_window, %g6, %g1; \
rdpr %cwp, %g7; \
stx %g7, [%g1]; \
rdpr %cansave, %g7; \
@@ -85,8 +84,6 @@
#define RESTORE_WINDOW_STATE(type) \
- setx client_window, %g6, %g1; \
- \
/* Get the number of windows in %g6 */ \
rdpr %ver, %g6; \
and %g6, 0xf, %g6; \
@@ -196,6 +193,11 @@
stx %sp, [%g7]
/* Save windows */
+ setx _fcstack_ptr, %g6, %g7
+ ldx [%g7], %g1
+ add %g1, -0x510, %g1
+ stx %g1, [%g7]
+
SAVE_WINDOW_STATE(cif)
/* Move to OpenBIOS stack */
@@ -206,12 +208,19 @@
call of_client_interface
ldx [%g1 + 0x30], %o0
- setx client_window, %g6, %g1
- stx %o0, [%g1 + 0x30]
-
/* Restore windows */
+ setx _fcstack_ptr, %g6, %g7
+ ldx [%g7], %g1
+
+ /* Return value */
+ stx %o0, [%g1 + 0x30]
+
RESTORE_WINDOW_STATE(cif)
-
+
+ add %g1, 0x510, %g1
+ setx _fcstack_ptr, %g6, %g7
+ stx %g1, [%g7]
+
/* Restore stack */
setx client_stack, %g6, %g7
ldx [%g7], %sp
More information about the OpenBIOS
mailing list