forked from Imagelibrary/rtems
committed by
Sebastian Huber
parent
762390eca1
commit
a4e172aca7
@@ -40,8 +40,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
||||
AC_CONFIG_SUBDIRS([mvme167]);;
|
||||
ods68302 )
|
||||
AC_CONFIG_SUBDIRS([ods68302]);;
|
||||
sim68000 )
|
||||
AC_CONFIG_SUBDIRS([sim68000]);;
|
||||
uC5282 )
|
||||
AC_CONFIG_SUBDIRS([uC5282]);;
|
||||
*)
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
ACLOCAL_AMFLAGS = -I ../../../../aclocal
|
||||
|
||||
include $(top_srcdir)/../../../../automake/compile.am
|
||||
|
||||
include_bspdir = $(includedir)/bsp
|
||||
|
||||
dist_project_lib_DATA = bsp_specs
|
||||
|
||||
include_HEADERS = include/bsp.h
|
||||
include_HEADERS += ../../shared/include/tm27.h
|
||||
|
||||
nodist_include_HEADERS = include/bspopts.h
|
||||
nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
|
||||
DISTCLEANFILES = include/bspopts.h
|
||||
noinst_PROGRAMS =
|
||||
|
||||
nodist_include_HEADERS += ../../shared/include/coverhd.h
|
||||
|
||||
noinst_LIBRARIES = libbspstart.a
|
||||
libbspstart_a_SOURCES = start/start.S
|
||||
project_lib_DATA = start.$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += startup/linkcmds
|
||||
|
||||
noinst_LIBRARIES += libbsp.a
|
||||
libbsp_a_SOURCES =
|
||||
|
||||
# startup
|
||||
libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
|
||||
../../shared/bsppost.c ../../shared/bspstart.c ../../shared/bootcard.c \
|
||||
startup/bsppredriverhook.c ../../shared/bsppretaskinghook.c \
|
||||
../../shared/bspgetworkarea.c ../../shared/sbrk.c \
|
||||
../../shared/setvec.c ../../shared/gnatinstallhandler.c \
|
||||
../../m68k/shared/bspspuriousinit.c ../../m68k/shared/m68000spurious.c \
|
||||
startup/spurious_assistant.c
|
||||
# clock
|
||||
libbsp_a_SOURCES += clock/clockdrv.c ../../../shared/clockdrv_shell.h
|
||||
# console
|
||||
libbsp_a_SOURCES += console/conscfg.c ../../shared/console.c \
|
||||
../../shared/console_select.c ../../shared/console_control.c \
|
||||
../../shared/console_read.c ../../shared/console_write.c
|
||||
# debugio
|
||||
libbsp_a_SOURCES += console/debugio.c
|
||||
# timer
|
||||
libbsp_a_SOURCES += ../../shared/timerstub.c
|
||||
|
||||
libbsp_a_LIBADD = \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/misc.rel
|
||||
|
||||
include $(srcdir)/preinstall.am
|
||||
include $(top_srcdir)/../../../../automake/local.am
|
||||
@@ -1,9 +0,0 @@
|
||||
BSP for the BSVC 68000 simulator. This is definitely under construction.
|
||||
The initialization/setup script for BSVC is the part that likely needs
|
||||
work. I have written the timer based on the timer sample included with
|
||||
bsvc 2.1.
|
||||
|
||||
At this point, hello does not even print.
|
||||
|
||||
--joel
|
||||
1 August 2000
|
||||
@@ -1,13 +0,0 @@
|
||||
%rename endfile old_endfile
|
||||
%rename startfile old_startfile
|
||||
%rename link old_link
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} \
|
||||
%{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e start}}
|
||||
|
||||
*link:
|
||||
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
|
||||
@@ -1,53 +0,0 @@
|
||||
/*
|
||||
* Instantiate the clock driver shell.
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
|
||||
#define CLOCK_VECTOR 84
|
||||
|
||||
#define Clock_driver_support_install_isr( _new, _old ) \
|
||||
do { _old = (rtems_isr_entry) set_vector( _new, CLOCK_VECTOR, 1 ); } while(0)
|
||||
|
||||
typedef struct {
|
||||
volatile uint8_t cr; /* 0 - 0 : Timer Control Register */
|
||||
volatile uint8_t pad0; /* 1 - 1 : pad */
|
||||
volatile uint8_t ivr; /* 2 - 2 : Timer Interrupt Vector Register */
|
||||
volatile uint8_t pad1; /* 3 - 3 : pad */
|
||||
volatile uint32_t cpr; /* 4 - 7 : Timer Counter Preload Register */
|
||||
volatile uint8_t pad2[12]; /* 8 - 19 : pad */
|
||||
volatile uint32_t sr; /* 20 - 23 : Timer Status Register */
|
||||
} timer_hw_t;
|
||||
|
||||
#define TIMER_BASE (timer_hw_t *)0x72001
|
||||
|
||||
/* 8 microseconds per click, 125,000 per second */
|
||||
|
||||
/* XXX should check that microseconds_per_tick is >= 8 */
|
||||
static void Clock_driver_support_initialize_hardware(void)
|
||||
{
|
||||
timer_hw_t *t = TIMER_BASE;
|
||||
|
||||
t->ivr = CLOCK_VECTOR;
|
||||
t->cpr = rtems_configuration_get_microseconds_per_tick() / 8;
|
||||
t->cr = 0xA0; /* initialize with timer disabled */
|
||||
t->cr = 0xA1; /* enable timer */
|
||||
}
|
||||
|
||||
static void Clock_driver_support_at_tick(void)
|
||||
{
|
||||
timer_hw_t *t = TIMER_BASE;
|
||||
|
||||
t->sr = 0xA0; /* Negate timer interrupt request */
|
||||
}
|
||||
|
||||
static void Clock_driver_support_shutdown_hardware(void)
|
||||
{
|
||||
timer_hw_t *t = TIMER_BASE;
|
||||
|
||||
t->cr = 0xA0; /* initialize with timer disabled */
|
||||
}
|
||||
|
||||
#define CLOCK_DRIVER_USE_DUMMY_TIMECOUNTER
|
||||
|
||||
#include "../../../shared/clockdrv_shell.h"
|
||||
@@ -1,30 +0,0 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.69])
|
||||
AC_INIT([rtems-c-src-lib-libbsp-m68k-sim68000],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
|
||||
AC_CONFIG_SRCDIR([bsp_specs])
|
||||
RTEMS_TOP(../../../../../..)
|
||||
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
|
||||
RTEMS_BSP_CONFIGURE
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
|
||||
## bsp-specific options
|
||||
RTEMS_BSPOPTS_SET([CONSOLE_USE_INTERRUPTS],[*],[0])
|
||||
RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
|
||||
[The erc32 console driver can operate in either polled or interrupt mode.
|
||||
Under the simulator (especially when FAST_UART is defined), polled seems to operate
|
||||
better. It is common for a task to print a line (like the end of test message) and
|
||||
then exit. In this case, the program returns control to the simulator command line
|
||||
before the program has even queued the output to the uart. Thus sis has no chance
|
||||
of getting the data out.])
|
||||
|
||||
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
|
||||
|
||||
# Explicitly list all Makefiles here
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
@@ -1,65 +0,0 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2000.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bspopts.h>
|
||||
|
||||
#include <libchip/serial.h>
|
||||
#include <libchip/mc68681.h>
|
||||
|
||||
/*
|
||||
* Fix these for the simulator
|
||||
*/
|
||||
|
||||
#define MC68681_PORT_CONFIG MC68681_XBRG_IGNORED
|
||||
#define MC68681_PROBE libchip_serial_default_probe
|
||||
#define MC68681_VECTOR 0
|
||||
#define MC68681_BASE_ADDRESS 0x71001
|
||||
#define MC68681_DATA_ADDRESS 0x71007
|
||||
|
||||
/*
|
||||
* Based on BSP configuration information decide whether to do polling IO
|
||||
* or interrupt driven IO.
|
||||
*/
|
||||
|
||||
#if (CONSOLE_USE_INTERRUPTS)
|
||||
#define MC68681_FUNCTIONS &mc68681_fns
|
||||
#else
|
||||
#define MC68681_FUNCTIONS &mc68681_fns_polled
|
||||
#endif
|
||||
|
||||
console_tbl Console_Configuration_Ports[] = {
|
||||
{
|
||||
"/dev/com0", /* sDeviceName */
|
||||
SERIAL_MC68681, /* deviceType */
|
||||
MC68681_FUNCTIONS, /* pDeviceFns */
|
||||
NULL, /* deviceProbe */
|
||||
NULL, /* pDeviceFlow */
|
||||
16, /* ulMargin */
|
||||
8, /* ulHysteresis */
|
||||
(void *)9600, /* pDeviceParams */
|
||||
MC68681_BASE_ADDRESS, /* ulCtrlPort1 */
|
||||
MC68681_BASE_ADDRESS, /* ulCtrlPort2 */
|
||||
MC68681_DATA_ADDRESS, /* ulDataPort */
|
||||
mc68681_get_register_2, /* getRegister */
|
||||
mc68681_set_register_2, /* setRegister */
|
||||
NULL, /* unused */ /* getData */
|
||||
NULL, /* unused */ /* setData */
|
||||
(uint32_t)mc68681_baud_rate_table, /* ulClock */
|
||||
MC68681_VECTOR /* ulIntVector */
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Declare some information used by the console driver
|
||||
*/
|
||||
|
||||
#define NUM_CONSOLE_PORTS (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
|
||||
|
||||
unsigned long Console_Configuration_Count = NUM_CONSOLE_PORTS;
|
||||
@@ -1,21 +0,0 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2014.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <unistd.h> /* write */
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/bspIo.h>
|
||||
|
||||
static void debug_putc( char c )
|
||||
{
|
||||
write( 2, &c, 1 );
|
||||
}
|
||||
|
||||
BSP_output_char_function_type BSP_output_char = debug_putc;
|
||||
BSP_polling_getchar_function_type BSP_poll_char = NULL;
|
||||
@@ -1,48 +0,0 @@
|
||||
/* bsp.h
|
||||
*
|
||||
* This include file contains some definitions specific to the
|
||||
* BSVC simulator BSP.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2000.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#ifndef LIBBSP_M68K_SIM68000_BSP_H
|
||||
#define LIBBSP_M68K_SIM68000_BSP_H
|
||||
|
||||
#include <bspopts.h>
|
||||
#include <bsp/default-initial-extension.h>
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/iosupp.h>
|
||||
#include <rtems/console.h>
|
||||
#include <rtems/clockdrv.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define some hardware constants here
|
||||
*/
|
||||
|
||||
/* functions */
|
||||
|
||||
rtems_isr_entry set_vector( rtems_isr_entry, rtems_vector_number, int );
|
||||
|
||||
/*
|
||||
* Prototype for methods in the BSP that cross file boundaries.
|
||||
*/
|
||||
void bsp_spurious_initialize(void);
|
||||
void bsp_spurious_handler_assistant(rtems_vector_number vector);
|
||||
rtems_isr bsp_spurious_handler(rtems_vector_number vector);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,20 +0,0 @@
|
||||
#
|
||||
# Config file for a BSVC m68k simulator
|
||||
#
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
RTEMS_CPU=m68k
|
||||
RTEMS_CPU_MODEL=m68000
|
||||
|
||||
# This contains the compiler options necessary to select the CPU model
|
||||
# and (hopefully) optimize for it.
|
||||
CPU_CFLAGS = -mcpu=68000
|
||||
|
||||
# optimize flag: typically -O2
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
@@ -1,20 +0,0 @@
|
||||
#
|
||||
# Configuration file for a simcpu32 in BSCV
|
||||
#
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
RTEMS_CPU=m68k
|
||||
RTEMS_CPU_MODEL=mcpu32
|
||||
|
||||
# This contains the compiler options necessary to select the CPU model
|
||||
# and (hopefully) optimize for it.
|
||||
CPU_CFLAGS = -mcpu=cpu32
|
||||
|
||||
# optimize flag: typically -O2
|
||||
CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
|
||||
|
||||
define bsp-post-link
|
||||
$(default-bsp-post-link)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@)$(DOWNEXT)
|
||||
endef
|
||||
@@ -1,67 +0,0 @@
|
||||
## Automatically generated by ampolish3 - Do not edit
|
||||
|
||||
if AMPOLISH3
|
||||
$(srcdir)/preinstall.am: Makefile.am
|
||||
$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
|
||||
endif
|
||||
|
||||
PREINSTALL_DIRS =
|
||||
DISTCLEANFILES += $(PREINSTALL_DIRS)
|
||||
|
||||
all-am: $(PREINSTALL_FILES)
|
||||
|
||||
PREINSTALL_FILES =
|
||||
CLEANFILES = $(PREINSTALL_FILES)
|
||||
|
||||
all-local: $(TMPINSTALL_FILES)
|
||||
|
||||
TMPINSTALL_FILES =
|
||||
CLEANFILES += $(TMPINSTALL_FILES)
|
||||
|
||||
$(PROJECT_LIB)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_LIB)
|
||||
@: > $(PROJECT_LIB)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)
|
||||
@: > $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
|
||||
@: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
|
||||
$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
|
||||
|
||||
$(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
|
||||
|
||||
$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
|
||||
|
||||
$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
|
||||
TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
|
||||
|
||||
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
BSVC Simulator Setup File
|
||||
|
||||
UI_VERSION {2.0}
|
||||
SIMULATOR {sim68000}
|
||||
COMMAND {AttachDevice 0 RAM {BaseAddress = 0 Size = 40000}}
|
||||
COMMAND {AttachDevice 0 RAM {BaseAddress = 40000 Size = 20000}}
|
||||
COMMAND {AttachDevice 0 M68681 {BaseAddress = 71001 OffsetToFirstRegister = 0 OffsetBetweenRegisters = 2 InterruptLevel = 4 PortAStandardInputOutputFlag = 0 PortBStandardInputOutputFlag = 0 PortACommand = xterm -T "M68681 Port A" -132 -fn fixed -e /usr3/tmp/bsvc-2.1/bin/xtermpipe PortBCommand = }}
|
||||
COMMAND {AttachDevice 0 Timer {BaseAddress = 72001 IRQ = 5}}
|
||||
@@ -1,406 +0,0 @@
|
||||
/*
|
||||
* Re-written the gen68302 start-up code.
|
||||
*
|
||||
* Uses gas syntax only, removed the OAR asm.h.
|
||||
*
|
||||
* Supplies a complete vector table in ROM.
|
||||
*
|
||||
* Manages all vectors with seperate handlers to trap unhandled
|
||||
* execptions.
|
||||
*
|
||||
* Uses the target specific header file to get the runtime
|
||||
* configuration
|
||||
*
|
||||
* COPYRIGHT (c) 1996
|
||||
* Objective Design Systems Pty Ltd (ODS)
|
||||
*
|
||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
*/
|
||||
|
||||
#define STACK_AT_RESET 0x0
|
||||
|
||||
|
|
||||
| Boot boot code in a special section, ld postions
|
||||
|
|
||||
| Initial stack pointer is in the dual ported RAM
|
||||
|
|
||||
.sect .text
|
||||
|
||||
.global _start | program entry
|
||||
.global M68Kvec | Vector Table
|
||||
|
||||
_start: | standard name for program entry
|
||||
M68Kvec: | standard location for vectors
|
||||
|
||||
|
|
||||
| Make relative, can have the code positioned any where
|
||||
|
|
||||
|
||||
V___ISSP: .long STACK_AT_RESET
|
||||
V____IPC: .long start - V___ISSP
|
||||
|
||||
|
|
||||
| Create the rest of the vector table to point to the unhandled expection
|
||||
| handler
|
||||
|
|
||||
| Lots of macros, how-ever it creates a simple ROM vector table
|
||||
|
|
||||
|
||||
#if defined(__mcpu32__)
|
||||
.space 1016 | reserve space for rest of vectors
|
||||
#else
|
||||
#define MAKE_EXCEPTION_VECTOR(n) V___##n: .long (_CPU_ISR_jump_table + (n * 10))
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(2)
|
||||
MAKE_EXCEPTION_VECTOR(3)
|
||||
MAKE_EXCEPTION_VECTOR(4)
|
||||
MAKE_EXCEPTION_VECTOR(5)
|
||||
MAKE_EXCEPTION_VECTOR(6)
|
||||
MAKE_EXCEPTION_VECTOR(7)
|
||||
MAKE_EXCEPTION_VECTOR(8)
|
||||
MAKE_EXCEPTION_VECTOR(9)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(10)
|
||||
MAKE_EXCEPTION_VECTOR(11)
|
||||
MAKE_EXCEPTION_VECTOR(12)
|
||||
MAKE_EXCEPTION_VECTOR(13)
|
||||
MAKE_EXCEPTION_VECTOR(14)
|
||||
MAKE_EXCEPTION_VECTOR(15)
|
||||
MAKE_EXCEPTION_VECTOR(16)
|
||||
MAKE_EXCEPTION_VECTOR(17)
|
||||
MAKE_EXCEPTION_VECTOR(18)
|
||||
MAKE_EXCEPTION_VECTOR(19)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(20)
|
||||
MAKE_EXCEPTION_VECTOR(21)
|
||||
MAKE_EXCEPTION_VECTOR(22)
|
||||
MAKE_EXCEPTION_VECTOR(23)
|
||||
MAKE_EXCEPTION_VECTOR(24)
|
||||
MAKE_EXCEPTION_VECTOR(25)
|
||||
MAKE_EXCEPTION_VECTOR(26)
|
||||
MAKE_EXCEPTION_VECTOR(27)
|
||||
MAKE_EXCEPTION_VECTOR(28)
|
||||
MAKE_EXCEPTION_VECTOR(29)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(30)
|
||||
MAKE_EXCEPTION_VECTOR(31)
|
||||
MAKE_EXCEPTION_VECTOR(32)
|
||||
MAKE_EXCEPTION_VECTOR(33)
|
||||
MAKE_EXCEPTION_VECTOR(34)
|
||||
MAKE_EXCEPTION_VECTOR(35)
|
||||
MAKE_EXCEPTION_VECTOR(36)
|
||||
MAKE_EXCEPTION_VECTOR(37)
|
||||
MAKE_EXCEPTION_VECTOR(38)
|
||||
MAKE_EXCEPTION_VECTOR(39)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(40)
|
||||
MAKE_EXCEPTION_VECTOR(41)
|
||||
MAKE_EXCEPTION_VECTOR(42)
|
||||
MAKE_EXCEPTION_VECTOR(43)
|
||||
MAKE_EXCEPTION_VECTOR(44)
|
||||
MAKE_EXCEPTION_VECTOR(45)
|
||||
MAKE_EXCEPTION_VECTOR(46)
|
||||
MAKE_EXCEPTION_VECTOR(47)
|
||||
MAKE_EXCEPTION_VECTOR(48)
|
||||
MAKE_EXCEPTION_VECTOR(49)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(50)
|
||||
MAKE_EXCEPTION_VECTOR(51)
|
||||
MAKE_EXCEPTION_VECTOR(52)
|
||||
MAKE_EXCEPTION_VECTOR(53)
|
||||
MAKE_EXCEPTION_VECTOR(54)
|
||||
MAKE_EXCEPTION_VECTOR(55)
|
||||
MAKE_EXCEPTION_VECTOR(56)
|
||||
MAKE_EXCEPTION_VECTOR(57)
|
||||
MAKE_EXCEPTION_VECTOR(58)
|
||||
MAKE_EXCEPTION_VECTOR(59)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(60)
|
||||
MAKE_EXCEPTION_VECTOR(61)
|
||||
MAKE_EXCEPTION_VECTOR(62)
|
||||
MAKE_EXCEPTION_VECTOR(63)
|
||||
MAKE_EXCEPTION_VECTOR(64)
|
||||
MAKE_EXCEPTION_VECTOR(65)
|
||||
MAKE_EXCEPTION_VECTOR(66)
|
||||
MAKE_EXCEPTION_VECTOR(67)
|
||||
MAKE_EXCEPTION_VECTOR(68)
|
||||
MAKE_EXCEPTION_VECTOR(69)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(70)
|
||||
MAKE_EXCEPTION_VECTOR(71)
|
||||
MAKE_EXCEPTION_VECTOR(72)
|
||||
MAKE_EXCEPTION_VECTOR(73)
|
||||
MAKE_EXCEPTION_VECTOR(74)
|
||||
MAKE_EXCEPTION_VECTOR(75)
|
||||
MAKE_EXCEPTION_VECTOR(76)
|
||||
MAKE_EXCEPTION_VECTOR(77)
|
||||
MAKE_EXCEPTION_VECTOR(78)
|
||||
MAKE_EXCEPTION_VECTOR(79)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(80)
|
||||
MAKE_EXCEPTION_VECTOR(81)
|
||||
MAKE_EXCEPTION_VECTOR(82)
|
||||
MAKE_EXCEPTION_VECTOR(83)
|
||||
MAKE_EXCEPTION_VECTOR(84)
|
||||
MAKE_EXCEPTION_VECTOR(85)
|
||||
MAKE_EXCEPTION_VECTOR(86)
|
||||
MAKE_EXCEPTION_VECTOR(87)
|
||||
MAKE_EXCEPTION_VECTOR(88)
|
||||
MAKE_EXCEPTION_VECTOR(89)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(90)
|
||||
MAKE_EXCEPTION_VECTOR(91)
|
||||
MAKE_EXCEPTION_VECTOR(92)
|
||||
MAKE_EXCEPTION_VECTOR(93)
|
||||
MAKE_EXCEPTION_VECTOR(94)
|
||||
MAKE_EXCEPTION_VECTOR(95)
|
||||
MAKE_EXCEPTION_VECTOR(96)
|
||||
MAKE_EXCEPTION_VECTOR(97)
|
||||
MAKE_EXCEPTION_VECTOR(98)
|
||||
MAKE_EXCEPTION_VECTOR(99)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(100)
|
||||
MAKE_EXCEPTION_VECTOR(101)
|
||||
MAKE_EXCEPTION_VECTOR(102)
|
||||
MAKE_EXCEPTION_VECTOR(103)
|
||||
MAKE_EXCEPTION_VECTOR(104)
|
||||
MAKE_EXCEPTION_VECTOR(105)
|
||||
MAKE_EXCEPTION_VECTOR(106)
|
||||
MAKE_EXCEPTION_VECTOR(107)
|
||||
MAKE_EXCEPTION_VECTOR(108)
|
||||
MAKE_EXCEPTION_VECTOR(109)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(110)
|
||||
MAKE_EXCEPTION_VECTOR(111)
|
||||
MAKE_EXCEPTION_VECTOR(112)
|
||||
MAKE_EXCEPTION_VECTOR(113)
|
||||
MAKE_EXCEPTION_VECTOR(114)
|
||||
MAKE_EXCEPTION_VECTOR(115)
|
||||
MAKE_EXCEPTION_VECTOR(116)
|
||||
MAKE_EXCEPTION_VECTOR(117)
|
||||
MAKE_EXCEPTION_VECTOR(118)
|
||||
MAKE_EXCEPTION_VECTOR(119)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(120)
|
||||
MAKE_EXCEPTION_VECTOR(121)
|
||||
MAKE_EXCEPTION_VECTOR(122)
|
||||
MAKE_EXCEPTION_VECTOR(123)
|
||||
MAKE_EXCEPTION_VECTOR(124)
|
||||
MAKE_EXCEPTION_VECTOR(125)
|
||||
MAKE_EXCEPTION_VECTOR(126)
|
||||
MAKE_EXCEPTION_VECTOR(127)
|
||||
MAKE_EXCEPTION_VECTOR(128)
|
||||
MAKE_EXCEPTION_VECTOR(129)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(130)
|
||||
MAKE_EXCEPTION_VECTOR(131)
|
||||
MAKE_EXCEPTION_VECTOR(132)
|
||||
MAKE_EXCEPTION_VECTOR(133)
|
||||
MAKE_EXCEPTION_VECTOR(134)
|
||||
MAKE_EXCEPTION_VECTOR(135)
|
||||
MAKE_EXCEPTION_VECTOR(136)
|
||||
MAKE_EXCEPTION_VECTOR(137)
|
||||
MAKE_EXCEPTION_VECTOR(138)
|
||||
MAKE_EXCEPTION_VECTOR(139)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(140)
|
||||
MAKE_EXCEPTION_VECTOR(141)
|
||||
MAKE_EXCEPTION_VECTOR(142)
|
||||
MAKE_EXCEPTION_VECTOR(143)
|
||||
MAKE_EXCEPTION_VECTOR(144)
|
||||
MAKE_EXCEPTION_VECTOR(145)
|
||||
MAKE_EXCEPTION_VECTOR(146)
|
||||
MAKE_EXCEPTION_VECTOR(147)
|
||||
MAKE_EXCEPTION_VECTOR(148)
|
||||
MAKE_EXCEPTION_VECTOR(149)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(150)
|
||||
MAKE_EXCEPTION_VECTOR(151)
|
||||
MAKE_EXCEPTION_VECTOR(152)
|
||||
MAKE_EXCEPTION_VECTOR(153)
|
||||
MAKE_EXCEPTION_VECTOR(154)
|
||||
MAKE_EXCEPTION_VECTOR(155)
|
||||
MAKE_EXCEPTION_VECTOR(156)
|
||||
MAKE_EXCEPTION_VECTOR(157)
|
||||
MAKE_EXCEPTION_VECTOR(158)
|
||||
MAKE_EXCEPTION_VECTOR(159)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(160)
|
||||
MAKE_EXCEPTION_VECTOR(161)
|
||||
MAKE_EXCEPTION_VECTOR(162)
|
||||
MAKE_EXCEPTION_VECTOR(163)
|
||||
MAKE_EXCEPTION_VECTOR(164)
|
||||
MAKE_EXCEPTION_VECTOR(165)
|
||||
MAKE_EXCEPTION_VECTOR(166)
|
||||
MAKE_EXCEPTION_VECTOR(167)
|
||||
MAKE_EXCEPTION_VECTOR(168)
|
||||
MAKE_EXCEPTION_VECTOR(169)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(170)
|
||||
MAKE_EXCEPTION_VECTOR(171)
|
||||
MAKE_EXCEPTION_VECTOR(172)
|
||||
MAKE_EXCEPTION_VECTOR(173)
|
||||
MAKE_EXCEPTION_VECTOR(174)
|
||||
MAKE_EXCEPTION_VECTOR(175)
|
||||
MAKE_EXCEPTION_VECTOR(176)
|
||||
MAKE_EXCEPTION_VECTOR(177)
|
||||
MAKE_EXCEPTION_VECTOR(178)
|
||||
MAKE_EXCEPTION_VECTOR(179)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(180)
|
||||
MAKE_EXCEPTION_VECTOR(181)
|
||||
MAKE_EXCEPTION_VECTOR(182)
|
||||
MAKE_EXCEPTION_VECTOR(183)
|
||||
MAKE_EXCEPTION_VECTOR(184)
|
||||
MAKE_EXCEPTION_VECTOR(185)
|
||||
MAKE_EXCEPTION_VECTOR(186)
|
||||
MAKE_EXCEPTION_VECTOR(187)
|
||||
MAKE_EXCEPTION_VECTOR(188)
|
||||
MAKE_EXCEPTION_VECTOR(189)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(190)
|
||||
MAKE_EXCEPTION_VECTOR(191)
|
||||
MAKE_EXCEPTION_VECTOR(192)
|
||||
MAKE_EXCEPTION_VECTOR(193)
|
||||
MAKE_EXCEPTION_VECTOR(194)
|
||||
MAKE_EXCEPTION_VECTOR(195)
|
||||
MAKE_EXCEPTION_VECTOR(196)
|
||||
MAKE_EXCEPTION_VECTOR(197)
|
||||
MAKE_EXCEPTION_VECTOR(198)
|
||||
MAKE_EXCEPTION_VECTOR(199)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(200)
|
||||
MAKE_EXCEPTION_VECTOR(201)
|
||||
MAKE_EXCEPTION_VECTOR(202)
|
||||
MAKE_EXCEPTION_VECTOR(203)
|
||||
MAKE_EXCEPTION_VECTOR(204)
|
||||
MAKE_EXCEPTION_VECTOR(205)
|
||||
MAKE_EXCEPTION_VECTOR(206)
|
||||
MAKE_EXCEPTION_VECTOR(207)
|
||||
MAKE_EXCEPTION_VECTOR(208)
|
||||
MAKE_EXCEPTION_VECTOR(209)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(210)
|
||||
MAKE_EXCEPTION_VECTOR(211)
|
||||
MAKE_EXCEPTION_VECTOR(212)
|
||||
MAKE_EXCEPTION_VECTOR(213)
|
||||
MAKE_EXCEPTION_VECTOR(214)
|
||||
MAKE_EXCEPTION_VECTOR(215)
|
||||
MAKE_EXCEPTION_VECTOR(216)
|
||||
MAKE_EXCEPTION_VECTOR(217)
|
||||
MAKE_EXCEPTION_VECTOR(218)
|
||||
MAKE_EXCEPTION_VECTOR(219)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(220)
|
||||
MAKE_EXCEPTION_VECTOR(221)
|
||||
MAKE_EXCEPTION_VECTOR(222)
|
||||
MAKE_EXCEPTION_VECTOR(223)
|
||||
MAKE_EXCEPTION_VECTOR(224)
|
||||
MAKE_EXCEPTION_VECTOR(225)
|
||||
MAKE_EXCEPTION_VECTOR(226)
|
||||
MAKE_EXCEPTION_VECTOR(227)
|
||||
MAKE_EXCEPTION_VECTOR(228)
|
||||
MAKE_EXCEPTION_VECTOR(229)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(230)
|
||||
MAKE_EXCEPTION_VECTOR(231)
|
||||
MAKE_EXCEPTION_VECTOR(232)
|
||||
MAKE_EXCEPTION_VECTOR(233)
|
||||
MAKE_EXCEPTION_VECTOR(234)
|
||||
MAKE_EXCEPTION_VECTOR(235)
|
||||
MAKE_EXCEPTION_VECTOR(236)
|
||||
MAKE_EXCEPTION_VECTOR(237)
|
||||
MAKE_EXCEPTION_VECTOR(238)
|
||||
MAKE_EXCEPTION_VECTOR(239)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(240)
|
||||
MAKE_EXCEPTION_VECTOR(241)
|
||||
MAKE_EXCEPTION_VECTOR(242)
|
||||
MAKE_EXCEPTION_VECTOR(243)
|
||||
MAKE_EXCEPTION_VECTOR(244)
|
||||
MAKE_EXCEPTION_VECTOR(245)
|
||||
MAKE_EXCEPTION_VECTOR(246)
|
||||
MAKE_EXCEPTION_VECTOR(247)
|
||||
MAKE_EXCEPTION_VECTOR(248)
|
||||
MAKE_EXCEPTION_VECTOR(249)
|
||||
|
||||
MAKE_EXCEPTION_VECTOR(250)
|
||||
MAKE_EXCEPTION_VECTOR(251)
|
||||
MAKE_EXCEPTION_VECTOR(252)
|
||||
MAKE_EXCEPTION_VECTOR(253)
|
||||
MAKE_EXCEPTION_VECTOR(254)
|
||||
MAKE_EXCEPTION_VECTOR(255)
|
||||
#endif
|
||||
|
||||
|
|
||||
| Start
|
||||
|
|
||||
| Entered from a hardware reset.
|
||||
|
|
||||
|
||||
.global start | Default entry point for GNU
|
||||
start:
|
||||
|
||||
|
|
||||
| Copy initialized data area from ROM to RAM
|
||||
|
|
||||
|
||||
copy_data:
|
||||
moveal #_etext,%a0 | find the end of .text
|
||||
moveal #_copy_start,%a1 | find the beginning of .data
|
||||
moveal #_edata,%a2 | find the end of .data
|
||||
|
||||
copy_data_loop:
|
||||
|
||||
movel %a0@+,%a1@+ | copy the data
|
||||
cmpal %a2,%a1
|
||||
jlt copy_data_loop | loop until edata reached
|
||||
|
||||
|
|
||||
| zero out uninitialized data area
|
||||
|
|
||||
|
||||
zerobss:
|
||||
moveal #_clear_end,%a0 | find end of .bss
|
||||
moveal #_clear_start,%a1 | find beginning of .bss
|
||||
moveq #0,%d0
|
||||
|
||||
zerobss_loop:
|
||||
|
||||
movel %d0,%a1@+ | to zero out uninitialized
|
||||
cmpal %a0,%a1
|
||||
jlt zerobss_loop | loop until _end reached
|
||||
|
||||
movel #_stack_init,%d0 | load stack top
|
||||
|
||||
movw #0x3700,%sr | SUPV MODE,INTERRUPTS OFF!!!
|
||||
movel %d0,%a7 | set master stack pointer
|
||||
movel %d0,%a6 | set base pointer
|
||||
|
||||
movel #0,%a7@- | push argc
|
||||
jsr boot_card
|
||||
| if this returns, what do we do???
|
||||
|
||||
.global bsp_exitted
|
||||
bsp_exitted:
|
||||
jmp bsp_exitted
|
||||
|
||||
|
|
||||
| Initialised data
|
||||
|
|
||||
|
||||
.sect .data
|
||||
|
||||
|
|
||||
| Uninitialised data
|
||||
|
|
||||
|
||||
.sect .bss
|
||||
|
||||
.global environ
|
||||
.align 2
|
||||
|
||||
environ:
|
||||
.long 0
|
||||
@@ -1,20 +0,0 @@
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
#include <bsp/bootcard.h>
|
||||
|
||||
extern void bsp_spurious_initialize(void);
|
||||
|
||||
void bsp_predriver_hook(void)
|
||||
{
|
||||
/* on CPU32: do something about vectors!!! */
|
||||
|
||||
bsp_spurious_initialize();
|
||||
}
|
||||
@@ -1,200 +0,0 @@
|
||||
/*
|
||||
* MC68302 Linker command file
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Declare some sizes.
|
||||
*/
|
||||
_RomBase = DEFINED(_RomBase) ? _RomBase : 0x0;
|
||||
_RomSize = DEFINED(_RomSize) ? _RomSize : 512K;
|
||||
RamBase = DEFINED(RamBase) ? RamBase : 0x80000;
|
||||
RamSize = DEFINED(RamSize) ? RamSize : 128K;
|
||||
HeapSize = DEFINED(HeapSize) ? HeapSize : 0;
|
||||
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
|
||||
|
||||
/*
|
||||
* Declare on-board memory.
|
||||
*/
|
||||
MEMORY {
|
||||
eprom : ORIGIN = 0x00000000, LENGTH = 512K
|
||||
ram : ORIGIN = 0x00040000, LENGTH = 128K
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
ram : {
|
||||
. = .;
|
||||
} >ram
|
||||
|
||||
/*
|
||||
* Text, data and bss segments
|
||||
*/
|
||||
.text 0x0 : {
|
||||
*(.text*)
|
||||
|
||||
/*
|
||||
* C++ constructors/destructors
|
||||
*/
|
||||
*(.gnu.linkonce.t.*)
|
||||
|
||||
/*
|
||||
* Initialization and finalization code.
|
||||
*
|
||||
* Various files can provide initialization and finalization
|
||||
* functions. crtbegin.o and crtend.o are two instances. The
|
||||
* body of these functions are in .init and .fini sections. We
|
||||
* accumulate the bodies here, and prepend function prologues
|
||||
* from crti.o and function epilogues from crtn.o. crti.o must
|
||||
* be linked first; crtn.o must be linked last. Because these
|
||||
* are wildcards, it doesn't matter if the user does not
|
||||
* actually link against crti.o and crtn.o; the linker won't
|
||||
* look for a file to match a wildcard. The wildcard also
|
||||
* means that it doesn't matter which directory crti.o and
|
||||
* crtn.o are in.
|
||||
*/
|
||||
PROVIDE (_init = .);
|
||||
*crti.o(.init)
|
||||
*(.init)
|
||||
*crtn.o(.init)
|
||||
PROVIDE (_fini = .);
|
||||
*crti.o(.fini)
|
||||
*(.fini)
|
||||
*crtn.o(.fini)
|
||||
|
||||
/*
|
||||
* Special FreeBSD sysctl sections.
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
__start_set_sysctl_set = .;
|
||||
*(set_sysctl_*);
|
||||
__stop_set_sysctl_set = ABSOLUTE(.);
|
||||
*(set_domain_*);
|
||||
*(set_pseudo_*);
|
||||
|
||||
/*
|
||||
* C++ constructors/destructors
|
||||
*
|
||||
* gcc uses crtbegin.o to find the start of the constructors
|
||||
* and destructors so we make sure it is first. Because this
|
||||
* is a wildcard, it doesn't matter if the user does not
|
||||
* actually link against crtbegin.o; the linker won't look for
|
||||
* a file to match a wildcard. The wildcard also means that
|
||||
* it doesn't matter which directory crtbegin.o is in. The
|
||||
* constructor and destructor list are terminated in
|
||||
* crtend.o. The same comments apply to it.
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
*crtbegin.o(.ctors)
|
||||
*(.ctors)
|
||||
*crtend.o(.ctors)
|
||||
*crtbegin.o(.dtors)
|
||||
*(.dtors)
|
||||
*crtend.o(.dtors)
|
||||
|
||||
/*
|
||||
* Exception frame info
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
*(.eh_frame)
|
||||
|
||||
/*
|
||||
* Read-only data
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
_rodata_start = .;
|
||||
*(.rodata*)
|
||||
*(.gnu.linkonce.r*)
|
||||
|
||||
. = ALIGN (16);
|
||||
PROVIDE (_etext = .);
|
||||
}
|
||||
|
||||
.tdata ADDR(.text) + SIZEOF (.text) : {
|
||||
_TLS_Data_begin = .;
|
||||
*(.tdata .tdata.* .gnu.linkonce.td.*)
|
||||
_TLS_Data_end = .;
|
||||
}
|
||||
|
||||
.tbss ADDR(.tdata) + SIZEOF (.tdata) : {
|
||||
_TLS_BSS_begin = .;
|
||||
*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
|
||||
_TLS_BSS_end = .;
|
||||
}
|
||||
|
||||
_TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
|
||||
_TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
|
||||
_TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
|
||||
_TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
|
||||
_TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
|
||||
_TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
|
||||
|
||||
.data 0x80000 : AT (ADDR(.tdata) + SIZEOF (.tdata)) {
|
||||
PROVIDE (_copy_start = .);
|
||||
*(.data*)
|
||||
*(.gnu.linkonce.d*)
|
||||
*(.gcc_except_table*)
|
||||
*(.jcr)
|
||||
. = ALIGN (16);
|
||||
PROVIDE (_edata = .);
|
||||
PROVIDE (_copy_end = .);
|
||||
}
|
||||
.bss ADDR(.data) + SIZEOF(.data) : {
|
||||
_clear_start = .;
|
||||
*(.dynbss)
|
||||
*(.bss* .gnu.linkonce.b.*)
|
||||
*(COMMON)
|
||||
. = ALIGN (16);
|
||||
PROVIDE (end = .);
|
||||
|
||||
. += _StackSize;
|
||||
. = ALIGN (16);
|
||||
_stack_init = .;
|
||||
_clear_end = .;
|
||||
|
||||
WorkAreaBase = .;
|
||||
}
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
.debug_str 0 : { *(.debug_str) }
|
||||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
|
||||
/* SGI/MIPS DWARF 2 extensions */
|
||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
||||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
/* These must appear regardless of . */
|
||||
}
|
||||
|
||||
/* _VBR = 0xFFFFFFFF; * indicates VBR table is in ROM */
|
||||
_VBR = 0x0; /* indicates VBR table is in RAM */
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/*
|
||||
* Spurious Trap Handler Assistant
|
||||
*/
|
||||
|
||||
/*
|
||||
* COPYRIGHT (c) 1989-2014.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/bspIo.h>
|
||||
|
||||
/*
|
||||
* bsp_spurious_handler_assistant
|
||||
*
|
||||
* We can't recover so just return to gdb.
|
||||
*/
|
||||
void bsp_spurious_handler_assistant(
|
||||
rtems_vector_number vector
|
||||
)
|
||||
{
|
||||
/* XXX do something here */
|
||||
}
|
||||
Reference in New Issue
Block a user