libbase/crt0-picorv32: Add support for .data sections.
authorWilliam D. Jones <thor0505@comcast.net>
Wed, 21 Nov 2018 05:13:13 +0000 (00:13 -0500)
committerWilliam D. Jones <thor0505@comcast.net>
Wed, 21 Nov 2018 05:13:13 +0000 (00:13 -0500)
litex/soc/software/libbase/crt0-picorv32.S

index 7e4c712b325ae73482db345b8b0c1237c6e26780..3f7a4f5c0aa39b789f7641f5cf8899fc35b5bcee 100644 (file)
@@ -194,6 +194,20 @@ _crt0:
   la t1, _irq_mask
   sw t0, 0(t1)
 
+#ifdef EXECUTE_IN_PLACE
+  /* Load DATA */
+  la t0, _erodata
+  la t1, _fdata
+  la t2, _edata
+3:
+  lw t3, 0(t0)
+  sw t3, 0(t1)
+  /* _edata is aligned to 16 bytes. Use word-xfers. */
+  addi t0, t0, 4
+  addi t1, t1, 4
+  bltu t1, t2, 3b
+#endif
+
   /* Clear BSS */
   la t0, _fbss
   la t1, _ebss