Index: c/src/lib/libbsp/powerpc/ChangeLog
===================================================================
--- c/src/lib/libbsp/powerpc/ChangeLog	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/ChangeLog	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -1,2 +1,10 @@
+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>
 
Index: c/src/lib/libbsp/powerpc/score603e/Makefile.am
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/Makefile.am	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/Makefile.am	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -1,4 +1,4 @@
 ##
-## $Id$
+## $Id$ 
 ##
 
@@ -15,21 +15,33 @@
 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
@@ -40,44 +52,68 @@
 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)
-
-noinst_PROGRAMS += timer.rel
-timer_rel_SOURCES = timer/timer.c
-timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
-timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-noinst_PROGRAMS += tod.rel
-tod_rel_SOURCES = tod/tod.c
-tod_rel_CPPFLAGS = $(AM_CPPFLAGS)
-tod_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-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)
+###
+include_bsp_HEADERS = ../../powerpc/shared/pci/pci.h
+
+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)
+
+###
+include_bsp_HEADERS += irq/irq.h
+
+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 =
@@ -111,24 +147,84 @@
 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)
Index: c/src/lib/libbsp/powerpc/score603e/configure.ac
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/configure.ac	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/configure.ac	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -4,5 +4,5 @@
 
 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,16 +15,4 @@
 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
@@ -46,24 +34,10 @@
 [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([CONSOLE_USE_INTERRUPTS],[*],[0])
+RTEMS_BSPOPTS_HELP([CONSOLE_USE_INTERRUPTS],
+[whether using console interrupts])
 
-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([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
Index: c/src/lib/libbsp/powerpc/score603e/console/console.c
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/console/console.c	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/console/console.c	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -22,4 +22,5 @@
 
 #include "consolebsp.h"
+#include <rtems/bspIo.h>
 
 #if (1)
@@ -468,2 +469,22 @@
 
 #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. */
+
Index: c/src/lib/libbsp/powerpc/score603e/include/bsp.h
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/include/bsp.h	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/include/bsp.h	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -21,4 +21,9 @@
 
 #include <bspopts.h>
+#include <rtems.h>
+#include <rtems/console.h>
+#include <libcpu/io.h>
+#include <rtems/clockdrv.h>
+#include <bsp/vectors.h>
 
 /*
Index: c/src/lib/libbsp/powerpc/score603e/include/gen2.h
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/include/gen2.h	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/include/gen2.h	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -48,8 +48,10 @@
  * 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
 
@@ -81,4 +83,5 @@
 #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
@@ -86,5 +89,6 @@
 #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)
@@ -246,4 +250,6 @@
 #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
Index: c/src/lib/libbsp/powerpc/score603e/include/tm27.h
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/include/tm27.h	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/include/tm27.h	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -16,4 +16,6 @@
 #define __tm27_h
 
+#include <bsp/irq.h>
+
 /*
  *  Stuff for Time Test 27
@@ -22,6 +24,17 @@
 #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()  \
Index: c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c	(revision 11640757f8c910a563288f2dc71215c79a525f12)
+++ c/src/lib/libbsp/powerpc/score603e/startup/bspstart.c	(revision bb41881ee3f8012a3117a2786de82a8c9c64caf1)
@@ -21,4 +21,20 @@
 #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 */
 
 /*
@@ -32,4 +48,16 @@
 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
@@ -80,7 +108,9 @@
 {
   init_RTC();
-
+/*   XXX - What Does this now ????
   init_PCI();
   initialize_universe();
+*/
+
   initialize_PCI_bridge ();
 
@@ -201,4 +231,7 @@
     (unsigned char *)&RAM_END - (unsigned char *) &end
   );
+
+  BSP_processor_frequency = 266000000;
+  BSP_bus_frequency       =  66000000;
 
   /*
