summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/a29k/portsw/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-09-22 20:33:08 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-09-22 20:33:08 +0000
commit2365488eeb2fda1853a3ed4ac769373498c39c2d (patch)
tree8e151be2ca9bd257a3ae24b86e4771cdf32e373a /c/src/lib/libbsp/a29k/portsw/startup
parent2000-09-22 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-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.am4
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/bspstart.c13
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/linkcmds34
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/setvec.c5
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;
}