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>
* console/Makefile.am, shmsupp/Makefile.am, start/Makefile.am,

View File

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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

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

View File

@@ -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

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