diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-02-22 18:39:52 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-02-22 18:39:52 +0000 |
commit | 61ba976360804d85f9203821518bb4b132852188 (patch) | |
tree | 28e72dd94472e21da42f5f5d1e82912a9f83852a /c/src/lib/libbsp/c4x/c4xsim/start/start.S | |
parent | Adding information on prebuilt toolset binaries. (diff) | |
download | rtems-61ba976360804d85f9203821518bb4b132852188.tar.bz2 |
New port of RTEMS to TI C3x and C4x.
Diffstat (limited to 'c/src/lib/libbsp/c4x/c4xsim/start/start.S')
-rw-r--r-- | c/src/lib/libbsp/c4x/c4xsim/start/start.S | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/c4x/c4xsim/start/start.S b/c/src/lib/libbsp/c4x/c4xsim/start/start.S new file mode 100644 index 0000000000..2123fc24c3 --- /dev/null +++ b/c/src/lib/libbsp/c4x/c4xsim/start/start.S @@ -0,0 +1,71 @@ +/* + * This start.S is a combination of the files boot.s and crt0.s + * provided by Herman ...XXX + */ + + ; .file "crt0.s" + .ref _c_int00 + .global start + .global _start + + .if .tms320C40 + + .sect ".const" +mem_control: + .word 000100000h +mem_data: + .word 03ef78050h + + .text +start: +_start: + ldi 0800h,st + ldp @mem_control + ldi @mem_control,ar0 + ldp @mem_data + ldi @mem_data,r0 + sti r0,*+ar0(0) + sti r0,*+ar0(4) + br _c_int00 + + .else + + .sect ".const" +mem_control: + .word 000808000h +mem_data: + .word 000001f00h + + .text +start: +_start: + ldi 0800h,st + ldp @mem_control + ldi @mem_control,ar0 + ldp @mem_data + ldi @mem_data,r0 + sti r0,*+ar0(0) + sti r0,*+ar0(4) + br _c_int00 + + .endif + ; .file "boot.s" + .global __stack + .global _c_int00 + .ref .bss + .ref _boot_card + .ref _exit + +__stack: .usect ".stack",0 + .text +stack_addr: .word __stack + +_c_int00: + ldp stack_addr + ldi @stack_addr,sp + ldi sp,ar3 + ldp .bss ; For the small model, set up the DP to .bss + ldi 0,ar2 ; make sure argc=0 with regparm + push ar2 ; and memparm + call _boot_card + call _sim_exit |