[commit] r1363 - trunk/openbios-devel/arch/sparc64
Author: mcayland Date: Tue Dec 29 16:50:36 2015 New Revision: 1363 URL: http://tracker.coreboot.org/trac/openbios/changeset/1363 Log: SPARC64: move client interface stack inline to the new Forth context stack Rather than having a separate OpenBIOS stack for client interface calls, reuse the Forth stack by reserving 8K extra beneath the CPU save state area and using that instead. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@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:34 2015 (r1362) +++ trunk/openbios-devel/arch/sparc64/call-client.S Tue Dec 29 16:50:36 2015 (r1363) @@ -148,9 +148,6 @@ .data .align 8 - .skip 16384 -openbios_stack: - client_stack: .xword 0 client_tba: @@ -200,8 +197,15 @@ SAVE_WINDOW_STATE(cif) - /* Move to OpenBIOS stack */ - setx openbios_stack - 2047 - 192, %g6, %g7 + /* Move to OpenBIOS context stack */ + setx _fcstack_ptr, %g6, %g7 + ldx [%g7], %g6 + setx 0x2000, %g4, %g5 + sub %g6, %g5, %g6 + stx %g6, [%g7] + + setx - 2047 - 192, %g6, %g7 + add %g1, %g7, %g7 mov %g7, %sp /* Call client inteface */ @@ -211,6 +215,9 @@ /* Restore windows */ setx _fcstack_ptr, %g6, %g7 ldx [%g7], %g1 + setx 0x2000, %g4, %g5 + add %g1, %g5, %g1 + stx %g1, [%g7] /* Return value */ stx %o0, [%g1 + 0x30]
participants (1)
-
repository service