summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/a29k/portsw
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
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')
-rw-r--r--c/src/lib/libbsp/a29k/portsw/ChangeLog12
-rw-r--r--c/src/lib/libbsp/a29k/portsw/bsp_specs2
-rw-r--r--c/src/lib/libbsp/a29k/portsw/include/Makefile.am4
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/Makefile.am4
-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.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
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;
}