summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2005-04-28 14:16:29 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2005-04-28 14:16:29 +0000
commitbb41881ee3f8012a3117a2786de82a8c9c64caf1 (patch)
treed761cc03ec7462f4589b52cf716e80457f2490ef /c
parent2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com> (diff)
downloadrtems-bb41881ee3f8012a3117a2786de82a8c9c64caf1.tar.bz2
2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com>
* score603e/Makefile.am, score603e/configure.ac, score603e/console/console.c, score603e/include/bsp.h, score603e/include/gen2.h, score603e/include/tm27.h, score603e/startup/bspstart.c: Update score603e to new exception model NOTE: These modifications have not been tested on hardware.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/powerpc/ChangeLog8
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/Makefile.am188
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/configure.ac38
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/console/console.c21
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/include/bsp.h5
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/include/gen2.h10
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/include/tm27.h17
-rw-r--r--c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c35
8 files changed, 239 insertions, 83 deletions
diff --git a/c/src/lib/libbsp/powerpc/ChangeLog b/c/src/lib/libbsp/powerpc/ChangeLog
index 7deb73c52e..484bafbb37 100644
--- a/c/src/lib/libbsp/powerpc/ChangeLog
+++ b/c/src/lib/libbsp/powerpc/ChangeLog
@@ -1,5 +1,13 @@
2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com>
+ * score603e/Makefile.am, score603e/configure.ac,
+ score603e/console/console.c, score603e/include/bsp.h,
+ score603e/include/gen2.h, score603e/include/tm27.h,
+ score603e/startup/bspstart.c: Update score603e to new exception model
+ NOTE: These modifications have not been tested on hardware.
+
+2005-04-28 Jennifer Averett <jennifer.averett@oarcorp.com>
+
* acinclude.m4: Initial release of ep1a bsp
* ep1a/Makefile.am, ep1a/bsp_specs, ep1a/configure.ac,
ep1a/console/alloc360.c, ep1a/console/console.c,
diff --git a/c/src/lib/libbsp/powerpc/score603e/Makefile.am b/c/src/lib/libbsp/powerpc/score603e/Makefile.am
index de33fd5976..fd25e85c0c 100644
--- a/c/src/lib/libbsp/powerpc/score603e/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/score603e/Makefile.am
@@ -1,5 +1,5 @@
##
-## $Id$
+## $Id$
##
ACLOCAL_AMFLAGS = -I ../../../../aclocal
@@ -14,23 +14,35 @@ include_HEADERS += include/tm27.h
nodist_include_HEADERS = include/bspopts.h
DISTCLEANFILES = include/bspopts.h
+nodist_include_HEADERS += ../../shared/include/coverhd.h
noinst_PROGRAMS =
+include_bspdir = $(includedir)/bsp
+
include_HEADERS += ../../shared/tod.h
include_HEADERS += include/coverhd.h include/gen2.h
-EXTRA_DIST = start/start.S
-start.$(OBJEXT): start/start.S
- $(CPPASCOMPILE) -DASM -o $@ -c $<
-project_lib_DATA = start.$(OBJEXT)
-
+###
dist_project_lib_DATA += startup/linkcmds
-noinst_PROGRAMS += clock.rel
-clock_rel_SOURCES = clock/clock.c
-clock_rel_CPPFLAGS = $(AM_CPPFLAGS)
-clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+noinst_PROGRAMS += startup.rel
+startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
+ ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
+ ../../shared/main.c ../../shared/sbrk.c \
+ startup/Hwr_init.c startup/genpvec.c \
+ ../../shared/gnatinstallhandler.c
+startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
+startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+###
+noinst_PROGRAMS += pclock.rel
+pclock_rel_SOURCES = ../../powerpc/shared/clock/p_clock.c
+pclock_rel_CPPFLAGS = $(AM_CPPFLAGS)
+pclock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+###
+### include_bsp_HEADERS =
noinst_PROGRAMS += console.rel
console_rel_SOURCES = console/85c30.c console/85c30.h console/console.c \
@@ -39,47 +51,71 @@ console_rel_SOURCES = console/85c30.c console/85c30.h console/console.c \
console_rel_CPPFLAGS = $(AM_CPPFLAGS)
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-# First and second generation used different Bridge chips :(
-# Generation 1 --> 82378zb (now in the CVS Attic)
-# Generation 2 --> FPGA
-noinst_PROGRAMS += startup.rel
-startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
- ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
- ../../shared/main.c ../../shared/sbrk.c startup/setvec.c \
- startup/Hwr_init.c startup/spurious.c startup/genpvec.c \
- ../../shared/gnatinstallhandler.c startup/FPGA.c
-startup_rel_CPPFLAGS = $(AM_CPPFLAGS)
-startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+###
+include_bsp_HEADERS = ../../powerpc/shared/pci/pci.h
-noinst_PROGRAMS += timer.rel
-timer_rel_SOURCES = timer/timer.c
-timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
-timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+noinst_PROGRAMS += pci.rel
+pci_rel_SOURCES = pci/no_host_bridge.c ../../powerpc/shared/pci/pci.c \
+ ../../powerpc/shared/pci/pcifinddevice.c
+pci_rel_CPPFLAGS = $(AM_CPPFLAGS)
+pci_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-noinst_PROGRAMS += tod.rel
-tod_rel_SOURCES = tod/tod.c
-tod_rel_CPPFLAGS = $(AM_CPPFLAGS)
-tod_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+###
+include_bsp_HEADERS += irq/irq.h
-noinst_PROGRAMS += PCI_bus.rel
-PCI_bus_rel_SOURCES = PCI_bus/PCI.c PCI_bus/PCI.h PCI_bus/flash.c \
- PCI_bus/universe.c
-PCI_bus_rel_CPPFLAGS = $(AM_CPPFLAGS)
-PCI_bus_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+noinst_PROGRAMS += irq.rel
+irq_rel_SOURCES = irq/FPGA.c irq/irq.c \
+ ../../powerpc/shared/irq/irq_asm.S
+irq_rel_CPPFLAGS = $(AM_CPPFLAGS)
+irq_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+##
+include_bsp_HEADERS += ../../powerpc/shared/vectors/vectors.h
noinst_PROGRAMS += vectors.rel
-vectors_rel_SOURCES = vectors/vectors.S
+vectors_rel_SOURCES = ../../powerpc/shared/vectors/vectors_init.c \
+ ../../powerpc/shared/vectors/vectors.S
vectors_rel_CPPFLAGS = $(AM_CPPFLAGS)
vectors_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+##
+include_bsp_HEADERS += ../../shared/vmeUniverse/vmeUniverse.h \
+ ../../powerpc/shared/vme/VMEConfig.h ../../powerpc/shared/vme/VME.h
+
+noinst_PROGRAMS += vme.rel
+vme_rel_SOURCES = ../../shared/vmeUniverse/vmeUniverse.c \
+ vme/vmeconfig.c
+vme_rel_CPPFLAGS = $(AM_CPPFLAGS)
+vme_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+##
+
+EXTRA_DIST = start/start.S
+start.$(OBJEXT): start/start.S
+ $(CPPASCOMPILE) -DASM -o $@ -c $<
+project_lib_DATA = start.$(OBJEXT)
+
+EXTRA_DIST += ../../powerpc/shared/start/rtems_crti.S
+rtems_crti.$(OBJEXT): ../../powerpc/shared/start/rtems_crti.S
+ $(CPPASCOMPILE) -DASM -o $@ -c $<
+project_lib_DATA += rtems_crti.$(OBJEXT)
+
noinst_LIBRARIES = libbsp.a
libbsp_a_SOURCES =
-libbsp_a_LIBADD = startup.rel clock.rel console.rel timer.rel tod.rel \
- vectors.rel PCI_bus.rel
-libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel
+libbsp_a_LIBADD = pclock.rel console.rel irq.rel \
+ pci.rel vectors.rel startup.rel vme.rel
+libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \
+ ../../../libcpu/@RTEMS_CPU@/shared/stack.rel \
+ ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \
+ ../../../libcpu/@RTEMS_CPU@/mpc6xx/clock.rel \
+ ../../../libcpu/@RTEMS_CPU@/mpc6xx/exceptions.rel \
+ ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \
+ ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel
all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
+###
+
PREINSTALL_DIRS =
PREINSTALL_FILES =
TMPINSTALL_FILES =
@@ -110,26 +146,86 @@ $(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.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_INCLUDE)/bsp/$(dirstamp):
+ @$(mkdir_p) $(PROJECT_INCLUDE)/bsp
+ @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+
+$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+
$(PROJECT_INCLUDE)/tod.h: ../../shared/tod.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tod.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tod.h
-$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
$(PROJECT_INCLUDE)/gen2.h: include/gen2.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/gen2.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/gen2.h
+$(PROJECT_INCLUDE)/bsp/consoleIo.h: ../../powerpc/shared/console/consoleIo.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/consoleIo.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/consoleIo.h
+
+$(PROJECT_INCLUDE)/bsp/uart.h: ../../powerpc/shared/console/uart.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/uart.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/uart.h
+
+$(PROJECT_INCLUDE)/bsp/motorola.h: ../../powerpc/shared/motorola/motorola.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/motorola.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/motorola.h
+
+$(PROJECT_INCLUDE)/bsp/openpic.h: ../../powerpc/shared/openpic/openpic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/openpic.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/openpic.h
+
+$(PROJECT_INCLUDE)/bsp/pci.h: ../../powerpc/shared/pci/pci.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/pci.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/pci.h
+
+$(PROJECT_INCLUDE)/bsp/residual.h: ../../powerpc/shared/residual/residual.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/residual.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/residual.h
+
+$(PROJECT_INCLUDE)/bsp/pnp.h: ../../powerpc/shared/residual/pnp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/pnp.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/pnp.h
+
+$(PROJECT_INCLUDE)/bsp/irq.h: ../../powerpc/shared/irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
+
+$(PROJECT_INCLUDE)/bsp/vectors.h: ../../powerpc/shared/vectors/vectors.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/vectors.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/vectors.h
+
+$(PROJECT_INCLUDE)/bsp/vmeUniverse.h: ../../shared/vmeUniverse/vmeUniverse.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/vmeUniverse.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/vmeUniverse.h
+
+$(PROJECT_INCLUDE)/bsp/VMEConfig.h: ../../powerpc/shared/vme/VMEConfig.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/VMEConfig.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/VMEConfig.h
+
+$(PROJECT_INCLUDE)/bsp/VME.h: ../../powerpc/shared/vme/VME.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/VME.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/VME.h
+
+if HAS_NETWORKING
+endif
+
+$(PROJECT_LIB)/rtems_crti.$(OBJEXT): rtems_crti.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/rtems_crti.$(OBJEXT)
+TMPINSTALL_FILES += $(PROJECT_LIB)/rtems_crti.$(OBJEXT)
+
$(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
-
CLEANFILES = $(PREINSTALL_FILES)
DISTCLEANFILES += $(PREINSTALL_DIRS)
CLEANFILES += $(TMPINSTALL_FILES)
diff --git a/c/src/lib/libbsp/powerpc/score603e/configure.ac b/c/src/lib/libbsp/powerpc/score603e/configure.ac
index 4f49a7777a..b1ef38acb3 100644
--- a/c/src/lib/libbsp/powerpc/score603e/configure.ac
+++ b/c/src/lib/libbsp/powerpc/score603e/configure.ac
@@ -3,7 +3,7 @@
## $Id$
AC_PREREQ(2.59)
-AC_INIT([rtems-c-src-lib-libbsp-powerpc-score603e],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
+AC_INIT([rtems-c-src-lib-libbsp-powerpc-ep1a],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
AC_CONFIG_SRCDIR([bsp_specs])
RTEMS_TOP(../../../../../..)
@@ -15,18 +15,6 @@ RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
-RTEMS_BSPOPTS_SET([CONSOLE_USE_INTERRUPTS],[*],[0])
-RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
-[whether using console interrupts])
-
-RTEMS_BSPOPTS_SET([INITIALIZE_COM_PORTS],[*],[1])
-RTEMS_BSPOPTS_HELP([INITIALIZE_COM_PORTS],
-[FIXME: Missing explanation])
-
-RTEMS_BSPOPTS_SET([HAS_PMC_PSC8],[*],[0])
-RTEMS_BSPOPTS_HELP([HAS_PMC_PSC8],
-[FIXME: Missing explanation])
-
## FIXME: This should be a 1 out of 3 selection
## and is somehow coupled to USE_DINK (cf. include/gen2.h)
RTEMS_BSPOPTS_SET([SCORE603E_USE_SDS],[*],[0])
@@ -45,26 +33,12 @@ RTEMS_BSPOPTS_SET([SCORE603E_USE_DINK],[*],[1])
RTEMS_BSPOPTS_HELP([SCORE603E_USE_DINK],
[FIXME: Missing explanation.])
-RTEMS_BSPOPTS_SET([PPC_USE_SPRG],[*],[0])
-RTEMS_BSPOPTS_HELP([PPC_USE_SPRG],
-[If defined, then the PowerPC specific code in RTEMS will use some
-of the special purpose registers to slightly optimize interrupt
-response time. The use of these registers can conflict with
-other tools like debuggers.])
-
-RTEMS_BSPOPTS_SET([PPC_USE_DATA_CACHE],[*],[0])
-RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE],
-[If defined, then the PowerPC specific code in RTEMS will use
- data cache instructions to optimize the context switch code.
- This code can conflict with debuggers or emulators. It is known
- to break the Corelis PowerPC emulator with at least some combinations
- of PowerPC 603e revisions and emulator versions.
- The BSP actually contains the call that enables this.])
+RTEMS_BSPOPTS_SET([CONSOLE_USE_INTERRUPTS],[*],[0])
+RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
+[whether using console interrupts])
-RTEMS_BSPOPTS_SET([PPC_VECTOR_FILE_BASE],[*],[0x0100])
-RTEMS_BSPOPTS_HELP([PPC_VECTOR_FILE_BASE],
-[This defines the base address of the exception table.
- NOTE: Vectors are actually at 0xFFF00000 but file starts at offset.])
+RTEMS_CHECK_NETWORKING
+AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
diff --git a/c/src/lib/libbsp/powerpc/score603e/console/console.c b/c/src/lib/libbsp/powerpc/score603e/console/console.c
index 249ae2c6f1..9985a23298 100644
--- a/c/src/lib/libbsp/powerpc/score603e/console/console.c
+++ b/c/src/lib/libbsp/powerpc/score603e/console/console.c
@@ -21,6 +21,7 @@
#include <assert.h>
#include "consolebsp.h"
+#include <rtems/bspIo.h>
#if (1)
/*
@@ -467,3 +468,23 @@ void console_outbyte_interrupts(
}
#endif
+
+/* const char arg to be compatible with BSP_output_char decl. */
+void
+debug_putc_onlcr(const char c)
+{
+ int console;
+ volatile uint8_t *csr;
+ uint32_t isrlevel;
+
+ console = USE_FOR_CONSOLE;
+ csr = Ports_85C30[ console ].ctrl;
+
+ rtems_interrupt_disable( isrlevel );
+ outbyte_polled_85c30( csr, c );
+ rtems_interrupt_enable( isrlevel );
+}
+
+BSP_output_char_function_type BSP_output_char = debug_putc_onlcr;
+/* const char arg to be compatible with BSP_output_char decl. */
+
diff --git a/c/src/lib/libbsp/powerpc/score603e/include/bsp.h b/c/src/lib/libbsp/powerpc/score603e/include/bsp.h
index db7797c2b1..5ae21308e6 100644
--- a/c/src/lib/libbsp/powerpc/score603e/include/bsp.h
+++ b/c/src/lib/libbsp/powerpc/score603e/include/bsp.h
@@ -20,6 +20,11 @@ extern "C" {
#endif
#include <bspopts.h>
+#include <rtems.h>
+#include <rtems/console.h>
+#include <libcpu/io.h>
+#include <rtems/clockdrv.h>
+#include <bsp/vectors.h>
/*
* confdefs.h overrides for this BSP:
diff --git a/c/src/lib/libbsp/powerpc/score603e/include/gen2.h b/c/src/lib/libbsp/powerpc/score603e/include/gen2.h
index 357b446594..d3a8043753 100644
--- a/c/src/lib/libbsp/powerpc/score603e/include/gen2.h
+++ b/c/src/lib/libbsp/powerpc/score603e/include/gen2.h
@@ -47,10 +47,12 @@ extern "C" {
/*
* PSC8 - PMC Card
*/
+/* address of our ram on the PCI bus */
+#define PCI_DRAM_OFFSET PREP_PCI_DRAM_OFFSET
#define BSP_PCI_CONFIGURATION_BASE 0x80800000
#define BSP_PMC_BASE BSP_PCI_CONFIGURATION_BASE
+#define PCI_MEM_BASE_ADJUSTMENT 0
#define BSP_PCI_PMC_DEVICE_BASE 0x80808000
-
#define BSP_PCI_REGISTER_BASE 0xfc000000
#define BSP_PCI_DEVICE_ADDRESS( _offset) \
@@ -80,12 +82,14 @@ extern "C" {
#define SCORE603E_85C30_CTRL_11 BSP_PMC_SERIAL_ADDRESS(0x200018)
#define SCORE603E_85C30_DATA_11 BSP_PMC_SERIAL_ADDRESS(0x20001c)
+#define _IO_BASE PREP_ISA_IO_BASE
#define SCORE603E_PCI_IO_CFG_ADDR 0x80000cf8
#define SCORE603E_PCI_IO_CFG_DATA 0x80000cfc
#define SCORE603E_UNIVERSE_BASE 0x80030000
#define SCORE603E_IO_VME_UNIVERSE_BASE 0x80007000
-#define BSP_PCI_MEM_BASE 0xc0000000
+#define PCI_MEM_BASE 0xc0000000
+#define BSP_PCI_MEM_BASE PCI_MEM_BASE /* XXX - May want to remove this later */
#define BSP_NVRAM_BASE 0xfd100000
#define BSP_RTC_ADDRESS ((volatile unsigned char *)0xfd180000)
#define SCORE603E_JP1_JP2_PROM_BASE 0xfff00000
@@ -245,6 +249,8 @@ extern "C" {
/* to start/stop the timer. */
#define BSP_TIMER_LEAST_VALID 1 /* Don't trust a value lower than this */
+#define BSP_PIC_DO_EOI /* XXX - Don't know what this corresponds to on the score board */
+
/*
* Convert decrement value to tenths of microsecnds (used by
* shared timer driver).
diff --git a/c/src/lib/libbsp/powerpc/score603e/include/tm27.h b/c/src/lib/libbsp/powerpc/score603e/include/tm27.h
index d4b3b4a5a6..2f7feb0fb2 100644
--- a/c/src/lib/libbsp/powerpc/score603e/include/tm27.h
+++ b/c/src/lib/libbsp/powerpc/score603e/include/tm27.h
@@ -15,14 +15,27 @@
#ifndef __tm27_h
#define __tm27_h
+#include <bsp/irq.h>
+
/*
* Stuff for Time Test 27
*/
#define MUST_WAIT_FOR_INTERRUPT 1
-#define Install_tm27_vector( _handler ) \
- set_vector( (_handler), PPC_IRQ_DECREMENTER, 1 )
+static rtems_irq_connect_data clockIrqData = {BSP_DECREMENTER,
+ 0,
+ (rtems_irq_enable)nullFunc,
+ (rtems_irq_disable)nullFunc,
+ (rtems_irq_is_enabled) nullFunc};
+void Install_tm27_vector(void (*_handler)())
+{
+ clockIrqData.hdl = _handler;
+ if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
+ printk("Error installing clock interrupt handler!\n");
+ rtems_fatal_error_occurred(1);
+ }
+}
#define Cause_tm27_intr() \
do { \
diff --git a/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c b/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c
index c880f7c3e9..c43fed2fc4 100644
--- a/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c
@@ -20,6 +20,22 @@
#include <bsp.h>
#include <rtems/libio.h>
#include <rtems/libcsupport.h>
+#include <rtems/bspIo.h>
+
+/*
+ * PCI Bus Frequency
+ */
+unsigned int BSP_bus_frequency; /* XXX - Set this based upon the Score board */
+
+/*
+ * processor clock frequency
+ */
+unsigned int BSP_processor_frequency; /* XXX - Set this based upon the Score board */
+
+/*
+ * Time base divisior (how many tick for 1 second).
+ */
+unsigned int BSP_time_base_divisor = 1000; /* XXX - Just a guess */
/*
* The original table from the application and our copy of it with
@@ -31,6 +47,18 @@ rtems_configuration_table BSP_Configuration;
rtems_cpu_table Cpu_table;
uint32_t bsp_isr_level;
+void BSP_panic(char *s)
+{
+ printk("%s PANIC %s\n",_RTEMS_version, s);
+ __asm__ __volatile ("sc");
+}
+
+void _BSP_Fatal_error(unsigned int v)
+{
+ printk("%s PANIC ERROR %x\n",_RTEMS_version, v);
+ __asm__ __volatile ("sc");
+}
+
/*
* Use the shared implementations of the following routines
*/
@@ -79,9 +107,11 @@ void initialize_PMC();
void bsp_predriver_hook(void)
{
init_RTC();
-
+/* XXX - What Does this now ????
init_PCI();
initialize_universe();
+*/
+
initialize_PCI_bridge ();
#if (HAS_PMC_PSC8)
@@ -201,6 +231,9 @@ void bsp_start( void )
(unsigned char *)&RAM_END - (unsigned char *) &end
);
+ BSP_processor_frequency = 266000000;
+ BSP_bus_frequency = 66000000;
+
/*
* There are multiple ROM monitors available for this board.
*/