forked from Imagelibrary/rtems
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:
@@ -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,
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
34
c/src/lib/libbsp/a29k/portsw/startup/linkcmds
Normal file
34
c/src/lib/libbsp/a29k/portsw/startup/linkcmds
Normal 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user