This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]