This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH] SPU Initialize __ea_local_store via register 6
- From: Patrick Mansfield <patmans at us dot ibm dot com>
- To: newlib at sourceware dot org, Jeff Johnston <jjohnstn at redhat dot com>
- Date: Mon, 17 Sep 2007 14:41:32 -0700
- Subject: [PATCH] SPU Initialize __ea_local_store via register 6
The effective address (EA) of the local store (LS) is now passed via
register 6, store it into a global variable.
libgloss ChangeLog:
2007-09-06 Markus Deuling <deuling@de.ibm.com>
* spu/crt0.S: Initialize __ea_local_store (EA address of the LS)
via register 6.
Index: src/libgloss/spu/crt0.S
===================================================================
--- src.orig/libgloss/spu/crt0.S
+++ src/libgloss/spu/crt0.S
@@ -50,11 +50,16 @@ POSSIBILITY OF SUCH DAMAGE.
#define TAGMASK 1
#endif
+.comm __ea_local_store,16,16
+
.text
.global _start
.type _start, @function
_start:
+ /* Save the local store base from $6. */
+ stqr $6, __ea_local_store
+
#ifdef _STD_MAIN
/*
* Copy the argument vector region from EA to LS. The DMA