Index: c/src/lib/libbsp/sparc/ChangeLog
===================================================================
--- c/src/lib/libbsp/sparc/ChangeLog	(revision 29d1fcee5e1870dcac1bbe30c83bca4930faac68)
+++ c/src/lib/libbsp/sparc/ChangeLog	(revision 9824dafe0ef03c5a54d5756fbc04c624aaf41ba5)
@@ -1,2 +1,12 @@
+2006-11-16	Joel Sherrill <joel@OARcorp.com>
+
+	* shared/bspstart.c, shared/start.S: Use common clock driver template
+	and eliminate all fast idle code specific to this BSP. This
+	eliminates a fair amount of code in the BSP clock driver and
+	bsp_startup. The LEON3 has to do a scan of the AMBA bus to find the
+	timer so I added the new hook Clock_driver_support_find_timer to
+	support this. In general, there was some clean up to the file headers
+	of various files.
+
 2006-10-17	Ralf CorsÃ©pius <ralf.corsepius@rtems.org>
 
Index: c/src/lib/libbsp/sparc/shared/bspstart.c
===================================================================
--- c/src/lib/libbsp/sparc/shared/bspstart.c	(revision 29d1fcee5e1870dcac1bbe30c83bca4930faac68)
+++ c/src/lib/libbsp/sparc/shared/bspstart.c	(revision 9824dafe0ef03c5a54d5756fbc04c624aaf41ba5)
@@ -5,5 +5,5 @@
  *  before any of these are invoked.
  *
- *  COPYRIGHT (c) 1989-2003.
+ *  COPYRIGHT (c) 1989-2006.
  *  On-Line Applications Research Corporation (OAR).
  *
@@ -48,53 +48,4 @@
 
 /*
- * Amount to increment itimer by each pass
- * It is a variable instead of a #define to allow the 'looptest'
- * script to bump it without recompiling rtems
- */
-
-uint32_t CPU_SPARC_CLICKS_PER_TICK;
-
-#if SIMSPARC_FAST_IDLE
-
-/*
- * Many of the tests are very slow on the simulator because they have
- * have 5 second delays hardwired in.
- *
- * Try to speed those tests up by speeding up the clock when in the idle task.
- *
- *  NOTE:  At the current setting, 5 second delays in the tests take
- *         approximately 5 seconds of wall time.
- */
-
-rtems_extension fast_idle_switch_hook(
-  rtems_tcb *current_task,
-  rtems_tcb *heir_task
-)
-{
-    static uint32_t normal_clock = ~0;
-    static uint32_t fast_clock;
-
-    /* init our params on first call */
-    if (normal_clock == ~0)
-    {
-        normal_clock = CPU_SPARC_CLICKS_PER_TICK;
-        fast_clock = CPU_SPARC_CLICKS_PER_TICK / 0x08;
-        if (fast_clock == 0)    /* handle pathological case */
-            fast_clock++;
-    }
-
-    /*
-     * Run the clock faster when idle is in place.
-     */
-
-    if (heir_task == _Thread_Idle)
-        CPU_SPARC_CLICKS_PER_TICK = fast_clock;
-    else if (current_task == _Thread_Idle)
-        CPU_SPARC_CLICKS_PER_TICK = normal_clock;
-}
-
-#endif
-
-/*
  *  Use the shared implementations of the following routines
  */
@@ -125,34 +76,4 @@
 
   bsp_libc_init((void *) heap_start, heap_size, 0);
-
-#if SIMSPARC_FAST_IDLE
-  /*
-   *  Install the fast idle task switch extension
-   *
-   *  On MP systems, might not want to do this; it confuses at least
-   *  one test (mp06) if the simulators are running too far from real time.
-   */
-
-#if 0
-  if (BSP_Configuration.User_multiprocessing_table == 0)
-#endif
-  {
-    rtems_extensions_table  fast_idle_extension;
-    rtems_id                extension_id;
-    rtems_status_code       rc;
-
-    memset(&fast_idle_extension, 0, sizeof(fast_idle_extension));
-
-    fast_idle_extension.thread_switch  = fast_idle_switch_hook;
-
-    rc = rtems_extension_create(
-      rtems_build_name('F', 'D', 'L', 'E'),
-      &fast_idle_extension,
-      &extension_id
-    );
-    if (rc != RTEMS_SUCCESSFUL)
-      rtems_fatal_error_occurred(rc);
-  }
-#endif
 
 #ifdef RTEMS_DEBUG
@@ -204,25 +125,3 @@
 
   BSP_Configuration.work_space_start = work_space_start;
-
-#if SIMSPARC_FAST_IDLE
-  /*
-   * Add 1 extension for fast idle
-   */
-
-  BSP_Configuration.maximum_extensions++;
-#endif
-
-  /*
-   * Add 1 extension for MPCI_fatal
-   */
-
-  if (BSP_Configuration.User_multiprocessing_table)
-    BSP_Configuration.maximum_extensions++;
-
-  /*
-   * Set the "clicks per tick" for the simulator
-   *  used by XXX/clock/clock.c to schedule interrupts
-   */
-
-  CPU_SPARC_CLICKS_PER_TICK = BSP_Configuration.microseconds_per_tick;
 }
Index: c/src/lib/libbsp/sparc/shared/start.S
===================================================================
--- c/src/lib/libbsp/sparc/shared/start.S	(revision 29d1fcee5e1870dcac1bbe30c83bca4930faac68)
+++ c/src/lib/libbsp/sparc/shared/start.S	(revision 9824dafe0ef03c5a54d5756fbc04c624aaf41ba5)
@@ -7,4 +7,11 @@
  *  distribution of the SPARC Instruction Simulator (SIS) found
  *  at ftp://ftp.estec.esa.nl/pub/ws/wsd/erc32.
+ *
+ *  COPYRIGHT (c) 1989-2006.
+ *  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.com/license/LICENSE.
  *
  *  $Id$
