Index: c/src/lib/libbsp/hppa1.1/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,14 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# Descend into the $(RTEMS_BSP) directory if it exists
+SUB_DIRS=$(wildcard $(RTEMS_BSP))
Index: c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/pxfl/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,49 @@
+#
+# Build the pixelflow bsp by cd'ing into another floss tree and
+#  building it there.
+#
+# NOTE: we also jump sideways in rtems tree and install test/support/include
+#       so that floss tests can use the rtems test structures
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+SRCS=$(srcdir)/floss-bsp.h
+
+# HACK alert
+# on a 'make -k' we don't want to bomb out of build
+EXIT_CMD=exit 1
+ifeq (k, $(findstring k, $(MAKEFLAGS)))
+EXIT_CMD=true
+endif
+
+
+all install::
+	@$(ECHO); $(ECHO)
+	@if [ ! -d $(FLOSS_ROOT) ]; \
+	then \
+	    $(ECHO) "*** ERROR FLOSS_ROOT ($(FLOSS_ROOT)) points to nonexistent directory"; \
+	    $(ECHO); $(ECHO); \
+	    $(EXIT_CMD); \
+	fi
+	@if [ -f $(FLOSS_ROOT)/PURE ]; \
+        then \
+	    $(ECHO) "*** Assuming $(FLOSS_HOME) up to date since ./PURE exists"; \
+	else \
+	    cmd="cd $(RTEMS_ROOT)/c/src/tests/support/include; $(MAKE) install"; \
+	    $(ECHO) $$cmd; \
+	    eval $$cmd || $(EXIT_CMD); \
+	    cmd="cd $(FLOSS_ROOT); $(MAKE) $@"; \
+	    $(ECHO) $$cmd; \
+	    eval $$cmd || $(EXIT_CMD); \
+	fi
+	@$(ECHO); $(ECHO)
+	$(INSTALL) -m 444 $(srcdir)/floss-bsp.h $(PROJECT_RELEASE)/include/bsp.h
Index: c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,16 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/directory.cfg
+
+# wrapup is the one that actually builds and installs the library
+#  from the individual .rel files built in other directories
+# NOTE: we pick up HPPA clock and timer from libcpu/hppa
+SUB_DIRS=tools include startup tty shmsupp wrapup
Index: c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/bsp_specs	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,34 @@
+
+predefines:
+-D__embedded__ -Asystem(embedded)
+
+startfile: replace
+mrtems:
+pg: start.o%s
+{!pg:
+g: start.o%s
+{!g:
+p: start.o%s
+!p: start.o%s
+}}
+{!mrtems:
+pg: pgcrt0%O
+{!pg:
+g: gcrt0%O
+{!g:
+p: pcrt0%O
+!p: crt0%O
+}}}
+
+
+link: replace
+mrtems: -dc -dp -N -e start
+
+lib: replace
+mrtems: -( -lc -lrtemsall -lgcc -)
+
+
+libgcc: replace
+
+
+
Index: c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/include/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,40 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+H_PIECES = bsp coverhd
+H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
+
+RTEMS_H_PIECES = ttydrv
+RTEMS_H_FILES=$(RTEMS_H_PIECES:%=$(srcdir)/%.h)
+
+
+#
+#  Equate files are for including from assembly preprocessed by
+#  gm4 or gasp.  No examples are provided except for those for
+#  other CPUs.  The best way to generate them would be to
+#  provide a program which generates the constants used based
+#  on the C equivalents.
+#
+#  If you add equate files, don't forget to uncomment the install line
+#  below.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all:	$(SRCS)
+	$(INSTALL) -m 444 $(H_FILES) ${PROJECT_RELEASE}/include
+	$(INSTALL) -m 444 $(RTEMS_H_FILES) ${PROJECT_RELEASE}/include/rtems
Index: c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,54 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/shmsupp.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=addrconv getcfg intr lock mpisr
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES  +=
+CPPFLAGS +=
+CFLAGS   +=
+
+LD_PATHS  +=
+LD_LIBS   +=
+LDFLAGS   +=
+
+#
+# Add your list of files to delete here.  The config files
+#  already know how to delete some stuff, so you may want
+#  to just run 'make clean' first to see what gets missed.
+#  'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+	$(make-rel)
+
+all:	${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install:  all
+
Index: c/src/lib/libbsp/hppa1.1/simhppa/start/start.s
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/start/start.s	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/start/start.s	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,169 @@
+/*
+ * crt0.S -- startup file for hppa on RTEMS
+ *
+ *  $Id$
+ */
+
+	.COPYRIGHT "crt0.S for hppa"
+
+	.DATA
+
+_progname  	.STRINGZ "simhppa"
+_crt0_argv      .WORD    _progname, 0
+
+/* 
+ * Set up the standard spaces (sections) These definitions come
+ * from /lib/pcc_prefix.s.
+ */
+	.TEXT
+	
+/*
+ * stuff we need that is defined elsewhere.
+ */
+	.IMPORT main, CODE
+	.IMPORT _bss_start, DATA
+	.IMPORT _bss_end, DATA
+	.IMPORT environ, DATA
+
+/*
+ * start -- set things up so the application will run.
+ *
+ */
+        .PROC
+        .CALLINFO SAVE_SP, FRAME=48
+        .EXPORT $START$,ENTRY
+        .EXPORT start,ENTRY
+$START$
+start:
+
+/*
+ * Get a stack
+ */
+        
+	ldil 	L%crt_stack+48,%r30
+        ldo 	R%crt_stack+48(%r30),%r30
+
+/*
+ * we need to set %r27 (global data pointer) here
+ */
+
+	ldil 	L%$global$,%r27
+        ldo 	R%$global$(%r27),%r27
+
+/*
+ * zerobss -- zero out the bss section
+ * XXX We don't do this since simulator and boot rom will do this for us.
+ */
+#if 0
+	; load the start of bss
+	ldil 	L%_bss_start,%r4
+        ldo 	R%_bss_start(%r4),%r4
+
+	;  load the end of bss
+	ldil 	L%_bss_end,%r5
+        ldo 	R%_bss_end(%r5),%r5
+
+
+bssloop
+	addi	-1,%r5,%r5			; decrement _bss_end
+	stb	%r0,0(0,%r5)			; we do this by bytes for now even
+						; though it is slower, it is safer
+	combf,=	%r4,%r5, bssloop	
+	nop
+#endif
+    
+	ldi	1,%ret0
+
+/*
+ * Call the "main" routine from the application to get it going.
+ * We call it as main(1, argv, 0)
+ */
+
+        copy    %r0, %r24
+
+	ldil 	L%_crt0_argv,%r25
+        ldo 	R%_crt0_argv(%r25),%r25
+
+	bl	main,%r2
+        ldo     1(%r0), %r26
+
+        .PROCEND
+/*
+ * _exit -- Exit from the application. Normally we cause a user trap
+ * 	    to return to the ROM monitor for another run, but with
+ *	    this monitor we can not. Still, "C" wants this symbol, it
+ *	    should be here. Jumping to 0xF0000004 jumps back into the
+ *	    firmware, while writing a 5 to 0xFFFE0030 causes a reset.
+ */
+_exit_fallthru
+	.PROC
+	.CALLINFO
+	.ENTRY
+	
+	;; This just causes a breakpoint exception
+	break	0x0,0x0
+        bv,n    (%rp)
+	nop
+	.EXIT
+	.PROCEND
+
+/*
+ * _sr4export -- support for called functions. (mostly for GDB)
+ */
+	.EXPORT _sr4export, ENTRY
+_sr4export:
+	.PROC
+	.CALLINFO
+	.ENTRY
+
+	ble	0(%sr4,%r22)
+	copy	%r31,%rp
+	ldw	-18(%sr0,%sp),%rp
+	ldsid	(%sr0,%rp),%r1
+	mtsp	%r1,%sr0
+	be,n	0(%sr0,%rp)
+	nop
+	.EXIT
+	.PROCEND
+
+
+        .subspa $UNWIND_START$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=56
+        .export $UNWIND_START
+$UNWIND_START
+        .subspa $UNWIND$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=64
+        .subspa $UNWIND_END$,QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=72
+        .export $UNWIND_END
+$UNWIND_END
+        .subspa $RECOVER_START$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=73
+        .export $RECOVER_START
+$RECOVER_START
+        .subspa $RECOVER$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=80
+        .subspa $RECOVER_END$,QUAD=0,ALIGN=4,ACCESS=0x2c,SORT=88
+        .export $RECOVER_END
+$RECOVER_END
+
+/*
+ * Here we set up the standard date sub spaces.
+ *
+ * Set up some room for a stack. We just grab a chunk of memory.
+ * We also setup some space for the global variable space, which
+ * must be done using the reserved name "$global$" so "C" code
+ * can find it. The stack grows towards the higher addresses.
+ */
+
+        .subspa $DATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
+        .subspa $SHORTDATA$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=24
+        .subspa $GLOBAL$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
+        .export $global$
+$global$
+        .subspa $SHORTBSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=80,ZERO
+        .subspa $BSS$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
+
+        .subspa $STACK$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=88,ZERO
+
+        .export crt_stack
+crt_stack
+        .comm          0x1000
+
+        .end
+
Index: c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/startup/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,61 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/startup.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=bspclean bspstart sbrk setvec
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+CC_PIECES=rtems-ctor
+CC_FILES=$(CC_PIECES:%=%.cc)
+CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+# We install the RTEMS constructor as a separate .o
+# so it can be easily place correctly by the compiler config file.
+INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES  +=
+CPPFLAGS +=
+CFLAGS   +=
+
+LD_PATHS  +=
+LD_LIBS   +=
+LDFLAGS   +=
+
+#
+# Add your list of files to delete here.  The config files
+#  already know how to delete some stuff, so you may want
+#  to just run 'make clean' first to see what gets missed.
+#  'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+	$(make-rel)
+
+all:	${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM)
+	$(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
Index: c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c	(revision 634e746544cc226ef388880bb1d3ec0144ff29db)
+++ c/src/lib/libbsp/hppa1.1/simhppa/startup/bspstart.c	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -349,5 +349,5 @@
     Cpu_table.itimer_clicks_per_microsecond = 1;
 
-#ifdef 0
+#if 0
     /*
      * Commented by DIVISION INC.  External interrupt
Index: c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/tools/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,51 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+# we use host compiler here for genoffsets.  Hopefully it has same alignment!!
+USE_HOST_COMPILER=yes
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=print_dump
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+PGMS=${ARCH}/print_dump
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES  +=
+CPPFLAGS +=
+CFLAGS   +=
+
+LD_PATHS  +=
+LD_LIBS   +=
+LDFLAGS   +=
+
+#
+# Add your list of files to delete here.
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all:	${ARCH} $(SRCS) $(PGMS)
+	$(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
+
+# Install the program(s), appending _g or _p as appropriate.
+# for include files, just use $(INSTALL)
Index: c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/tty/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,54 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+PGM=${ARCH}/tty.rel
+
+# C source names, if any, go here -- minus the .c
+C_PIECES=tty
+C_FILES=$(C_PIECES:%=%.c)
+C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
+
+H_FILES=
+
+SRCS=$(C_FILES) $(H_FILES)
+OBJS=$(C_O_FILES)
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/leaf.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES  +=
+CPPFLAGS +=
+CFLAGS   +=
+
+LD_PATHS  +=
+LD_LIBS   +=
+LDFLAGS   +=
+
+#
+# Add your list of files to delete here.  The config files
+#  already know how to delete some stuff, so you may want
+#  to just run 'make clean' first to see what gets missed.
+#  'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+${PGM}: ${SRCS} ${OBJS}
+	$(make-rel)
+
+all:	${ARCH} $(SRCS) $(PGM)
+
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+install:  all
+
Index: c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in
===================================================================
--- c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
+++ c/src/lib/libbsp/hppa1.1/simhppa/wrapup/Makefile.in	(revision 475fb331ffebc42d0c6992ac725d63a33dd34f0f)
@@ -0,0 +1,53 @@
+#
+#  $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
+BSP_PIECES=startup tty shmsupp
+# pieces to pick up out of libcpu/hppa
+CPU_PIECES=clock milli timer
+GENERIC_PIECES=shmdr
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+     $(foreach piece, $(CPU_PIECES), \
+         ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
+     $(foreach piece, $(GENERIC_PIECES), \
+         ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_CUSTOM)
+include $(PROJECT_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES  +=
+CPPFLAGS +=
+CFLAGS   +=
+
+LD_PATHS  +=
+LD_LIBS   +=
+LDFLAGS   +=
+
+#
+# Add your list of files to delete here.  The config files
+#  already know how to delete some stuff, so you may want
+#  to just run 'make clean' first to see what gets missed.
+#  'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+	$(make-library)
+
+all:	${ARCH} $(SRCS) $(LIB)
+	$(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
