summaryrefslogtreecommitdiffstats
path: root/newlib/libc/sys/sysnec810/crt0.S
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2006-05-02 18:20:12 +0000
committerJeff Johnston <jjohnstn@redhat.com>2006-05-02 18:20:12 +0000
commita8b02d46937e9d11ec28d10c9d701b11b099788f (patch)
tree85942ff1b5ead8ae8331df8804d50c7ff9919c17 /newlib/libc/sys/sysnec810/crt0.S
parentd182b68ce20be86de64b6babcdd1cdfb32a680d0 (diff)
downloadcygnal-a8b02d46937e9d11ec28d10c9d701b11b099788f.tar.gz
cygnal-a8b02d46937e9d11ec28d10c9d701b11b099788f.tar.bz2
cygnal-a8b02d46937e9d11ec28d10c9d701b11b099788f.zip
2006-05-02 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/sysnec810/Makefile.am: Specify .S files instead of .s. * libc/sys/sysnec810/Makefile.in: Regenerated. * libc/sys/sysnec810/crt0.S: Renamed from .s file. * libc/sys/sysnec810/io.S: Ditto. * libc/sys/sysnec810/crt0.s: Renamed to .S file. * libc/sys/sysnec810/io.s: Ditto.
Diffstat (limited to 'newlib/libc/sys/sysnec810/crt0.S')
-rw-r--r--newlib/libc/sys/sysnec810/crt0.S22
1 files changed, 22 insertions, 0 deletions
diff --git a/newlib/libc/sys/sysnec810/crt0.S b/newlib/libc/sys/sysnec810/crt0.S
new file mode 100644
index 000000000..3c7a382ff
--- /dev/null
+++ b/newlib/libc/sys/sysnec810/crt0.S
@@ -0,0 +1,22 @@
+ .set STACKTOP, 0x100000
+
+ .extern __tp_TEXT, 4
+ .extern __gp_DATA, 4
+ .extern _main
+ .globl __start
+ .globl _exit
+ .globl __exit
+
+ .text
+__start:
+ mov 2, r10 -- set Cache Control Word
+ ldsr r10, 24 --
+#
+ mov STACKTOP, sp -- set stack pointer
+ mov #__tp_TEXT, tp -- set tp register
+ mov #__gp_DATA, gp -- set gp register offset
+ add tp, gp -- set gp register
+ jal _main -- call main function
+__exit:
+ halt -- end of the program
+