Index: c/src/lib/libbsp/sparc64/usiii/ChangeLog
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/ChangeLog	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/ChangeLog	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,35 @@
+2010-06-17	Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
+	preinstall.am, include/bsp.h, include/tm27.h, make/custom/usiii.cfg,
+	start/bspinit.S: New files.
+
+2010-06-05  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* make/custom/usiii.cfg: Moved sun4u.cfg to usiii.cfg
+
+2010-06-05  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* README: New file.
+
+2010-06-05  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* Makefile.am: Use ../shared/console driver.
+
+2010-05-15  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* Makefile.am: update to new ../helenos directory layout
+
+2010-05-13  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* start/bspinit.S: New file.
+	* start/bspinit.S: Call memcpy to copy OFW's trap table.
+
+2010-05-10  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* configure.ac Makefile.am bsp_specs include/bsp.h make/custom/sun4u.cfg: 
+		New files. Copied from sun4v.cfg.
+
+2010-05-10  Gedare Bloom <gedare@gwmail.gwu.edu>
+
+	* ChangeLog: New file.
Index: c/src/lib/libbsp/sparc64/usiii/Makefile.am
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/Makefile.am	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/Makefile.am	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,135 @@
+##
+## $Id$
+##
+
+ACLOCAL_AMFLAGS = -I ../../../../aclocal
+
+include $(top_srcdir)/../../../../automake/compile.am
+include $(top_srcdir)/../../bsp.am
+
+include_bspdir = $(includedir)/bsp
+
+dist_project_lib_DATA = bsp_specs
+
+include_HEADERS = include/bsp.h 
+include_HEADERS += include/tm27.h
+include_HEADERS += ../shared/include/asm.h 
+include_HEADERS += ../shared/include/traptable.h 
+
+## these are the include files used by the boot process from HelenOS Sparc64
+include_bootdir = $(includedir)/boot
+include_boot_HEADERS = \
+  ../shared/helenos/boot/include/align.h \
+  ../shared/helenos/boot/include/balloc.h \
+  ../shared/helenos/boot/include/gentypes.h \
+  ../shared/helenos/boot/include/main.h \
+  ../shared/helenos/boot/include/ofwarch.h \
+  ../shared/helenos/boot/include/ofw.h \
+  ../shared/helenos/boot/include/ofw_tree.h \
+  ../shared/helenos/boot/include/register.h \
+  ../shared/helenos/boot/include/stack.h \
+  ../shared/helenos/boot/include/types.h 
+
+## These include files mimic the HelenOS kernel include layout, which 
+## in HelenOS-0.4.2 is more complicated than the boot include dirs.
+
+# assumed by the HelenOS sources to be in the root includedir. We place them
+# in a kernel include directory.
+include_kerneldir = $(includedir)/kernel
+include_kernel_HEADERS = \
+  ../shared/helenos/kernel/generic/include/align.h
+
+include_archdir = $(includedir)/arch
+include_arch_HEADERS = \
+  ../shared/helenos/kernel/sparc64/include/arch.h \
+  ../shared/helenos/kernel/sparc64/include/boot.h \
+  ../shared/helenos/kernel/sparc64/include/regdef.h \
+  ../shared/helenos/kernel/sparc64/include/stack.h 
+
+include_arch_sun4udir = $(includedir)/arch/sun4u
+include_arch_sun4u_HEADERS = \
+  ../shared/helenos/kernel/sparc64/include/sun4u/arch.h 
+
+include_arch_mmdir = $(includedir)/arch/mm
+include_arch_mm_HEADERS = \
+  ../shared/helenos/kernel/sparc64/include/mm/cache_spec.h \
+  ../shared/helenos/kernel/sparc64/include/mm/frame.h \
+  ../shared/helenos/kernel/sparc64/include/mm/mmu.h \
+  ../shared/helenos/kernel/sparc64/include/mm/page.h \
+  ../shared/helenos/kernel/sparc64/include/mm/tlb.h \
+  ../shared/helenos/kernel/sparc64/include/mm/tte.h
+
+
+include_arch_mm_sun4udir = $(includedir)/arch/mm/sun4u
+include_arch_mm_sun4u_HEADERS = \
+  ../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h \
+  ../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h \
+  ../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h \
+  ../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h \
+  ../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h
+
+include_genarch_ofwdir = $(includedir)/genarch/ofw
+include_genarch_ofw_HEADERS = \
+  ../shared/helenos/kernel/genarch/include/ofw/ofw_tree.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
+
+
+EXTRA_DIST = ../shared/start/start.S 
+start.$(OBJEXT): ../shared/start/start.S
+	$(CPPASCOMPILE) -o $@ -c $<
+project_lib_DATA = start.$(OBJEXT)
+
+dist_project_lib_DATA += ../shared/startup/linkcmds
+
+startup_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \
+    ../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \
+    ../../shared/bsppost.c \
+    ../../shared/bootcard.c ../../shared/sbrk.c \
+    ../shared/startup/bspgetworkarea.c \
+    ../shared/startup/bspstart.c \
+    ../shared/startup/setvec.c \
+    ../../shared/gnatinstallhandler.c  \
+    ../shared/helenos/boot/genarch/balloc.c \
+    ../shared/helenos/boot/genarch/ofw.c \
+    ../shared/helenos/boot/genarch/ofw_tree.c \
+    ../shared/helenos/boot/generic/string.c \
+    ../shared/helenos/boot/sparc64/loader/ofwarch.c \
+    ../shared/helenos/boot/sparc64/loader/main.c \
+    ../shared/helenos/boot/sparc64/loader/ofwasm.S \
+    ../shared/asm/asm.S \
+    start/bspinit.S
+
+mmu_SOURCES = \
+    ../shared/helenos/kernel/sparc64/src/cache.S \
+    ../shared/helenos/kernel/sparc64/src/sun4u/takemmu.S \
+    ../shared/start/trap_table.S
+
+#clock_SOURCES = ../../shared/clock_driver_simidle.c
+clock_SOURCES = ../shared/clock/ckinit.c
+
+console_SOURCES = ../../shared/console.c  ../shared/console/conscfg.c
+
+timer_SOURCES = ../../shared/timerstub.c
+
+noinst_LIBRARIES = libbsp.a 
+libbsp_a_SOURCES = $(startup_SOURCES) $(mmu_SOURCES) $(clock_SOURCES) $(console_SOURCES) \
+    $(timer_SOURCES)
+
+
+libbsp_a_LIBADD = \
+      ../../../libcpu/@RTEMS_CPU@/shared/shared-score.rel \
+      ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
+      ../../../libcpu/@RTEMS_CPU@/shared/interrupts.rel \
+      ../../../libcpu/@RTEMS_CPU@/shared/sparc64-syscall.rel 
+
+EXTRA_DIST += times
+
+include $(srcdir)/preinstall.am
+include $(top_srcdir)/../../../../automake/local.am
Index: c/src/lib/libbsp/sparc64/usiii/README
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/README	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/README	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,61 @@
+#
+#  $Id$
+#
+
+BSP NAME:           usiii
+BOARD:              
+BUS:                n/a
+CPU FAMILY:         SPARC V9 (a.k.a. sun4u)
+CPU:                UltraSPARC III
+COPROCESSORS:       
+MODE:               n/a
+
+DEBUG MONITOR:      
+
+PERIPHERALS
+===========
+TIMERS:             TICK register (ASR 4)
+  RESOLUTION:         CPU clock resolution
+SERIAL PORTS:       
+REAL-TIME CLOCK:    
+DMA:                none
+VIDEO:              none
+SCSI:               none
+NETWORKING:         none
+
+DRIVER INFORMATION
+==================
+CLOCK DRIVER:       
+IOSUPP DRIVER:      
+SHMSUPP:            
+TIMER DRIVER:       
+TTY DRIVER:         
+
+STDIO
+=====
+PORT:               
+ELECTRICAL:         
+BAUD:               
+BITS PER CHARACTER: 
+PARITY:             
+STOP BITS:          
+
+NOTES
+=====
+
+Board description
+-----------------
+clock rate:     
+bus width:      
+ROM:            
+RAM:            
+
+This BSP is designed to operate on the UltraSPARC III SPARC64 
+and similar processors.
+
+This BSP has been run on the Simics simulator with the serengeti target.
+
+Simics:
+A commercially available simulator licensed by Virtutech.
+https://www.simics.net/
+
Index: c/src/lib/libbsp/sparc64/usiii/bsp_specs
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/bsp_specs	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/bsp_specs	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,15 @@
+%rename endfile old_endfile
+%rename startfile old_startfile
+%rename link old_link
+
+*startfile:
+%{!qrtems: %(old_startfile)} \
+%{!nostdlib: %{qrtems: start.o%s crtbegin.o%s -e _start}}
+
+*endfile:
+%{!qrtems: %(old_endfile)} \
+%{!nostdlib: %{qrtems: crtend.o%s}}
+
+*link:
+%(old_link) %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
+
Index: c/src/lib/libbsp/sparc64/usiii/configure.ac
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/configure.ac	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/configure.ac	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,29 @@
+## Process this file with autoconf to produce a configure script.
+## 
+## $Id$
+
+AC_PREREQ(2.60)
+AC_INIT([rtems-c-src-lib-libbsp-sparc64-sun4u],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
+AC_CONFIG_SRCDIR([bsp_specs])
+RTEMS_TOP(../../../../../..)
+
+RTEMS_CANONICAL_TARGET_CPU
+AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.10])
+RTEMS_BSP_CONFIGURE
+
+RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
+RTEMS_CANONICALIZE_TOOLS
+RTEMS_PROG_CCAS
+
+RTEMS_BSPOPTS_SET([SIMSPARC_FAST_IDLE],[*],[])
+RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
+[If defined, speed up the clock ticks while the idle task is running so
+time spent in the idle task is minimized.  This significantly reduces
+the wall time required to execute the RTEMS test suites.])
+
+
+RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
+
+# Explicitly list all Makefiles here
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
Index: c/src/lib/libbsp/sparc64/usiii/include/bsp.h
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/include/bsp.h	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/include/bsp.h	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,71 @@
+/*  bsp.h
+ *
+ *  This include file contains all SPARC64 simulator definitions.
+ *
+ *  COPYRIGHT (c) 1989-1998.
+ *  On-Line Applications Research Corporation (OAR).
+ *  COPYRIGHT (c) 1995.
+ *  European Space Agency.
+ *
+ *  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.
+ *
+ *  Ported to sun4u version of SPARC64 
+ *  sun4u modifications of respective RTEMS file: 
+ *    COPYRIGHT (c) 2010. 
+ *    Eugen Leontie
+ *    Gedare Bloom
+ *
+ *  $Id$
+ */
+
+#ifndef _BSP_H
+#define _BSP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <bspopts.h>
+
+#include <rtems.h>
+#include <rtems/iosupp.h>
+#include <rtems/console.h>
+#include <rtems/clockdrv.h>
+
+/* support for simulated clock tick */
+/*
+Thread clock_driver_sim_idle_body(uintptr_t);
+#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body
+*/
+
+/* this should be defined somewhere */
+rtems_isr_entry set_vector(                     /* returns old vector */
+    rtems_isr_entry     handler,                /* isr routine        */
+    rtems_vector_number vector,                 /* vector number      */
+    int                 type                    /* RTEMS or RAW intr  */
+);
+
+/*
+ *  Simple spin delay in microsecond units for device drivers.
+ *  This is very dependent on the clock speed of the target.
+ */
+
+#define rtems_bsp_delay( microseconds ) \
+  { register uint32_t         _delay=(microseconds); \
+    register uint32_t         _tmp = 0; /* initialized to avoid warning */ \
+    asm volatile( "0: \
+                     remo      3,31,%0 ; \
+                     cmpo      0,%0 ; \
+                     subo      1,%1,%1 ; \
+                     cmpobne.t 0,%1,0b " \
+                  : "=d" (_tmp), "=d" (_delay) \
+                  : "0"  (_tmp), "1"  (_delay) ); \
+  }
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Index: c/src/lib/libbsp/sparc64/usiii/include/tm27.h
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/include/tm27.h	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/include/tm27.h	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,32 @@
+/*
+ *  tm27.h
+ *
+ *  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$
+ */
+
+#ifndef _RTEMS_TMTEST27
+#error "This is an RTEMS internal file you must not include directly."
+#endif
+
+#ifndef __tm27_h
+#define __tm27_h
+
+/*
+ *  Define the interrupt mechanism for Time Test 27
+ */
+
+#define MUST_WAIT_FOR_INTERRUPT 0
+
+#define Install_tm27_vector( handler ) /* set_vector( (handler), 6, 1 ) */
+
+#define Cause_tm27_intr()  /* XXX */
+
+#define Clear_tm27_intr()  /* XXX */
+
+#define Lower_tm27_intr() /* empty */
+
+#endif
Index: c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/make/custom/usiii.cfg	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,27 @@
+#
+#  Config file for the UltraSparc III, IV SPARC64 processors.
+#  TODO: currently configured and tested only for ultrasparc3
+#
+#  $Id$
+#
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+RTEMS_CPU=sparc64
+RTEMS_CPU_MODEL=sun4u
+
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=usiii
+
+#  This contains the compiler options necessary to select the CPU model
+#  and (hopefully) optimize for it.
+#CPU_CFLAGS = -mcpu=ultrasparc3 -msoft-float
+#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DDEBUG_WORKSPACE
+#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DDEBUG_WORKSPACE -DHAVE___ASSERT_FUNC -DBSP_GET_WORK_AREA_DEBUG -DGICADEBUG
+#CPU_CFLAGS = -mcpu=ultrasparc3 -DGICADEBUG
+CPU_CFLAGS = -mcpu=ultrasparc3 -DUS3 -DSUN4U
+#CPU_CFLAGS = -mcpu=ultrasparc3 -mno-fpu
+#CPU_CFLAGS = -mcpu=ultrasparc3 -m64
+#CPU_CFLAGS = -mcpu=ultrasparc3 -DRTEMS_DEBUG -DHAVE___ASSERT_FUNC 
+
+# optimize flag: typically -O2
+CFLAGS_OPTIMIZE_V = -gstabs
Index: c/src/lib/libbsp/sparc64/usiii/preinstall.am
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/preinstall.am	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/preinstall.am	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,222 @@
+## 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-local: $(TMPINSTALL_FILES)
+
+TMPINSTALL_FILES =
+CLEANFILES = $(TMPINSTALL_FILES)
+
+all-am: $(PREINSTALL_FILES)
+
+PREINSTALL_FILES =
+CLEANFILES += $(PREINSTALL_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: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
+
+$(PROJECT_INCLUDE)/asm.h: ../shared/include/asm.h $(PROJECT_INCLUDE)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/asm.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/asm.h
+
+$(PROJECT_INCLUDE)/traptable.h: ../shared/include/traptable.h $(PROJECT_INCLUDE)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/traptable.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/traptable.h
+
+$(PROJECT_INCLUDE)/boot/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/boot
+	@: > $(PROJECT_INCLUDE)/boot/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/boot/$(dirstamp)
+
+$(PROJECT_INCLUDE)/boot/align.h: ../shared/helenos/boot/include/align.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/align.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/align.h
+
+$(PROJECT_INCLUDE)/boot/balloc.h: ../shared/helenos/boot/include/balloc.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/balloc.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/balloc.h
+
+$(PROJECT_INCLUDE)/boot/gentypes.h: ../shared/helenos/boot/include/gentypes.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/gentypes.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/gentypes.h
+
+$(PROJECT_INCLUDE)/boot/main.h: ../shared/helenos/boot/include/main.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/main.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/main.h
+
+$(PROJECT_INCLUDE)/boot/ofwarch.h: ../shared/helenos/boot/include/ofwarch.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofwarch.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofwarch.h
+
+$(PROJECT_INCLUDE)/boot/ofw.h: ../shared/helenos/boot/include/ofw.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw.h
+
+$(PROJECT_INCLUDE)/boot/ofw_tree.h: ../shared/helenos/boot/include/ofw_tree.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/ofw_tree.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/ofw_tree.h
+
+$(PROJECT_INCLUDE)/boot/register.h: ../shared/helenos/boot/include/register.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/register.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/register.h
+
+$(PROJECT_INCLUDE)/boot/stack.h: ../shared/helenos/boot/include/stack.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/stack.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/stack.h
+
+$(PROJECT_INCLUDE)/boot/types.h: ../shared/helenos/boot/include/types.h $(PROJECT_INCLUDE)/boot/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/boot/types.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/boot/types.h
+
+$(PROJECT_INCLUDE)/kernel/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/kernel
+	@: > $(PROJECT_INCLUDE)/kernel/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/kernel/$(dirstamp)
+
+$(PROJECT_INCLUDE)/kernel/align.h: ../shared/helenos/kernel/generic/include/align.h $(PROJECT_INCLUDE)/kernel/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/kernel/align.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/kernel/align.h
+
+$(PROJECT_INCLUDE)/arch/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/arch
+	@: > $(PROJECT_INCLUDE)/arch/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/$(dirstamp)
+
+$(PROJECT_INCLUDE)/arch/arch.h: ../shared/helenos/kernel/sparc64/include/arch.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/arch.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/arch.h
+
+$(PROJECT_INCLUDE)/arch/boot.h: ../shared/helenos/kernel/sparc64/include/boot.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/boot.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/boot.h
+
+$(PROJECT_INCLUDE)/arch/regdef.h: ../shared/helenos/kernel/sparc64/include/regdef.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/regdef.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/regdef.h
+
+$(PROJECT_INCLUDE)/arch/stack.h: ../shared/helenos/kernel/sparc64/include/stack.h $(PROJECT_INCLUDE)/arch/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/stack.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/stack.h
+
+$(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/sun4u
+	@: > $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
+
+$(PROJECT_INCLUDE)/arch/sun4u/arch.h: ../shared/helenos/kernel/sparc64/include/sun4u/arch.h $(PROJECT_INCLUDE)/arch/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/sun4u/arch.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/sun4u/arch.h
+
+$(PROJECT_INCLUDE)/arch/mm/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm
+	@: > $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+
+$(PROJECT_INCLUDE)/arch/mm/cache_spec.h: ../shared/helenos/kernel/sparc64/include/mm/cache_spec.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/cache_spec.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/cache_spec.h
+
+$(PROJECT_INCLUDE)/arch/mm/frame.h: ../shared/helenos/kernel/sparc64/include/mm/frame.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/frame.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/frame.h
+
+$(PROJECT_INCLUDE)/arch/mm/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/mmu.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/mmu.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/mmu.h
+
+$(PROJECT_INCLUDE)/arch/mm/page.h: ../shared/helenos/kernel/sparc64/include/mm/page.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/page.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/page.h
+
+$(PROJECT_INCLUDE)/arch/mm/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/tlb.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tlb.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tlb.h
+
+$(PROJECT_INCLUDE)/arch/mm/tte.h: ../shared/helenos/kernel/sparc64/include/mm/tte.h $(PROJECT_INCLUDE)/arch/mm/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/tte.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/tte.h
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/arch/mm/sun4u
+	@: > $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/frame.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/frame.h
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/mmu.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/mmu.h
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/page.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/page.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/page.h
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tlb.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tlb.h
+
+$(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h: ../shared/helenos/kernel/sparc64/include/mm/sun4u/tte.h $(PROJECT_INCLUDE)/arch/mm/sun4u/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/arch/mm/sun4u/tte.h
+
+$(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp):
+	@$(MKDIR_P) $(PROJECT_INCLUDE)/genarch/ofw
+	@: > $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
+PREINSTALL_DIRS += $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
+
+$(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h: ../shared/helenos/kernel/genarch/include/ofw/ofw_tree.h $(PROJECT_INCLUDE)/genarch/ofw/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/genarch/ofw/ofw_tree.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: ../shared/startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+
Index: c/src/lib/libbsp/sparc64/usiii/start/bspinit.S
===================================================================
--- c/src/lib/libbsp/sparc64/usiii/start/bspinit.S	(revision df970844195f6814e35f12ad5e585f4645c2f152)
+++ c/src/lib/libbsp/sparc64/usiii/start/bspinit.S	(revision df970844195f6814e35f12ad5e585f4645c2f152)
@@ -0,0 +1,51 @@
+/*
+* bspinit.S
+*
+* BSP specific initialization for Sparc64 RTEMS -- sun4u BSP
+*
+*  COPYRIGHT (c) 2010 Gedare Bloom.
+*
+*  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.
+* 
+*  This code defines start code specific to the sun4u BSP
+*
+*  $Id$
+*
+*/
+
+#include <rtems/asm.h>
+#include <rtems/score/cpu.h>
+
+#include <traptable.h>
+
+#define LSU_CR_IM_MASK  (0x0004)  /* bit 2 */
+#define LSU_CR_DM_MASK  (0x0008)  /* bit 3 */
+
+#define STACK_WINDOW_SAVE_AREA_SIZE (16*8)
+
+.register %g2, #scratch
+.register %g3, #scratch
+
+.section .text
+
+PUBLIC(_BSP_init)
+.global _BSP_init
+  SYM(_BSP_init):
+  save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp
+
+  /* copy firmware trap table so that RTEMS can install ISR handlers */
+  setx  SYM(trap_table), %l0, %o0
+  rdpr  %tba, %o1
+  set TABLE_SIZE, %o2
+  call memcpy
+  nop
+
+  mov %g0, %o0
+  call _take_mmu
+  nop
+
+  ret
+  restore
+
