diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-09-22 20:33:08 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-09-22 20:33:08 +0000 |
commit | 2365488eeb2fda1853a3ed4ac769373498c39c2d (patch) | |
tree | 8e151be2ca9bd257a3ae24b86e4771cdf32e373a /c/src/lib/libbsp | |
parent | 2000-09-22 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-2365488eeb2fda1853a3ed4ac769373498c39c2d.tar.bz2 |
2000-09-22 Joel Sherrill <joel@OARcorp.com>
* start/crt0.S: Renamed to start/start.S.
* start/start.S: Formerly start/crt0.S.
* startup/linkcmds: New file. GNU linker script that is not
correct for the target board but links programs.
* bsp_specs: Use linkcmds.
* include/Makefile.am, start/Makefile.am startup/Makefile.am:
Now work.
* startup/bspstart.c, startup/setvec.c: "#if 0"'ed out references
to reoutines in assembly that are in turn "#if 0"'ed out.
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/ChangeLog | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/bsp_specs | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/include/Makefile.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/start/Makefile.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/start/start.S (renamed from c/src/lib/libbsp/a29k/portsw/start/crt0.S) | 14 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/startup/Makefile.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/startup/bspstart.c | 13 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/startup/linkcmds | 34 | ||||
-rw-r--r-- | c/src/lib/libbsp/a29k/portsw/startup/setvec.c | 5 |
9 files changed, 82 insertions, 10 deletions
diff --git a/c/src/lib/libbsp/a29k/portsw/ChangeLog b/c/src/lib/libbsp/a29k/portsw/ChangeLog index c1d21637dc..02a3016909 100644 --- a/c/src/lib/libbsp/a29k/portsw/ChangeLog +++ b/c/src/lib/libbsp/a29k/portsw/ChangeLog @@ -1,3 +1,15 @@ +2000-09-22 Joel Sherrill <joel@OARcorp.com> + + * start/crt0.S: Renamed to start/start.S. + * start/start.S: Formerly start/crt0.S. + * startup/linkcmds: New file. GNU linker script that is not + correct for the target board but links programs. + * bsp_specs: Use linkcmds. + * include/Makefile.am, start/Makefile.am startup/Makefile.am: + Now work. + * startup/bspstart.c, startup/setvec.c: "#if 0"'ed out references + to reoutines in assembly that are in turn "#if 0"'ed out. + 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de> * console/Makefile.am, shmsupp/Makefile.am, start/Makefile.am, diff --git a/c/src/lib/libbsp/a29k/portsw/bsp_specs b/c/src/lib/libbsp/a29k/portsw/bsp_specs index 9930dbc26b..02371f113f 100644 --- a/c/src/lib/libbsp/a29k/portsw/bsp_specs +++ b/c/src/lib/libbsp/a29k/portsw/bsp_specs @@ -16,7 +16,7 @@ *startfile: %{!qrtems: %(old_startfile)} \ -%{qrtems: %{qrtems_debug: crt0_g.o%s} %{!qrtems_debug: crt0.o%s}} +%{qrtems: %{qrtems_debug: start_g.o%s} %{!qrtems_debug: start.o%s}} *link: %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start} diff --git a/c/src/lib/libbsp/a29k/portsw/include/Makefile.am b/c/src/lib/libbsp/a29k/portsw/include/Makefile.am index aa21a7b155..534884ac59 100644 --- a/c/src/lib/libbsp/a29k/portsw/include/Makefile.am +++ b/c/src/lib/libbsp/a29k/portsw/include/Makefile.am @@ -7,9 +7,9 @@ AUTOMAKE_OPTIONS = foreign 1.4 H_FILES = bsp.h ../../../shared/include/coverhd.h $(PROJECT_INCLUDE): - @$(mkinstalldirs) $@ + $(mkinstalldirs) $@ -$(PROJECT_INCLUDE)/bsp.h: bsp.h +$(PROJECT_INCLUDE)/%.h: %.h $(INSTALL_DATA) $< $@ $(PROJECT_INCLUDE)/coverhd.h: ../../../shared/include/coverhd.h diff --git a/c/src/lib/libbsp/a29k/portsw/start/Makefile.am b/c/src/lib/libbsp/a29k/portsw/start/Makefile.am index fd906a3f01..8f9da33897 100644 --- a/c/src/lib/libbsp/a29k/portsw/start/Makefile.am +++ b/c/src/lib/libbsp/a29k/portsw/start/Makefile.am @@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign 1.4 PGM = $(ARCH)/start.o -S_FILES = crt0.S register.S +S_FILES = start.S register.S S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o) OBJS = $(S_O_FILES) @@ -28,6 +28,6 @@ all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES) .PRECIOUS: $(PGM) -EXTRA_DIST = amd.ah crt0.S pswmacro.ah register.S register.ah +EXTRA_DIST = amd.ah start.S pswmacro.ah register.S register.ah include $(top_srcdir)/../../../../../../automake/local.am diff --git a/c/src/lib/libbsp/a29k/portsw/start/crt0.S b/c/src/lib/libbsp/a29k/portsw/start/start.S index 017f2d4cca..7545b09d56 100644 --- a/c/src/lib/libbsp/a29k/portsw/start/crt0.S +++ b/c/src/lib/libbsp/a29k/portsw/start/start.S @@ -40,7 +40,9 @@ ; void = start( ); ; NOTE - not C callable (no lead underscore) ; - .include "sysmac.h" +#if 0 +#include <sysmac.h> +#endif ; ; .extern V_SPILL, V_FILL @@ -53,14 +55,15 @@ .word 0 ; Terminating tag word .global start start: +#if 0 sub gr1, gr1, 6 * 4 asgeu V_SPILL, gr1, rab ; better not ever happen add lr1, gr1, 6 * 4 ; -; Save the initial value of the Am29027's Mode register +; Save the initial value of the Am29027 Mode register ; -; If your system does not enter crt0 with value for Am29027's Mode +; If your system does not enter crt0 with value for Am29027 Mode ; register in gr96 and gr97, and also the coprocessor is active ; uncomment the next 4 instructions. ; @@ -118,7 +121,7 @@ argcloop: ; scan for NULL terminator ; ; Now call LibInit, if there is one. To aid runtime libraries ; that need to do some startup initialization, we have created -; a bss variable called LibInit. If the library doesn't need +; a bss variable called LibInit. If the library does not need ; any run-time initialization, the variable is still 0. If the ; library does need run-time initialization, the library will ; contain a definition like @@ -142,7 +145,7 @@ NoLibInit: ; ; The following code segment was used to create the two flavors of the ; run-time initialization routines (crt0_1.o, and crt0_2.o) as described -; in the User's Manual. If osboot is used to create a stand-alone +; in the Users Manual. If osboot is used to create a stand-alone ; application, or the call to RAMInit is made in the start-up routine, ; then the following is not needed. ; @@ -285,4 +288,5 @@ fill: ; asgeu V_SPILL,gr1,gr126 ; add lr1,gr1,24 ; +#endif .end diff --git a/c/src/lib/libbsp/a29k/portsw/startup/Makefile.am b/c/src/lib/libbsp/a29k/portsw/startup/Makefile.am index 799699fa2b..43ce70a1c1 100644 --- a/c/src/lib/libbsp/a29k/portsw/startup/Makefile.am +++ b/c/src/lib/libbsp/a29k/portsw/startup/Makefile.am @@ -25,6 +25,9 @@ include $(top_srcdir)/../../../../../../automake/lib.am $(PGM): $(OBJS) $(make-rel) +$(PROJECT_RELEASE)/lib/linkcmds: linkcmds + $(INSTALL_DATA) $< $@ + $(PROJECT_RELEASE)/lib/ramlink: ramlink $(INSTALL_DATA) $< $@ @@ -33,6 +36,7 @@ $(PROJECT_RELEASE)/lib/romlink: romlink # the .rel file built here will be put into libbsp.a by ../wrapup/Makefile TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/ramlink \ + $(PROJECT_RELEASE)/lib/linkcmds \ $(PROJECT_RELEASE)/lib/romlink all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES) diff --git a/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c b/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c index 4e0eb131ba..819239cb3e 100644 --- a/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c +++ b/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c @@ -76,7 +76,12 @@ void bsp_pretasking_hook(void) /* allocate all remaining memory to the heap */ do { heap_size -= HEAP_BLOCK_SIZE; +/* JRS just to link 9/22/2000 */ +#if 0 heap_start = _sysalloc( heap_size ); +#else + heap_start = 0; +#endif } while ( !heap_start ); if (!heap_start) @@ -128,7 +133,12 @@ int bsp_start( * not malloc'ed. It is just "pulled from the air". */ +/* JRS just to link 9/22/2000 */ +#if 0 BSP_Configuration.work_space_start = _sysalloc( BSP_Configuration.work_space_size + 512 ); +#else + BSP_Configuration.work_space_start = 0; +#endif if (!BSP_Configuration.work_space_start) rtems_fatal_error_occurred( BSP_Configuration.work_space_size ); @@ -142,6 +152,8 @@ int bsp_start( Cpu_table.postdriver_hook = bsp_postdriver_hook; Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; +/* JRS just to link 9/22/2000 */ +#if 0 _settrap( 109,&a29k_enable_sup); _settrap( 110,&a29k_disable_sup); _settrap( 111,&a29k_enable_all_sup); @@ -150,6 +162,7 @@ int bsp_start( _settrap( 107,&a29k_context_restore_sup); _settrap( 108,&a29k_context_save_sup); _settrap( 105,&a29k_sigdfl_sup); +#endif /* * Start RTEMS diff --git a/c/src/lib/libbsp/a29k/portsw/startup/linkcmds b/c/src/lib/libbsp/a29k/portsw/startup/linkcmds new file mode 100644 index 0000000000..09f24b6f9a --- /dev/null +++ b/c/src/lib/libbsp/a29k/portsw/startup/linkcmds @@ -0,0 +1,34 @@ +OUTPUT_FORMAT("coff-a29k-big") + SEARCH_DIR(/opt/a29k-rtems/a29k-rtems/lib); +SECTIONS +{ + .text : { + *(.text) + __etext = .; + __CTOR_LIST__ = .; + LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) + *(.ctors) + LONG(0) + __CTOR_END__ = .; + __DTOR_LIST__ = .; + LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) + *(.dtors) + LONG(0) + __DTOR_END__ = .; + *(.lit) + *(.shdata) + } + .shbss SIZEOF(.text) + ADDR(.text) : { + *(.shbss) + } + .data : { + *(.data) + __edata = .; + } + .bss SIZEOF(.data) + ADDR(.data) : + { + *(.bss) + *(COMMON) + __end = ALIGN(0x8); + } +} diff --git a/c/src/lib/libbsp/a29k/portsw/startup/setvec.c b/c/src/lib/libbsp/a29k/portsw/startup/setvec.c index f6b222d2d8..d2c68828da 100644 --- a/c/src/lib/libbsp/a29k/portsw/startup/setvec.c +++ b/c/src/lib/libbsp/a29k/portsw/startup/setvec.c @@ -41,7 +41,12 @@ no_cpu_isr_entry set_vector( /* returns old vector */ rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr ); else { /* XXX: install non-RTEMS ISR as "raw" interupt */ +/* JRS just to link 9/22/2000 */ +#if 0 _settrap( vector, handler ); +#else + ; +#endif } return previous_isr; } |