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/a29k/portsw/startup | |
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/a29k/portsw/startup')
-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 |
4 files changed, 56 insertions, 0 deletions
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; } |