Index: c/src/lib/libbsp/powerpc/score603e/ChangeLog
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/ChangeLog	(revision f6e1d93680ab5ebc229343909c679c482f25446b)
+++ c/src/lib/libbsp/powerpc/score603e/ChangeLog	(revision f48f64ab8a7ac3e588d51b3bcb2dc6ee47baccb4)
@@ -1,2 +1,8 @@
+2005-04-28      Jennifer Averett <jennifer.averett@oarcorp.com>
+
+        * Add/remove files for the Update to new exception model.
+        * pci/no_host_bridge.c, vme/vmeconfig.c: New files.
+        * clock/clock.c: Removed.
+
 2005-04-28      Jennifer Averett <jennifer.averett@oarcorp.com>
         
Index: src/lib/libbsp/powerpc/score603e/clock/clock.c
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/clock/clock.c	(revision f6e1d93680ab5ebc229343909c679c482f25446b)
+++ 	(revision )
@@ -1,224 +1,0 @@
-/*
- *  Clock Tick Device Driver
- *
- *  This routine utilizes the Decrementer Register common to the PPC family.
- *
- *  The tick frequency is directly programmed to the configured number of
- *  microseconds per tick.
- *
- *  COPYRIGHT (c) 1989-1997.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  The license and distribution terms for this file may in
- *  the file LICENSE in this distribution or at
- *  http://www.rtems.com/license/LICENSE.
- *
- *  $Id$
- */
-
-#include <stdlib.h>
-
-#include <bsp.h>
-#include <rtems/libio.h>
-#include <assert.h>
-
-/*
- *  The Real Time Clock Counter Timer uses this trap type.
- */
-
-#define CLOCK_VECTOR PPC_IRQ_DECREMENTER
-
-/*
- *  Clock ticks since initialization
- */
-
-volatile uint32_t         Clock_driver_ticks;
-
-/*
- *  This is the value programmed into the count down timer.
- */
-
-uint32_t         Clock_Decrementer_value;
-
-rtems_isr_entry  Old_ticker;
-
-void Clock_exit( void );
-
-/*
- * These are set by clock driver during its init
- */
-
-rtems_device_major_number rtems_clock_major = ~0;
-rtems_device_minor_number rtems_clock_minor;
-
-/*
- *  Clock_isr
- *
- *  This is the clock tick interrupt handler.
- *
- *  Input parameters:
- *    vector - vector number
- *
- *  Output parameters:  NONE
- *
- *  Return values:      NONE
- *
- */
-rtems_isr Clock_isr(
-  rtems_vector_number  vector,
-  CPU_Interrupt_frame *frame
-)
-{
-  /*
-   *  Set the decrementer.
-   */
-
-  PPC_Set_decrementer( Clock_Decrementer_value );
-
-  /*
-   *  The driver has seen another tick.
-   */
-
-  Clock_driver_ticks += 1;
-
-  /*
-   *  Real Time Clock counter/timer is set to automatically reload.
-   */
-
-  rtems_clock_tick();
-}
-
-/*
- *  Install_clock
- *
- *  This routine actually performs the hardware initialization for the clock.
- *
- *  Input parameters:
- *    clock_isr - clock interrupt service routine entry point
- *
- *  Output parameters:  NONE
- *
- *  Return values:      NONE
- *
- */
-
-extern int CLOCK_SPEED;
-
-void Install_clock(
-  rtems_isr_entry clock_isr
-)
-{
-  Clock_driver_ticks = 0;
-
-  Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 );
-
-  PPC_Set_decrementer( Clock_Decrementer_value );
-
-  atexit( Clock_exit );
-}
-
-/*
- *  Clock_exit
- *
- *  This routine allows the clock driver to exit by masking the interrupt and
- *  disabling the clock's counter.
- *
- *  Input parameters:   NONE
- *
- *  Output parameters:  NONE
- *
- *  Return values:      NONE
- *
- */
-
-void Clock_exit( void )
-{
-  /* nothing to do */;
-
-  /* do not restore old vector */
-}
-
-/*
- *  Clock_initialize
- *
- *  This routine initializes the clock driver.
- *
- *  Input parameters:
- *    major - clock device major number
- *    minor - clock device minor number
- *    parg  - pointer to optional device driver arguments
- *
- *  Output parameters:  NONE
- *
- *  Return values:
- *    rtems_device_driver status code
- */
-
-rtems_device_driver Clock_initialize(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void *pargp
-)
-{
-  Clock_Decrementer_value = (int) &CPU_PPC_CLICKS_PER_MS *
-                       (BSP_Configuration.microseconds_per_tick / 1000);
-
-  Install_clock( (rtems_isr_entry) Clock_isr );
-
-  /*
-   * make major/minor avail to others such as shared memory driver
-   */
-
-  rtems_clock_major = major;
-  rtems_clock_minor = minor;
-
-  return RTEMS_SUCCESSFUL;
-}
-
-/*
- *  Clock_control
- *
- *  This routine is the clock device driver control entry point.
- *
- *  Input parameters:
- *    major - clock device major number
- *    minor - clock device minor number
- *    parg  - pointer to optional device driver arguments
- *
- *  Output parameters:  NONE
- *
- *  Return values:
- *    rtems_device_driver status code
- */
-
-rtems_device_driver Clock_control(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void *pargp
-)
-{
-    uint32_t         isrlevel;
-    rtems_libio_ioctl_args_t *args = pargp;
-
-    if (args == 0)
-        goto done;
-
-    /*
-     * This is hokey, but until we get a defined interface
-     * to do this, it will just be this simple...
-     */
-
-    if (args->command == rtems_build_name('I', 'S', 'R', ' '))
-    {
-        Clock_isr( CLOCK_VECTOR, pargp );
-    }
-    else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
-    {
-      rtems_interrupt_disable( isrlevel );
-       (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
-      rtems_interrupt_enable( isrlevel );
-    }
-
-done:
-    return RTEMS_SUCCESSFUL;
-}
Index: c/src/lib/libbsp/powerpc/score603e/pci/no_host_bridge.c
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/pci/no_host_bridge.c	(revision f48f64ab8a7ac3e588d51b3bcb2dc6ee47baccb4)
+++ c/src/lib/libbsp/powerpc/score603e/pci/no_host_bridge.c	(revision f48f64ab8a7ac3e588d51b3bcb2dc6ee47baccb4)
@@ -0,0 +1,23 @@
+/*
+ *  detect_host_bridge.c
+ */
+                                                                                
+#include <libcpu/io.h>
+#include <libcpu/spr.h>
+                                                                                
+#include <bsp.h>
+#include <bsp/pci.h>
+#include <bsp/consoleIo.h>
+#include <bsp/residual.h>
+#include <bsp/openpic.h>
+                                                                                
+#include <rtems/bspIo.h>
+
+/*
+ * For the 8240 and the 8245 there is no host bridge the 
+ * Open PIC device is built into the processor chip.
+ */
+
+void detect_host_bridge()
+{
+}
Index: c/src/lib/libbsp/powerpc/score603e/vme/vmeconfig.c
===================================================================
--- c/src/lib/libbsp/powerpc/score603e/vme/vmeconfig.c	(revision f48f64ab8a7ac3e588d51b3bcb2dc6ee47baccb4)
+++ c/src/lib/libbsp/powerpc/score603e/vme/vmeconfig.c	(revision f48f64ab8a7ac3e588d51b3bcb2dc6ee47baccb4)
@@ -0,0 +1,133 @@
+/* vmeconfig.c,v 1.1.2.2 2003/03/25 16:46:01 joel Exp */
+
+/* Standard VME bridge configuration for VGM type boards */
+
+/* Author: Till Straumann <strauman@slac.stanford.edu>, 3/2002 */
+
+#include <bsp.h>
+#include <bsp/VME.h>
+#include <bsp/irq.h>
+#include <libcpu/bat.h>
+#include <libcpu/spr.h>
+#include <bsp/motorola.h>
+
+/* Use a weak alias for the VME configuration.
+ * This permits individual applications to override
+ * this routine.
+ * They may even create an 'empty'
+ *
+ *    void BSP_vme_config(void) {}
+ *
+ * which will avoid linking in the Universe driver
+ * at all :-).
+ */
+
+void BSP_vme_config(void) __attribute__ (( weak, alias("__BSP_default_vme_config") ));
+
+SPR_RO(DBAT0U)
+
+extern unsigned32 VME_Slot1;
+
+void
+__BSP_default_vme_config(void)
+{
+union {
+	struct _BATU	bat;
+	unsigned long	batbits;
+} dbat0u;
+  
+  vmeUniverseInit();
+  vmeUniverseReset();
+
+  /* setup a PCI area to map the VME bus */
+
+  dbat0u.batbits = _read_DBAT0U();
+
+  /* map VME address ranges */
+  vmeUniverseMasterPortCfg(
+	0,
+	VME_AM_EXT_SUP_DATA,
+	_VME_A32_WIN0_ON_VME,
+	_VME_A32_WIN0_ON_PCI,
+	0x0F000000);
+  vmeUniverseMasterPortCfg(
+	1,
+	VME_AM_STD_SUP_DATA,
+	0x00000000,
+	_VME_A24_ON_PCI,
+	0x00ff0000);
+  vmeUniverseMasterPortCfg(
+	2,
+	VME_AM_SUP_SHORT_IO,
+	0x00000000,
+	_VME_A16_ON_PCI,
+	0x00010000);
+
+#ifdef _VME_DRAM_OFFSET
+#if 0
+  if (VME_Slot1){ 
+    /* map our memory to VME */
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", BSP_mem_size);
+    vmeUniverseSlavePortCfg(
+	0,
+	VME_AM_EXT_SUP_DATA,
+	_VME_DRAM_32_OFFSET1,
+	PCI_DRAM_OFFSET,
+	BSP_mem_size);
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", _VME_A24_SIZE);
+    vmeUniverseSlavePortCfg(
+        1,
+        VME_AM_STD_SUP_DATA,
+        _VME_DRAM_24_OFFSET1,
+        PCI_DRAM_OFFSET,
+        _VME_A24_SIZE);
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", _VME_A16_SIZE);
+    vmeUniverseSlavePortCfg(
+        2,
+        VME_AM_SUP_SHORT_IO,
+        _VME_DRAM_16_OFFSET1,
+        PCI_DRAM_OFFSET,
+        _VME_A16_SIZE);
+  }
+  else {
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", BSP_mem_size);
+     vmeUniverseSlavePortCfg(
+        0,
+        VME_AM_EXT_SUP_DATA,
+        _VME_DRAM_32_OFFSET2,
+        PCI_DRAM_OFFSET,
+        BSP_mem_size);
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", _VME_A24_SIZE);
+    vmeUniverseSlavePortCfg(
+        1,
+        VME_AM_STD_SUP_DATA,
+        _VME_DRAM_24_OFFSET2,
+        PCI_DRAM_OFFSET,
+        _VME_A24_SIZE);
+printk("vmeUniverseSlavePortCfg length of 0x%x\n", _VME_A16_SIZE);
+    vmeUniverseSlavePortCfg(
+        2,
+        VME_AM_SUP_SHORT_IO,
+        _VME_DRAM_16_OFFSET2,
+        PCI_DRAM_OFFSET,
+        _VME_A16_SIZE);
+  }
+#endif
+
+  /* make sure the host bridge PCI master is enabled */
+  vmeUniverseWriteReg(
+	vmeUniverseReadReg(UNIV_REGOFF_PCI_CSR) | UNIV_PCI_CSR_BM,
+	UNIV_REGOFF_PCI_CSR);
+#endif
+
+
+  /* stdio is not yet initialized; the driver will revert to printk */
+  vmeUniverseMasterPortsShow(0);
+  vmeUniverseSlavePortsShow(0);
+
+  /* install the VME insterrupt manager */
+  vmeUniverseInstallIrqMgr(0,5,1,6);
+  if (vmeUniverse0PciIrqLine<0)
+	BSP_panic("Unable to get interrupt line info from PCI config");
+  _BSP_vme_bridge_irq=BSP_PCI_IRQ_LOWEST_OFFSET+vmeUniverse0PciIrqLine;
+}
