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.
This commit is contained in:
Joel Sherrill
2000-09-22 20:33:08 +00:00
parent add92c668c
commit 2365488eeb
9 changed files with 82 additions and 10 deletions

View File

@@ -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> 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* console/Makefile.am, shmsupp/Makefile.am, start/Makefile.am, * console/Makefile.am, shmsupp/Makefile.am, start/Makefile.am,

View File

@@ -16,7 +16,7 @@
*startfile: *startfile:
%{!qrtems: %(old_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: *link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start} %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}

View File

@@ -7,9 +7,9 @@ AUTOMAKE_OPTIONS = foreign 1.4
H_FILES = bsp.h ../../../shared/include/coverhd.h H_FILES = bsp.h ../../../shared/include/coverhd.h
$(PROJECT_INCLUDE): $(PROJECT_INCLUDE):
@$(mkinstalldirs) $@ $(mkinstalldirs) $@
$(PROJECT_INCLUDE)/bsp.h: bsp.h $(PROJECT_INCLUDE)/%.h: %.h
$(INSTALL_DATA) $< $@ $(INSTALL_DATA) $< $@
$(PROJECT_INCLUDE)/coverhd.h: ../../../shared/include/coverhd.h $(PROJECT_INCLUDE)/coverhd.h: ../../../shared/include/coverhd.h

View File

@@ -6,7 +6,7 @@ AUTOMAKE_OPTIONS = foreign 1.4
PGM = $(ARCH)/start.o PGM = $(ARCH)/start.o
S_FILES = crt0.S register.S S_FILES = start.S register.S
S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o) S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o)
OBJS = $(S_O_FILES) OBJS = $(S_O_FILES)
@@ -28,6 +28,6 @@ all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES)
.PRECIOUS: $(PGM) .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 include $(top_srcdir)/../../../../../../automake/local.am

View File

@@ -40,7 +40,9 @@
; void = start( ); ; void = start( );
; NOTE - not C callable (no lead underscore) ; NOTE - not C callable (no lead underscore)
; ;
.include "sysmac.h" #if 0
#include <sysmac.h>
#endif
; ;
; ;
.extern V_SPILL, V_FILL .extern V_SPILL, V_FILL
@@ -53,14 +55,15 @@
.word 0 ; Terminating tag word .word 0 ; Terminating tag word
.global start .global start
start: start:
#if 0
sub gr1, gr1, 6 * 4 sub gr1, gr1, 6 * 4
asgeu V_SPILL, gr1, rab ; better not ever happen asgeu V_SPILL, gr1, rab ; better not ever happen
add lr1, gr1, 6 * 4 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 ; register in gr96 and gr97, and also the coprocessor is active
; uncomment the next 4 instructions. ; 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 ; Now call LibInit, if there is one. To aid runtime libraries
; that need to do some startup initialization, we have created ; 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 ; any run-time initialization, the variable is still 0. If the
; library does need run-time initialization, the library will ; library does need run-time initialization, the library will
; contain a definition like ; contain a definition like
@@ -142,7 +145,7 @@ NoLibInit:
; ;
; The following code segment was used to create the two flavors of the ; 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 ; 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, ; application, or the call to RAMInit is made in the start-up routine,
; then the following is not needed. ; then the following is not needed.
; ;
@@ -285,4 +288,5 @@ fill:
; asgeu V_SPILL,gr1,gr126 ; asgeu V_SPILL,gr1,gr126
; add lr1,gr1,24 ; add lr1,gr1,24
; ;
#endif
.end .end

View File

@@ -25,6 +25,9 @@ include $(top_srcdir)/../../../../../../automake/lib.am
$(PGM): $(OBJS) $(PGM): $(OBJS)
$(make-rel) $(make-rel)
$(PROJECT_RELEASE)/lib/linkcmds: linkcmds
$(INSTALL_DATA) $< $@
$(PROJECT_RELEASE)/lib/ramlink: ramlink $(PROJECT_RELEASE)/lib/ramlink: ramlink
$(INSTALL_DATA) $< $@ $(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 # the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/ramlink \ TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/ramlink \
$(PROJECT_RELEASE)/lib/linkcmds \
$(PROJECT_RELEASE)/lib/romlink $(PROJECT_RELEASE)/lib/romlink
all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES) all-local: $(ARCH) $(OBJS) $(PGM) $(TMPINSTALL_FILES)

View File

@@ -76,7 +76,12 @@ void bsp_pretasking_hook(void)
/* allocate all remaining memory to the heap */ /* allocate all remaining memory to the heap */
do { do {
heap_size -= HEAP_BLOCK_SIZE; heap_size -= HEAP_BLOCK_SIZE;
/* JRS just to link 9/22/2000 */
#if 0
heap_start = _sysalloc( heap_size ); heap_start = _sysalloc( heap_size );
#else
heap_start = 0;
#endif
} while ( !heap_start ); } while ( !heap_start );
if (!heap_start) if (!heap_start)
@@ -128,7 +133,12 @@ int bsp_start(
* not malloc'ed. It is just "pulled from the air". * 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 ); 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) if (!BSP_Configuration.work_space_start)
rtems_fatal_error_occurred( BSP_Configuration.work_space_size ); 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.postdriver_hook = bsp_postdriver_hook;
Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY;
/* JRS just to link 9/22/2000 */
#if 0
_settrap( 109,&a29k_enable_sup); _settrap( 109,&a29k_enable_sup);
_settrap( 110,&a29k_disable_sup); _settrap( 110,&a29k_disable_sup);
_settrap( 111,&a29k_enable_all_sup); _settrap( 111,&a29k_enable_all_sup);
@@ -150,6 +162,7 @@ int bsp_start(
_settrap( 107,&a29k_context_restore_sup); _settrap( 107,&a29k_context_restore_sup);
_settrap( 108,&a29k_context_save_sup); _settrap( 108,&a29k_context_save_sup);
_settrap( 105,&a29k_sigdfl_sup); _settrap( 105,&a29k_sigdfl_sup);
#endif
/* /*
* Start RTEMS * Start RTEMS

View File

@@ -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);
}
}

View File

@@ -41,7 +41,12 @@ no_cpu_isr_entry set_vector( /* returns old vector */
rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr ); rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
else { else {
/* XXX: install non-RTEMS ISR as "raw" interupt */ /* XXX: install non-RTEMS ISR as "raw" interupt */
/* JRS just to link 9/22/2000 */
#if 0
_settrap( vector, handler ); _settrap( vector, handler );
#else
;
#endif
} }
return previous_isr; return previous_isr;
} }