summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libcpu/ChangeLog13
-rw-r--r--c/src/lib/libcpu/hppa1.1/.cvsignore14
-rw-r--r--c/src/lib/libcpu/hppa1.1/ChangeLog114
-rw-r--r--c/src/lib/libcpu/hppa1.1/Makefile.am10
-rw-r--r--c/src/lib/libcpu/hppa1.1/clock/.cvsignore2
-rw-r--r--c/src/lib/libcpu/hppa1.1/clock/Makefile.am28
-rw-r--r--c/src/lib/libcpu/hppa1.1/clock/clock.c257
-rw-r--r--c/src/lib/libcpu/hppa1.1/configure.ac34
-rw-r--r--c/src/lib/libcpu/hppa1.1/include/.cvsignore2
-rw-r--r--c/src/lib/libcpu/hppa1.1/include/Makefile.am26
-rw-r--r--c/src/lib/libcpu/hppa1.1/include/runway.h37
-rw-r--r--c/src/lib/libcpu/hppa1.1/include/semaphore.h70
-rw-r--r--c/src/lib/libcpu/hppa1.1/milli/.cvsignore2
-rw-r--r--c/src/lib/libcpu/hppa1.1/milli/Makefile.am28
-rw-r--r--c/src/lib/libcpu/hppa1.1/milli/milli.S2019
-rw-r--r--c/src/lib/libcpu/hppa1.1/semaphore/.cvsignore2
-rw-r--r--c/src/lib/libcpu/hppa1.1/semaphore/Makefile.am28
-rw-r--r--c/src/lib/libcpu/hppa1.1/semaphore/semaphore.c302
-rw-r--r--c/src/lib/libcpu/hppa1.1/timer/.cvsignore2
-rw-r--r--c/src/lib/libcpu/hppa1.1/timer/Makefile.am28
-rw-r--r--c/src/lib/libcpu/hppa1.1/timer/timer.c62
21 files changed, 13 insertions, 3067 deletions
diff --git a/c/src/lib/libcpu/ChangeLog b/c/src/lib/libcpu/ChangeLog
index 990f167dc9..5834264a32 100644
--- a/c/src/lib/libcpu/ChangeLog
+++ b/c/src/lib/libcpu/ChangeLog
@@ -1,3 +1,16 @@
+2003-09-26 Joel Sherrill <joel@OARcorp.com>
+
+ * hppa1.1/.cvsignore, hppa1.1/ChangeLog, hppa1.1/Makefile.am,
+ hppa1.1/configure.ac, hppa1.1/clock/.cvsignore,
+ hppa1.1/clock/Makefile.am, hppa1.1/clock/clock.c,
+ hppa1.1/include/.cvsignore, hppa1.1/include/Makefile.am,
+ hppa1.1/include/runway.h, hppa1.1/include/semaphore.h,
+ hppa1.1/milli/.cvsignore, hppa1.1/milli/Makefile.am,
+ hppa1.1/milli/milli.S, hppa1.1/semaphore/.cvsignore,
+ hppa1.1/semaphore/Makefile.am, hppa1.1/semaphore/semaphore.c,
+ hppa1.1/timer/.cvsignore, hppa1.1/timer/Makefile.am,
+ hppa1.1/timer/timer.c: Removed.
+
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* shared/include/cache.h, shared/src/cache_aligned_malloc.c,
diff --git a/c/src/lib/libcpu/hppa1.1/.cvsignore b/c/src/lib/libcpu/hppa1.1/.cvsignore
deleted file mode 100644
index bfdfd995be..0000000000
--- a/c/src/lib/libcpu/hppa1.1/.cvsignore
+++ /dev/null
@@ -1,14 +0,0 @@
-aclocal.m4
-autom4te*.cache
-config.cache
-config.guess
-config.log
-config.status
-config.sub
-configure
-depcomp
-install-sh
-Makefile
-Makefile.in
-missing
-mkinstalldirs
diff --git a/c/src/lib/libcpu/hppa1.1/ChangeLog b/c/src/lib/libcpu/hppa1.1/ChangeLog
deleted file mode 100644
index be207b2848..0000000000
--- a/c/src/lib/libcpu/hppa1.1/ChangeLog
+++ /dev/null
@@ -1,114 +0,0 @@
-2003-09-04 Joel Sherrill <joel@OARcorp.com>
-
- * clock/clock.c, include/semaphore.h, semaphore/semaphore.c,
- timer/timer.c: URL for license changed.
-
-2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved aclocal/.
-
-2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved automake/.
- * clock/Makefile.am: Reflect having moved automake/.
- * include/Makefile.am: Reflect having moved automake/.
- * milli/Makefile.am: Reflect having moved automake/.
- * semaphore/Makefile.am: Reflect having moved automake/.
- * timer/Makefile.am: Reflect having moved automake/.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
-
-2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove AC_CONFIG_AUX_DIR.
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AC_PREREQ(2.57).
-
-2002-12-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: RTEMS_CHECK_CUSTOM_BSP.
- * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * milli/Makefile.am: Ditto.
- * semaphore/Makefile.am: Ditto.
- * timer/Makefile.am: Ditto.
-
-2002-12-16 Joel Sherrill <joel@OARcorp.com>
-
- * milli/milli.S: Per PR329, use GNU binutils assembler directives.
-
-2002-12-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove RTEMS_CHECK_BSP_CACHE.
-
-2002-12-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Add RTEMS_PROG_CCAS.
-
-2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Reformat.
- Add autom4te*cache.
- Remove autom4te.cache.
-
-2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Use .$(OBJEXT) instead of .o.
- * milli/Makefile.am: Use .$(OBJEXT) instead of .o.
- * semaphore/Makefile.am: Use .$(OBJEXT) instead of .o.
- * timer/Makefile.am: Use .$(OBJEXT) instead of .o.
-
-2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac:
- AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
- AM_INIT_AUTOMAKE([no-define foreign 1.6]).
- * clock/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * Makefile.am: Remove AUTOMAKE_OPTIONS.
- * include/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * milli/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * semaphore/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * timer/Makefile.am: Remove AUTOMAKE_OPTIONS.
-
-2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Add autom4te.cache for autoconf > 2.52.
- * configure.in: Remove.
- * configure.ac: New file, generated from configure.in by autoupdate.
-
-2001-09-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * include/Makefile.am: Use 'PREINSTALL_FILES ='.
-
-2001-02-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de:
-
- * include/Makefile.am: Apply include_*HEADERS instead of H_FILES.
-
-2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
-
-2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
-
-2000-10-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
- Switch to GNU canonicalization.
-
-2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am, milli/Makefile.am, semaphore/Makefile.am,
- timer/Makefile.am: Include compile.am
-
-2000-08-10 Joel Sherrill <joel@OARcorp.com>
-
- * ChangeLog: New file.
diff --git a/c/src/lib/libcpu/hppa1.1/Makefile.am b/c/src/lib/libcpu/hppa1.1/Makefile.am
deleted file mode 100644
index 263de6c0bf..0000000000
--- a/c/src/lib/libcpu/hppa1.1/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-##
-## $Id$
-##
-
-ACLOCAL_AMFLAGS = -I ../../../aclocal
-
-SUBDIRS = include milli clock timer semaphore
-
-include $(top_srcdir)/../../../automake/subdirs.am
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/clock/.cvsignore b/c/src/lib/libcpu/hppa1.1/clock/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/lib/libcpu/hppa1.1/clock/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/lib/libcpu/hppa1.1/clock/Makefile.am b/c/src/lib/libcpu/hppa1.1/clock/Makefile.am
deleted file mode 100644
index 8a8c4a8863..0000000000
--- a/c/src/lib/libcpu/hppa1.1/clock/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-##
-## $Id$
-##
-
-
-PGM = $(ARCH)/clock.rel
-
-C_FILES = clock.c
-
-clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../automake/compile.am
-include $(top_srcdir)/../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(clock_rel_OBJECTS)
- $(make-rel)
-
-all-local: $(ARCH) $(clock_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = clock.c
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/clock/clock.c b/c/src/lib/libcpu/hppa1.1/clock/clock.c
deleted file mode 100644
index 759aafd56f..0000000000
--- a/c/src/lib/libcpu/hppa1.1/clock/clock.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Clock
- *
- * This routine initializes the interval timer on the
- * PA-RISC CPU. The tick frequency is specified by the bsp.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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$
- */
-
-#include <rtems.h>
-#include <rtems/libio.h>
-
-/* should get this from bsp.h, but it is not installed yet */
-rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int);
-
-#include <stdlib.h> /* for atexit() */
-
-typedef unsigned long long hppa_click_count_t;
-
-/*
- * These are set by clock driver during its init
- */
-
-rtems_device_major_number rtems_clock_major = ~0;
-rtems_device_minor_number rtems_clock_minor;
-
-/*
- * CPU_HPPA_CLICKS_PER_TICK is either a #define or an rtems_unsigned32
- * allocated and set by bsp_start()
- */
-
-#ifndef CPU_HPPA_CLICKS_PER_TICK
-extern rtems_unsigned32 CPU_HPPA_CLICKS_PER_TICK;
-#endif
-
-volatile rtems_unsigned32 Clock_driver_ticks;
-rtems_unsigned32 Clock_isrs; /* ISRs until next tick */
-
-rtems_unsigned32 most_recent_itimer_value;
-
-rtems_unsigned64 Clock_clicks; /* running total of cycles */
-
-rtems_unsigned32 Clock_clicks_interrupt;
-
-void Clock_exit(void);
-
-void
-ReInstall_clock(rtems_isr_entry new_clock_isr)
-{
- rtems_unsigned32 isrlevel = 0;
-
- rtems_interrupt_disable(isrlevel);
- (void) set_vector(
- new_clock_isr,
- HPPA_INTERRUPT_EXTERNAL_INTERVAL_TIMER,
- 1
- );
- rtems_interrupt_enable(isrlevel);
-}
-
-/*
- * read itimer and update Clock_clicks as appropriate
- */
-
-rtems_unsigned32
-Clock_read_itimer()
-{
- rtems_unsigned32 isrlevel;
- rtems_unsigned32 itimer_value;
- rtems_unsigned32 wrap_count;
- rtems_unsigned32 recent_count;
-
- rtems_interrupt_disable(isrlevel);
-
- wrap_count = (Clock_clicks & 0xFFFFFFFF00000000ULL) >> 32;
- recent_count = (rtems_unsigned32) Clock_clicks;
-
- itimer_value = get_itimer();
-
- if (itimer_value < recent_count)
- wrap_count++;
- Clock_clicks = (((rtems_unsigned64) wrap_count) << 32) + itimer_value;
-
- rtems_interrupt_enable(isrlevel);
-
- return itimer_value;
-}
-
-
-void Install_clock(rtems_isr_entry clock_isr)
-{
- Clock_driver_ticks = 0;
- Clock_clicks_interrupt = 0;
- Clock_clicks = 0;
-
- Clock_isrs = rtems_configuration_get_milliseconds_per_tick();
-
- /*
- * initialize the interval here
- * First tick is set to right amount of time in the future
- * Future ticks will be incremented over last value set
- * in order to provide consistent clicks in the face of
- * interrupt overhead
- */
-
- Clock_clicks_interrupt = Clock_read_itimer() + CPU_HPPA_CLICKS_PER_TICK;
- set_itimer((rtems_unsigned32) Clock_clicks_interrupt);
-
- (void) set_vector(clock_isr, HPPA_INTERRUPT_EXTERNAL_INTERVAL_TIMER, 1);
- atexit(Clock_exit);
-}
-
-rtems_isr
-Clock_isr(rtems_vector_number vector)
-{
- rtems_unsigned32 clicks_til_next_interrupt;
- rtems_unsigned32 itimer_value;
-
- /*
- * setup for next interrupt; making sure the new value is reasonably
- * in the future.... in case we lost out on an interrupt somehow
- */
-
- itimer_value = Clock_read_itimer();
- Clock_clicks_interrupt += CPU_HPPA_CLICKS_PER_TICK;
-
- /*
- * how far away is next interrupt *really*
- * It may be a long time; this subtraction works even if
- * Clock_clicks_interrupt < Clock_clicks_low_order via
- * the miracle of unsigned math.
- */
- clicks_til_next_interrupt = Clock_clicks_interrupt - itimer_value;
-
- /*
- * If it is too soon then bump it up.
- * This should only happen if CPU_HPPA_CLICKS_PER_TICK is too small.
- * But setting it low is useful for debug, so...
- */
-
- if (clicks_til_next_interrupt < 400)
- {
- Clock_clicks_interrupt = itimer_value + 1000;
- /* XXX: count these! this should be rare */
- }
-
- /*
- * If it is too late, that means we missed the interrupt somehow.
- * Rather than wait 35-50s for a wrap, we just fudge it here.
- */
-
- if (clicks_til_next_interrupt > CPU_HPPA_CLICKS_PER_TICK)
- {
- Clock_clicks_interrupt = itimer_value + 1000;
- /* XXX: count these! this should never happen :-) */
- }
-
- set_itimer((rtems_unsigned32) Clock_clicks_interrupt);
-
- Clock_driver_ticks++;
-
- if (Clock_isrs == 1)
- {
- rtems_clock_tick();
- Clock_isrs = rtems_configuration_get_milliseconds_per_tick();
- if (Clock_isrs == 0)
- Clock_isrs = 1;
- }
- else
- Clock_isrs--;
-}
-
-/*
- * Called via atexit()
- * Remove the clock interrupt handler by setting handler to NULL
- */
-
-void
-Clock_exit(void)
-{
- (void) set_vector(0, HPPA_INTERRUPT_EXTERNAL_INTERVAL_TIMER, 1);
-}
-
-/*
- * spin delay for specified number of microseconds
- * used by RTEMS delay macro
- */
-
-void
-Clock_delay(rtems_unsigned32 microseconds)
-{
- rtems_unsigned64 future_time;
-
- (void) Clock_read_itimer();
- future_time = Clock_clicks +
- ((rtems_unsigned64) microseconds) *
- rtems_cpu_configuration_get_itimer_clicks_per_microsecond();
-
- for (;;)
- {
- (void) Clock_read_itimer();
- if (future_time <= Clock_clicks)
- break;
- }
-}
-
-rtems_device_driver Clock_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- Install_clock(Clock_isr);
-
- /*
- * make major/minor avail to others such as shared memory driver
- */
- rtems_clock_major = major;
- rtems_clock_minor = minor;
-
- return RTEMS_SUCCESSFUL;
-}
-
-rtems_device_driver Clock_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- 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(HPPA_INTERRUPT_EXTERNAL_INTERVAL_TIMER);
- }
- else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
- {
- ReInstall_clock(args->buffer);
- }
-
-done:
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libcpu/hppa1.1/configure.ac b/c/src/lib/libcpu/hppa1.1/configure.ac
deleted file mode 100644
index c443380094..0000000000
--- a/c/src/lib/libcpu/hppa1.1/configure.ac
+++ /dev/null
@@ -1,34 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-##
-## $Id$
-
-AC_PREREQ(2.57)
-AC_INIT([rtems-c-src-lib-libcpu-hppa1.1],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
-AC_CONFIG_SRCDIR([clock])
-RTEMS_TOP(../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-
-AM_INIT_AUTOMAKE([no-define foreign 1.7.2])
-AM_MAINTAINER_MODE
-
-RTEMS_ENABLE_BARE
-RTEMS_ENV_RTEMSBSP
-
-RTEMS_CHECK_CPU
-RTEMS_CANONICAL_HOST
-
-RTEMS_PROJECT_ROOT
-
-RTEMS_PROG_CC_FOR_TARGET
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile
-clock/Makefile
-include/Makefile
-milli/Makefile
-semaphore/Makefile
-timer/Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libcpu/hppa1.1/include/.cvsignore b/c/src/lib/libcpu/hppa1.1/include/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/lib/libcpu/hppa1.1/include/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/lib/libcpu/hppa1.1/include/Makefile.am b/c/src/lib/libcpu/hppa1.1/include/Makefile.am
deleted file mode 100644
index 1026716d4d..0000000000
--- a/c/src/lib/libcpu/hppa1.1/include/Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
-##
-## $Id$
-##
-
-
-include_hppa1_1dir = $(includedir)/hppa1.1
-
-include_hppa1_1_HEADERS = runway.h semaphore.h
-
-# NOTE: Unlike other CPUS, we install into a subdirectory to avoid
-# file name conflicts
-
-$(PROJECT_INCLUDE)/hppa1.1:
- $(mkinstalldirs) $@
-
-$(PROJECT_INCLUDE)/hppa1.1/%.h: %.h
- $(INSTALL_DATA) $< $@
-
-PREINSTALL_FILES = $(PROJECT_INCLUDE)/hppa1.1 \
- $(include_hppa1_1_HEADERS:%=$(PROJECT_INCLUDE)/hppa1.1/%)
-
-all-local: $(TMPINSTALL_FILES)
-
-EXTRA_DIST = runway.h semaphore.h
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/include/runway.h b/c/src/lib/libcpu/hppa1.1/include/runway.h
deleted file mode 100644
index 41aafe26ef..0000000000
--- a/c/src/lib/libcpu/hppa1.1/include/runway.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * File: $RCSfile$
- * Project: PixelFlow
- * Created: 94/11/29
- * RespEngr: tony bennett
- * Revision: $Revision$
- * Last Mod: $Date$
- *
- * Description:
- * definitions specific to the runway bus
- *
- * TODO:
- * Add lots more.
- *
- * $Id$
- */
-
-#ifndef _INCLUDE_RUNWAY_H
-#define _INCLUDE_RUNWAY_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define HPPA_RUNWAY_PROC_HPA_BASE ((void *) 0xFFFA0000)
-
-/* given a processor number, where is its HPA? */
-#define HPPA_RUNWAY_HPA(cpu) \
- ((rtems_unsigned32) (HPPA_RUNWAY_PROC_HPA_BASE + ((cpu) * 0x2000)))
-
-#define HPPA_RUNWAY_REG_IO_EIR_OFFSET 0x000
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! _INCLUDE_RUNWAY_H */
diff --git a/c/src/lib/libcpu/hppa1.1/include/semaphore.h b/c/src/lib/libcpu/hppa1.1/include/semaphore.h
deleted file mode 100644
index bb3fe5459c..0000000000
--- a/c/src/lib/libcpu/hppa1.1/include/semaphore.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Description:
- * HPPA fast spinlock semaphores based on LDCWX instruction.
- * These semaphores are not known to RTEMS.
- *
- * TODO:
- *
- * COPYRIGHT (c) 1994,95 by Division Incorporated
- *
- * 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 _INCLUDE_HPPA1_1_SEMAPHORE_H
-#define _INCLUDE_HPPA1_1_SEMAPHORE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This structure has hardware requirements.
- * LDCWX opcode requires 16byte alignment for the lock
- * 'lock' must be first member of structure.
- */
-
-#define SEM_ALIGN 16
-
-typedef volatile struct {
-
- rtems_unsigned32 lock __attribute__ ((aligned (SEM_ALIGN)));
-
- rtems_unsigned32 flags;
-
- void *owner_tcb; /* for debug/commentary only */
-
- rtems_unsigned32 user; /* for use by user */
-
-} hppa_semaphore_t;
-
-/*
- * Values for flags
- */
-
-#define HPPA_SEM_IN_USE 0x0001 /* semaphore owned by somebody */
-#define HPPA_SEM_NO_SPIN 0x0002 /* don't spin if unavailable */
-#define HPPA_SEM_INITIALLY_FREE 0x0004 /* init it to be free */
-
-/*
- * Caller specifiable flags
- */
-
-#define HPPA_SEM_CALLER_FLAGS (HPPA_SEM_NO_SPIN | HPPA_SEM_INITIALLY_FREE)
-
-void hppa_semaphore_pool_initialize(void *pool_base, int pool_size);
-
-rtems_unsigned32 hppa_semaphore_acquire(hppa_semaphore_t *sp, int flag);
-
-void hppa_semaphore_release(hppa_semaphore_t *sp);
-
-hppa_semaphore_t *hppa_semaphore_allocate(rtems_unsigned32 which, int flag);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ! _INCLUDE_SEMAPHORE_H */
diff --git a/c/src/lib/libcpu/hppa1.1/milli/.cvsignore b/c/src/lib/libcpu/hppa1.1/milli/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/lib/libcpu/hppa1.1/milli/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/lib/libcpu/hppa1.1/milli/Makefile.am b/c/src/lib/libcpu/hppa1.1/milli/Makefile.am
deleted file mode 100644
index b15cc5f916..0000000000
--- a/c/src/lib/libcpu/hppa1.1/milli/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-##
-## $Id$
-##
-
-
-PGM = $(ARCH)/milli.rel
-
-S_FILES = milli.S
-
-milli_rel_OBJECTS = $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../automake/compile.am
-include $(top_srcdir)/../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(milli_rel_OBJECTS)
- $(make-rel)
-
-all-local: $(ARCH) $(milli_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = milli.S
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/milli/milli.S b/c/src/lib/libcpu/hppa1.1/milli/milli.S
deleted file mode 100644
index fa80535da1..0000000000
--- a/c/src/lib/libcpu/hppa1.1/milli/milli.S
+++ /dev/null
@@ -1,2019 +0,0 @@
-;
-; (c) Copyright 1986 HEWLETT-PACKARD COMPANY
-;
-; To anyone who acknowledges that this file is provided "AS IS"
-; without any express or implied warranty:
-; permission to use, copy, modify, and distribute this file
-; for any purpose is hereby granted without fee, provided that
-; the above copyright notice and this notice appears in all
-; copies, and that the name of Hewlett-Packard Company not be
-; used in advertising or publicity pertaining to distribution
-; of the software without specific, written prior permission.
-; Hewlett-Packard Company makes no representations about the
-; suitability of this software for any purpose.
-;
-
-; Standard Hardware Register Definitions for Use with Assembler
-; version A.08.06
-; - fr16-31 added at Utah
-;
-; $Id$
-;
-;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-; Hardware General Registers
-r0: .equ 0
-
-r1: .equ 1
-
-r2: .equ 2
-
-r3: .equ 3
-
-r4: .equ 4
-
-r5: .equ 5
-
-r6: .equ 6
-
-r7: .equ 7
-
-r8: .equ 8
-
-r9: .equ 9
-
-r10: .equ 10
-
-r11: .equ 11
-
-r12: .equ 12
-
-r13: .equ 13
-
-r14: .equ 14
-
-r15: .equ 15
-
-r16: .equ 16
-
-r17: .equ 17
-
-r18: .equ 18
-
-r19: .equ 19
-
-r20: .equ 20
-
-r21: .equ 21
-
-r22: .equ 22
-
-r23: .equ 23
-
-r24: .equ 24
-
-r25: .equ 25
-
-r26: .equ 26
-
-r27: .equ 27
-
-r28: .equ 28
-
-r29: .equ 29
-
-r30: .equ 30
-
-r31: .equ 31
-
-; Hardware Space Registers
-sr0: .equ 0
-
-sr1: .equ 1
-
-sr2: .equ 2
-
-sr3: .equ 3
-
-sr4: .equ 4
-
-sr5: .equ 5
-
-sr6: .equ 6
-
-sr7: .equ 7
-
-; Hardware Floating Point Registers
-fr0: .equ 0
-
-fr1: .equ 1
-
-fr2: .equ 2
-
-fr3: .equ 3
-
-fr4: .equ 4
-
-fr5: .equ 5
-
-fr6: .equ 6
-
-fr7: .equ 7
-
-fr8: .equ 8
-
-fr9: .equ 9
-
-fr10: .equ 10
-
-fr11: .equ 11
-
-fr12: .equ 12
-
-fr13: .equ 13
-
-fr14: .equ 14
-
-fr15: .equ 15
-
-fr16: .equ 16
-
-fr17: .equ 17
-
-fr18: .equ 18
-
-fr19: .equ 19
-
-fr20: .equ 20
-
-fr21: .equ 21
-
-fr22: .equ 22
-
-fr23: .equ 23
-
-fr24: .equ 24
-
-fr25: .equ 25
-
-fr26: .equ 26
-
-fr27: .equ 27
-
-fr28: .equ 28
-
-fr29: .equ 29
-
-fr30: .equ 30
-
-fr31: .equ 31
-
-; Hardware Control Registers
-cr0: .equ 0
-
-rctr: .equ 0 ; Recovery Counter Register
-
-
-cr8: .equ 8 ; Protection ID 1
-
-pidr1: .equ 8
-
-
-cr9: .equ 9 ; Protection ID 2
-
-pidr2: .equ 9
-
-
-cr10: .equ 10
-
-ccr: .equ 10 ; Coprocessor Confiquration Register
-
-
-cr11: .equ 11
-
-sar: .equ 11 ; Shift Amount Register
-
-
-cr12: .equ 12
-
-pidr3: .equ 12 ; Protection ID 3
-
-
-cr13: .equ 13
-
-pidr4: .equ 13 ; Protection ID 4
-
-
-cr14: .equ 14
-
-iva: .equ 14 ; Interrupt Vector Address
-
-
-cr15: .equ 15
-
-eiem: .equ 15 ; External Interrupt Enable Mask
-
-
-cr16: .equ 16
-
-itmr: .equ 16 ; Interval Timer
-
-
-cr17: .equ 17
-
-pcsq: .equ 17 ; Program Counter Space queue
-
-
-cr18: .equ 18
-
-pcoq: .equ 18 ; Program Counter Offset queue
-
-
-cr19: .equ 19
-
-iir: .equ 19 ; Interruption Instruction Register
-
-
-cr20: .equ 20
-
-isr: .equ 20 ; Interruption Space Register
-
-
-cr21: .equ 21
-
-ior: .equ 21 ; Interruption Offset Register
-
-
-cr22: .equ 22
-
-ipsw: .equ 22 ; Interrpution Processor Status Word
-
-
-cr23: .equ 23
-
-eirr: .equ 23 ; External Interrupt Request
-
-
-cr24: .equ 24
-
-ppda: .equ 24 ; Physcial Page Directory Address
-
-tr0: .equ 24 ; Temporary register 0
-
-
-cr25: .equ 25
-
-hta: .equ 25 ; Hash Table Address
-
-tr1: .equ 25 ; Temporary register 1
-
-
-cr26: .equ 26
-
-tr2: .equ 26 ; Temporary register 2
-
-
-cr27: .equ 27
-
-tr3: .equ 27 ; Temporary register 3
-
-
-cr28: .equ 28
-
-tr4: .equ 28 ; Temporary register 4
-
-
-cr29: .equ 29
-
-tr5: .equ 29 ; Temporary register 5
-
-
-cr30: .equ 30
-
-tr6: .equ 30 ; Temporary register 6
-
-
-cr31: .equ 31
-
-tr7: .equ 31 ; Temporary register 7
-
-;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-; Procedure Call Convention ~
-; Register Definitions for Use with Assembler ~
-; version A.08.06
-;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-; Software Architecture General Registers
-rp: .equ r2 ; return pointer
-
-mrp: .equ r31 ; millicode return pointer
-
-ret0: .equ r28 ; return value
-
-ret1: .equ r29 ; return value (high part of double)
-
-sl: .equ r29 ; static link
-
-sp: .equ r30 ; stack pointer
-
-dp: .equ r27 ; data pointer
-
-arg0: .equ r26 ; argument
-
-arg1: .equ r25 ; argument or high part of double argument
-
-arg2: .equ r24 ; argument
-
-arg3: .equ r23 ; argument or high part of double argument
-
-;_____________________________________________________________________________
-; Software Architecture Space Registers
-; sr0 ; return link form BLE
-sret: .equ sr1 ; return value
-
-sarg: .equ sr1 ; argument
-
-; sr4 ; PC SPACE tracker
-; sr5 ; process private data
-;_____________________________________________________________________________
-; Software Architecture Pseudo Registers
-previous_sp: .equ 64 ; old stack pointer (locates previous frame)
-
-;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-; Standard space and subspace definitions. version A.08.06
-; These are generally suitable for programs on HP_UX and HPE.
-; Statements commented out are used when building such things as operating
-; system kernels.
-;;;;;;;;;;;;;;;;
-#if 0
- .SPACE $TEXT$, SPNUM=0,SORT=8
- .subspa $MILLICODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=8
- .subspa $LIT$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=16
- .subspa $CODE$, QUAD=0,ALIGN=8,ACCESS=0x2c,SORT=24
-#else
- .text
-#endif
-; Additional code subspaces should have ALIGN=8 for an interspace BV
-; and should have SORT=24.
-;
-; For an incomplete executable (program bound to shared libraries),
-; sort keys $GLOBAL$ -1 and $GLOBAL$ -2 are reserved for the $DLT$
-; and $PLT$ subspaces respectively.
-;;;;;;;;;;;;;;;
-#if 0
- .SPACE $PRIVATE$, SPNUM=1,PRIVATE,SORT=16
- .subspa $GLOBAL$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40
- .import $global$
- .subspa $DATA$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=16
- .subspa $BSS$, QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=82,ZERO
-
- .SPACE $TEXT$
-#else
- .text
-#endif
-#if 0
- .SUBSPA $MILLICODE$
-#endif
-
- .align 8
- .EXPORT $$remI,millicode
-; .IMPORT cerror
-$$remI:
- .PROC
- .CALLINFO millicode
- .ENTRY
- addit,= 0,arg1,r0
- add,>= r0,arg0,ret1
- sub r0,ret1,ret1
- sub r0,arg1,r1
- ds r0,r1,r0
- or r0,r0,r1
- add ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- ds r1,arg1,r1
- addc ret1,ret1,ret1
- movb,>=,n r1,ret1,remI300
- add,< arg1,r0,r0
- add,tr r1,arg1,ret1
- sub r1,arg1,ret1
-remI300: add,>= arg0,r0,r0
-
- sub r0,ret1,ret1
- bv r0(r31)
- nop
- .EXIT
- .PROCEND
-
-bit1: .equ 1
-
-bit30: .equ 30
-bit31: .equ 31
-
-len2: .equ 2
-
-len4: .equ 4
-
-
-$$dyncall:
- .proc
- .callinfo NO_CALLS
- .entry
- .export $$dyncall,MILLICODE
-
- bb,>=,n 22,bit30,noshlibs
-
- depi 0,bit31,len2,22
- ldw 4(22),19
- ldw 0(22),22
-noshlibs:
- ldsid (22),r1
- mtsp r1,sr0
- be 0(sr0,r22)
- stw rp,-24(sp)
- .exit
- .procend
-
-temp: .EQU r1
-
-retreg: .EQU ret1 ; r29
-
-
- .export $$divU,millicode
- .import $$divU_3,millicode
- .import $$divU_5,millicode
- .import $$divU_6,millicode
- .import $$divU_7,millicode
- .import $$divU_9,millicode
- .import $$divU_10,millicode
- .import $$divU_12,millicode
- .import $$divU_14,millicode
- .import $$divU_15,millicode
-$$divU:
- .proc
- .callinfo millicode
- .entry
-; The subtract is not nullified since it does no harm and can be used
-; by the two cases that branch back to "normal".
- comib,>= 15,arg1,special_divisor
- sub r0,arg1,temp ; clear carry, negate the divisor
- ds r0,temp,r0 ; set V-bit to 1
-normal:
- add arg0,arg0,retreg ; shift msb bit into carry
- ds r0,arg1,temp ; 1st divide step, if no carry
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 2nd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 3rd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 4th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 5th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 6th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 7th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 8th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 9th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 10th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 11th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 12th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 13th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 14th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 15th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 16th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 17th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 18th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 19th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 20th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 21st divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 22nd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 23rd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 24th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 25th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 26th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 27th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 28th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 29th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 30th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 31st divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 32nd divide step,
- bv 0(r31)
- addc retreg,retreg,retreg ; shift last retreg bit into retreg
-;_____________________________________________________________________________
-; handle the cases where divisor is a small constant or has high bit on
-special_divisor:
- comib,> 0,arg1,big_divisor
- nop
- blr arg1,r0
- nop
-zero_divisor: ; this label is here to provide external visibility
-
- addit,= 0,arg1,0 ; trap for zero dvr
- nop
- bv 0(r31) ; divisor == 1
- copy arg0,retreg
- bv 0(r31) ; divisor == 2
- extru arg0,30,31,retreg
- b,n $$divU_3 ; divisor == 3
- nop
- bv 0(r31) ; divisor == 4
- extru arg0,29,30,retreg
- b,n $$divU_5 ; divisor == 5
- nop
- b,n $$divU_6 ; divisor == 6
- nop
- b,n $$divU_7 ; divisor == 7
- nop
- bv 0(r31) ; divisor == 8
- extru arg0,28,29,retreg
- b,n $$divU_9 ; divisor == 9
- nop
- b,n $$divU_10 ; divisor == 10
- nop
- b normal ; divisor == 11
- ds r0,temp,r0 ; set V-bit to 1
- b,n $$divU_12 ; divisor == 12
- nop
- b normal ; divisor == 13
- ds r0,temp,r0 ; set V-bit to 1
- b,n $$divU_14 ; divisor == 14
- nop
- b,n $$divU_15 ; divisor == 15
- nop
-;_____________________________________________________________________________
-; Handle the case where the high bit is on in the divisor.
-; Compute: if( dividend>=divisor) quotient=1; else quotient=0;
-; Note: dividend>==divisor iff dividend-divisor does not borrow
-; and not borrow iff carry
-big_divisor:
- sub arg0,arg1,r0
- bv 0(r31)
- addc r0,r0,retreg
- .exit
- .procend
- .end
-
-t2: .EQU r1
-
-; x2 .EQU arg0 ; r26
-t1: .EQU arg1 ; r25
-
-; x1 .EQU ret1 ; r29
-;_____________________________________________________________________________
-
-$$divide_by_constant:
- .PROC
- .CALLINFO millicode
- .entry
-
-
- .export $$divide_by_constant,millicode
-; Provides a "nice" label for the code covered by the unwind descriptor
-; for things like gprof.
-
-
-
-
-
-
-
-
-
-$$divI_2:
- .EXPORT $$divI_2,MILLICODE
- COMCLR,>= arg0,0,0
- ADDI 1,arg0,arg0
- bv 0(r31)
- EXTRS arg0,30,31,ret1
-
-
-
-$$divI_4:
- .EXPORT $$divI_4,MILLICODE
- COMCLR,>= arg0,0,0
- ADDI 3,arg0,arg0
- bv 0(r31)
- EXTRS arg0,29,30,ret1
-
-
-
-$$divI_8:
- .EXPORT $$divI_8,MILLICODE
- COMCLR,>= arg0,0,0
- ADDI 7,arg0,arg0
- bv 0(r31)
- EXTRS arg0,28,29,ret1
-
-
-$$divI_16:
- .EXPORT $$divI_16,MILLICODE
- COMCLR,>= arg0,0,0
- ADDI 15,arg0,arg0
- bv 0(r31)
- EXTRS arg0,27,28,ret1
-
-
-
-
-
-
-
-
-
-
-
-$$divI_3:
- .EXPORT $$divI_3,MILLICODE
- COMB,<,N arg0,0,$neg3
-
- ADDI 1,arg0,arg0
- EXTRU arg0,1,2,ret1
- SH2ADD arg0,arg0,arg0
- B $pos
- ADDC ret1,0,ret1
-
-$neg3:
- SUBI 1,arg0,arg0
- EXTRU arg0,1,2,ret1
- SH2ADD arg0,arg0,arg0
- B $neg
- ADDC ret1,0,ret1
-
-$$divU_3:
- .EXPORT $$divU_3,MILLICODE
- ADDI 1,arg0,arg0
- ADDC 0,0,ret1
- SHD ret1,arg0,30,t1
- SH2ADD arg0,arg0,arg0
- B $pos
- ADDC ret1,t1,ret1
-
-
-
-$$divI_5:
- .EXPORT $$divI_5,MILLICODE
- COMB,<,N arg0,0,$neg5
- ADDI 3,arg0,t1
- SH1ADD arg0,t1,arg0
- B $pos
- ADDC 0,0,ret1
-
-$neg5:
- SUB 0,arg0,arg0
- ADDI 1,arg0,arg0
- SHD 0,arg0,31,ret1
- SH1ADD arg0,arg0,arg0
- B $neg
- ADDC ret1,0,ret1
-
-$$divU_5:
- .EXPORT $$divU_5,MILLICODE
- ADDI 1,arg0,arg0
- ADDC 0,0,ret1
- SHD ret1,arg0,31,t1
- SH1ADD arg0,arg0,arg0
- B $pos
- ADDC t1,ret1,ret1
-
-
-$$divI_6:
- .EXPORT $$divI_6,MILLICODE
- COMB,<,N arg0,0,$neg6
- EXTRU arg0,30,31,arg0
- ADDI 5,arg0,t1
- SH2ADD arg0,t1,arg0
- B $pos
- ADDC 0,0,ret1
-
-$neg6:
- SUBI 2,arg0,arg0
-
-
- EXTRU arg0,30,31,arg0
- SHD 0,arg0,30,ret1
- SH2ADD arg0,arg0,arg0
- B $neg
- ADDC ret1,0,ret1
-
-$$divU_6:
- .EXPORT $$divU_6,MILLICODE
- EXTRU arg0,30,31,arg0
- ADDI 1,arg0,arg0
- SHD 0,arg0,30,ret1
- SH2ADD arg0,arg0,arg0
- B $pos
- ADDC ret1,0,ret1
-
-
-$$divU_10:
- .EXPORT $$divU_10,MILLICODE
- EXTRU arg0,30,31,arg0
- ADDI 3,arg0,t1
- SH1ADD arg0,t1,arg0
- ADDC 0,0,ret1
-$pos:
- SHD ret1,arg0,28,t1
- SHD arg0,0,28,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-$pos_for_17:
- SHD ret1,arg0,24,t1
- SHD arg0,0,24,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-
- SHD ret1,arg0,16,t1
- SHD arg0,0,16,t2
- ADD arg0,t2,arg0
- bv 0(r31)
- ADDC ret1,t1,ret1
-
-$$divI_10:
- .EXPORT $$divI_10,MILLICODE
- COMB,< arg0,0,$neg10
- COPY 0,ret1
- EXTRU arg0,30,31,arg0
- ADDIB,TR 1,arg0,$pos
- SH1ADD arg0,arg0,arg0
-
-$neg10:
- SUBI 2,arg0,arg0
-
-
- EXTRU arg0,30,31,arg0
- SH1ADD arg0,arg0,arg0
-$neg:
- SHD ret1,arg0,28,t1
- SHD arg0,0,28,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-$neg_for_17:
- SHD ret1,arg0,24,t1
- SHD arg0,0,24,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-
- SHD ret1,arg0,16,t1
- SHD arg0,0,16,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
- bv 0(r31)
- SUB 0,ret1,ret1
-
-
-$$divI_12:
- .EXPORT $$divI_12,MILLICODE
- COMB,< arg0,0,$neg12
- COPY 0,ret1
- EXTRU arg0,29,30,arg0
- ADDIB,TR 1,arg0,$pos
- SH2ADD arg0,arg0,arg0
-
-$neg12:
- SUBI 4,arg0,arg0
-
-
- EXTRU arg0,29,30,arg0
- B $neg
- SH2ADD arg0,arg0,arg0
-
-$$divU_12:
- .EXPORT $$divU_12,MILLICODE
- EXTRU arg0,29,30,arg0
- ADDI 5,arg0,t1
- SH2ADD arg0,t1,arg0
- B $pos
- ADDC 0,0,ret1
-
-
-$$divI_15:
- .EXPORT $$divI_15,MILLICODE
- COMB,< arg0,0,$neg15
- COPY 0,ret1
- ADDIB,TR 1,arg0,$pos+4
- SHD ret1,arg0,28,t1
-
-$neg15:
- B $neg
- SUBI 1,arg0,arg0
-
-$$divU_15:
- .EXPORT $$divU_15,MILLICODE
- ADDI 1,arg0,arg0
- B $pos
- ADDC 0,0,ret1
-
-
-$$divI_17:
- .EXPORT $$divI_17,MILLICODE
- COMB,<,N arg0,0,$neg17
- ADDI 1,arg0,arg0
- SHD 0,arg0,28,t1
- SHD arg0,0,28,t2
- SUB t2,arg0,arg0
- B $pos_for_17
- SUBB t1,0,ret1
-
-$neg17:
- SUBI 1,arg0,arg0
- SHD 0,arg0,28,t1
- SHD arg0,0,28,t2
- SUB t2,arg0,arg0
- B $neg_for_17
- SUBB t1,0,ret1
-
-$$divU_17:
- .EXPORT $$divU_17,MILLICODE
- ADDI 1,arg0,arg0
- ADDC 0,0,ret1
- SHD ret1,arg0,28,t1
-$u17:
- SHD arg0,0,28,t2
- SUB t2,arg0,arg0
- B $pos_for_17
- SUBB t1,ret1,ret1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-$$divI_7:
- .EXPORT $$divI_7,MILLICODE
- COMB,<,N arg0,0,$neg7
-$7:
- ADDI 1,arg0,arg0
- SHD 0,arg0,29,ret1
- SH3ADD arg0,arg0,arg0
- ADDC ret1,0,ret1
-$pos7:
- SHD ret1,arg0,26,t1
- SHD arg0,0,26,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-
- SHD ret1,arg0,20,t1
- SHD arg0,0,20,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,t1
-
-
-
- COPY 0,ret1
- SHD,= t1,arg0,24,t1
-$1:
- ADDB,TR t1,ret1,$2
- EXTRU arg0,31,24,arg0
-
- bv,n 0(r31)
-
-$2:
- ADDB,TR t1,arg0,$1
- EXTRU,= arg0,7,8,t1
-
-$neg7:
- SUBI 1,arg0,arg0
-$8:
- SHD 0,arg0,29,ret1
- SH3ADD arg0,arg0,arg0
- ADDC ret1,0,ret1
-
-$neg7_shift:
- SHD ret1,arg0,26,t1
- SHD arg0,0,26,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,ret1
-
- SHD ret1,arg0,20,t1
- SHD arg0,0,20,t2
- ADD arg0,t2,arg0
- ADDC ret1,t1,t1
-
-
-
- COPY 0,ret1
- SHD,= t1,arg0,24,t1
-$3:
- ADDB,TR t1,ret1,$4
- EXTRU arg0,31,24,arg0
-
- bv 0(r31)
- SUB 0,ret1,ret1
-
-$4:
- ADDB,TR t1,arg0,$3
- EXTRU,= arg0,7,8,t1
-
-$$divU_7:
- .EXPORT $$divU_7,MILLICODE
- ADDI 1,arg0,arg0
- ADDC 0,0,ret1
- SHD ret1,arg0,29,t1
- SH3ADD arg0,arg0,arg0
- B $pos7
- ADDC t1,ret1,ret1
-
-
-$$divI_9:
- .EXPORT $$divI_9,MILLICODE
- COMB,<,N arg0,0,$neg9
- ADDI 1,arg0,arg0
- SHD 0,arg0,29,t1
- SHD arg0,0,29,t2
- SUB t2,arg0,arg0
- B $pos7
- SUBB t1,0,ret1
-
-$neg9:
- SUBI 1,arg0,arg0
- SHD 0,arg0,29,t1
- SHD arg0,0,29,t2
- SUB t2,arg0,arg0
- B $neg7_shift
- SUBB t1,0,ret1
-
-$$divU_9:
- .EXPORT $$divU_9,MILLICODE
- ADDI 1,arg0,arg0
- ADDC 0,0,ret1
- SHD ret1,arg0,29,t1
- SHD arg0,0,29,t2
- SUB t2,arg0,arg0
- B $pos7
- SUBB t1,ret1,ret1
-
-
-$$divI_14:
- .EXPORT $$divI_14,MILLICODE
- COMB,<,N arg0,0,$neg14
-$$divU_14:
- .EXPORT $$divU_14,MILLICODE
- B $7
- EXTRU arg0,30,31,arg0
-
-$neg14:
- SUBI 2,arg0,arg0
- B $8
- EXTRU arg0,30,31,arg0
-
- .exit
- .PROCEND
- .END
-
-rmndr: .EQU ret1 ; r29
-
-
- .export $$remU,millicode
-$$remU:
- .proc
- .callinfo millicode
- .entry
-
- comib,>=,n 0,arg1,special_case
- sub r0,arg1,rmndr ; clear carry, negate the divisor
- ds r0,rmndr,r0 ; set V-bit to 1
- add arg0,arg0,temp ; shift msb bit into carry
- ds r0,arg1,rmndr ; 1st divide step, if no carry
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 2nd divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 3rd divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 4th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 5th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 6th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 7th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 8th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 9th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 10th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 11th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 12th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 13th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 14th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 15th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 16th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 17th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 18th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 19th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 20th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 21st divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 22nd divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 23rd divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 24th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 25th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 26th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 27th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 28th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 29th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 30th divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 31st divide step
- addc temp,temp,temp ; shift temp with/into carry
- ds rmndr,arg1,rmndr ; 32nd divide step,
- comiclr,<= 0,rmndr,r0
- add rmndr,arg1,rmndr ; correction
-; .exit
- bv,n 0(r31)
- nop
-; Putting >= on the last DS and deleting COMICLR does not work!
-;_____________________________________________________________________________
-special_case:
- addit,= 0,arg1,r0 ; trap on div by zero
- sub,>>= arg0,arg1,rmndr
- copy arg0,rmndr
- bv,n 0(r31)
- nop
- .exit
- .procend
- .end
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-; Use bv 0(r31) and bv,n 0(r31) instead.
-; #define return bv 0(%mrp)
-; #define return_n bv,n 0(%mrp)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#if 0
- .subspa $MILLICODE$
-#else
- .text
-#endif
- .align 16
-$$mulI:
-
- .proc
- .callinfo millicode
- .entry
- .export $$mulI, millicode
- combt,<<= %r25,%r26,l4 ; swap args if unsigned %r25>%r26
- copy 0,%r29 ; zero out the result
- xor %r26,%r25,%r26 ; swap %r26 & %r25 using the
- xor %r26,%r25,%r25 ; old xor trick
- xor %r26,%r25,%r26
-l4: combt,<= 0,%r26,l3 ; if %r26>=0 then proceed like unsigned
-
- zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
- sub,> 0,%r25,%r1 ; otherwise negate both and
- combt,<=,n %r26,%r1,l2 ; swap back if |%r26|<|%r25|
- sub 0,%r26,%r25
- movb,tr,n %r1,%r26,l2 ; 10th inst.
-
-l0: add %r29,%r1,%r29 ; add in this partial product
-
-l1: zdep %r26,23,24,%r26 ; %r26 <<= 8 ******************
-
-l2: zdep %r25,30,8,%r1 ; %r1 = (%r25&0xff)<<1 *********
-
-l3: blr %r1,0 ; case on these 8 bits ******
-
- extru %r25,23,24,%r25 ; %r25 >>= 8 ******************
-
-;16 insts before this.
-; %r26 <<= 8 **************************
-x0: comb,<> %r25,0,l2 ! zdep %r26,23,24,%r26 ! bv,n 0(r31) ! nop
-
-x1: comb,<> %r25,0,l1 ! add %r29,%r26,%r29 ! bv,n 0(r31) ! nop
-
-x2: comb,<> %r25,0,l1 ! sh1add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
-
-x3: comb,<> %r25,0,l0 ! sh1add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
-
-x4: comb,<> %r25,0,l1 ! sh2add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
-
-x5: comb,<> %r25,0,l0 ! sh2add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
-
-x6: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x7: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r26,%r29,%r29 ! b,n ret_t0
-
-x8: comb,<> %r25,0,l1 ! sh3add %r26,%r29,%r29 ! bv,n 0(r31) ! nop
-
-x9: comb,<> %r25,0,l0 ! sh3add %r26,%r26,%r1 ! bv 0(r31) ! add %r29,%r1,%r29
-
-x10: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x11: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
-
-x12: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x13: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r29,%r29 ! b,n ret_t0
-
-x14: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x15: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r1,%r1 ! b,n ret_t0
-
-x16: zdep %r26,27,28,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
-
-x17: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r26,%r1,%r1 ! b,n ret_t0
-
-x18: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh1add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x19: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh1add %r1,%r26,%r1 ! b,n ret_t0
-
-x20: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x21: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
-
-x22: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x23: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x24: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x25: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
-
-x26: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x27: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r1,%r1 ! b,n ret_t0
-
-x28: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x29: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x30: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x31: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
-
-x32: zdep %r26,26,27,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
-
-x33: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
-
-x34: zdep %r26,27,28,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x35: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r26,%r1,%r1
-
-x36: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh2add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x37: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r26,%r1 ! b,n ret_t0
-
-x38: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x39: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x40: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x41: sh2add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
-
-x42: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x43: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x44: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x45: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! sh2add %r1,%r1,%r1 ! b,n ret_t0
-
-x46: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! add %r1,%r26,%r1
-
-x47: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
-
-x48: sh1add %r26,%r26,%r1 ! comb,<> %r25,0,l0 ! zdep %r1,27,28,%r1 ! b,n ret_t0
-
-x49: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r26,%r1,%r1
-
-x50: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x51: sh3add %r26,%r26,%r1 ! sh3add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x52: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x53: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x54: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x55: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x56: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x57: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x58: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x59: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
-
-x60: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x61: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x62: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x63: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
-
-x64: zdep %r26,25,26,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
-
-x65: sh3add %r26,0,%r1 ! comb,<> %r25,0,l0 ! sh3add %r1,%r26,%r1 ! b,n ret_t0
-
-x66: zdep %r26,26,27,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x67: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x68: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x69: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x70: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
-
-x71: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sub %r1,%r26,%r1
-
-x72: sh3add %r26,%r26,%r1 ! comb,<> %r25,0,l1 ! sh3add %r1,%r29,%r29 ! bv,n 0(r31)
-
-x73: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! add %r29,%r1,%r29
-
-x74: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x75: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x76: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x77: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x78: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x79: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
-
-x80: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
-
-x81: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! add %r29,%r1,%r29
-
-x82: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x83: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x84: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x85: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x86: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x87: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r26,%r1,%r1
-
-x88: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x89: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x90: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x91: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x92: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
-
-x93: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x94: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r26,%r1,%r1
-
-x95: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x96: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x97: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x98: zdep %r26,26,27,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh1add %r26,%r1,%r1
-
-x99: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x100: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x101: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x102: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x103: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r26,%r1
-
-x104: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x105: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x106: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x107: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh3add %r1,%r26,%r1
-
-x108: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x109: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x110: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x111: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x112: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! zdep %r1,27,28,%r1
-
-x113: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
-
-x114: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
-
-x115: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
-
-x116: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
-
-x117: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
-
-x118: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0a0 ! sh3add %r1,%r1,%r1
-
-x119: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
-
-x120: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x121: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x122: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x123: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x124: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x125: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x126: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x127: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
-
-x128: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l1 ! add %r29,%r1,%r29 ! bv,n 0(r31)
-
-x129: zdep %r26,24,25,%r1 ! comb,<> %r25,0,l0 ! add %r1,%r26,%r1 ! b,n ret_t0
-
-x130: zdep %r26,25,26,%r1 ! add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x131: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x132: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x133: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x134: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x135: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x136: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x137: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x138: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x139: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
-
-x140: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r1,%r1
-
-x141: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
-
-x142: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
-
-x143: zdep %r26,27,28,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
-
-x144: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x145: sh3add %r26,%r26,%r1 ! sh3add %r1,0,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x146: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x147: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x148: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x149: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x150: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x151: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
-
-x152: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x153: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x154: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x155: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x156: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
-
-x157: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
-
-x158: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sub %r1,%r26,%r1
-
-x159: zdep %r26,26,27,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
-
-x160: sh2add %r26,%r26,%r1 ! sh2add %r1,0,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x161: sh3add %r26,0,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x162: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x163: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r26,%r1
-
-x164: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x165: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x166: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x167: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
-
-x168: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x169: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x170: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x171: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
-
-x172: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
-
-x173: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! sh3add %r1,%r1,%r1
-
-x174: zdep %r26,26,27,%r1 ! sh1add %r26,%r1,%r1 ! b e_t04a0 ! sh2add %r1,%r1,%r1
-
-x175: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
-
-x176: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0 ! add %r1,%r26,%r1
-
-x177: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
-
-x178: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
-
-x179: sh2add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r26,%r1
-
-x180: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x181: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x182: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh1add %r1,%r26,%r1
-
-x183: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh1add %r1,%r26,%r1
-
-x184: sh2add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! add %r1,%r26,%r1
-
-x185: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x186: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
-
-x187: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
-
-x188: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r26,%r1,%r1
-
-x189: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r1,%r1
-
-x190: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
-
-x191: zdep %r26,25,26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sub %r1,%r26,%r1
-
-x192: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x193: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x194: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x195: sh3add %r26,0,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x196: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
-
-x197: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
-
-x198: zdep %r26,25,26,%r1 ! sh1add %r26,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x199: sh3add %r26,0,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
-
-x200: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x201: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x202: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x203: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r26,%r1
-
-x204: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
-
-x205: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x206: zdep %r26,25,26,%r1 ! sh2add %r26,%r1,%r1 ! b e_t02a0 ! sh1add %r1,%r1,%r1
-
-x207: sh3add %r26,0,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
-
-x208: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
-
-x209: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_8t0a0 ! add %r1,%r26,%r1
-
-x210: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
-
-x211: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
-
-x212: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
-
-x213: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_4t0a0 ! sh2add %r1,%r26,%r1
-
-x214: sh3add %r26,%r26,%r1 ! sh2add %r26,%r1,%r1 ! b e2t04a0 ! sh3add %r1,%r26,%r1
-
-x215: sh2add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
-
-x216: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x217: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x218: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r26,%r1
-
-x219: sh3add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x220: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0 ! sh1add %r1,%r26,%r1
-
-x221: sh1add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_4t0a0 ! sh1add %r1,%r26,%r1
-
-x222: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
-
-x223: sh3add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
-
-x224: sh3add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_8t0 ! add %r1,%r26,%r1
-
-x225: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0 ! sh2add %r1,%r1,%r1
-
-x226: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_t02a0 ! zdep %r1,26,27,%r1
-
-x227: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_t02a0 ! sh2add %r1,%r1,%r1
-
-x228: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0 ! sh1add %r1,%r1,%r1
-
-x229: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_4t0a0 ! sh1add %r1,%r1,%r1
-
-x230: sh3add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_5t0 ! add %r1,%r26,%r1
-
-x231: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_3t0 ! sh2add %r1,%r26,%r1
-
-x232: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0 ! sh2add %r1,%r26,%r1
-
-x233: sh1add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e_8t0a0 ! sh2add %r1,%r26,%r1
-
-x234: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0 ! sh3add %r1,%r1,%r1
-
-x235: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e_2t0a0 ! sh3add %r1,%r1,%r1
-
-x236: sh3add %r26,%r26,%r1 ! sh1add %r1,%r26,%r1 ! b e4t08a0 ! sh1add %r1,%r1,%r1
-
-x237: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_3t0 ! sub %r1,%r26,%r1
-
-x238: sh1add %r26,%r26,%r1 ! sh2add %r1,%r26,%r1 ! b e2t04a0 ! sh3add %r1,%r1,%r1
-
-x239: zdep %r26,27,28,%r1 ! sh2add %r1,%r1,%r1 ! b e_t0ma0 ! sh1add %r1,%r1,%r1
-
-x240: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0 ! sh1add %r1,%r1,%r1
-
-x241: sh3add %r26,%r26,%r1 ! add %r1,%r26,%r1 ! b e_8t0a0 ! sh1add %r1,%r1,%r1
-
-x242: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_2t0 ! sh3add %r1,%r26,%r1
-
-x243: sh3add %r26,%r26,%r1 ! sh3add %r1,%r1,%r1 ! b e_t0 ! sh1add %r1,%r1,%r1
-
-x244: sh2add %r26,%r26,%r1 ! sh1add %r1,%r1,%r1 ! b e_4t0 ! sh2add %r1,%r26,%r1
-
-x245: sh3add %r26,0,%r1 ! sh1add %r1,%r1,%r1 ! b e_5t0 ! sh1add %r1,%r26,%r1
-
-x246: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0 ! sh1add %r1,%r1,%r1
-
-x247: sh2add %r26,%r26,%r1 ! sh3add %r1,%r26,%r1 ! b e_2t0a0 ! sh1add %r1,%r1,%r1
-
-x248: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh3add %r1,%r29,%r29
-
-x249: zdep %r26,26,27,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh3add %r1,%r26,%r1
-
-x250: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0 ! sh2add %r1,%r1,%r1
-
-x251: sh2add %r26,%r26,%r1 ! sh2add %r1,%r1,%r1 ! b e_2t0a0 ! sh2add %r1,%r1,%r1
-
-x252: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh2add %r1,%r29,%r29
-
-x253: zdep %r26,25,26,%r1 ! sub %r1,%r26,%r1 ! b e_t0 ! sh2add %r1,%r26,%r1
-
-x254: zdep %r26,24,25,%r1 ! sub %r1,%r26,%r1 ! b e_shift ! sh1add %r1,%r29,%r29
-
-x255: zdep %r26,23,24,%r1 ! comb,<> %r25,0,l0 ! sub %r1,%r26,%r1 ! b,n ret_t0
-
-;1040 insts before this.
-ret_t0: bv 0(r31)
-
-e_t0: add %r29,%r1,%r29
-
-e_shift: comb,<> %r25,0,l2
-
- zdep %r26,23,24,%r26 ; %r26 <<= 8 ***********
- bv,n 0(r31)
-e_t0ma0: comb,<> %r25,0,l0
-
- sub %r1,%r26,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_t0a0: comb,<> %r25,0,l0
-
- add %r1,%r26,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_t02a0: comb,<> %r25,0,l0
-
- sh1add %r26,%r1,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_t04a0: comb,<> %r25,0,l0
-
- sh2add %r26,%r1,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_2t0: comb,<> %r25,0,l1
-
- sh1add %r1,%r29,%r29
- bv,n 0(r31)
-e_2t0a0: comb,<> %r25,0,l0
-
- sh1add %r1,%r26,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e2t04a0: sh1add %r26,%r1,%r1
-
- comb,<> %r25,0,l1
- sh1add %r1,%r29,%r29
- bv,n 0(r31)
-e_3t0: comb,<> %r25,0,l0
-
- sh1add %r1,%r1,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_4t0: comb,<> %r25,0,l1
-
- sh2add %r1,%r29,%r29
- bv,n 0(r31)
-e_4t0a0: comb,<> %r25,0,l0
-
- sh2add %r1,%r26,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e4t08a0: sh1add %r26,%r1,%r1
-
- comb,<> %r25,0,l1
- sh2add %r1,%r29,%r29
- bv,n 0(r31)
-e_5t0: comb,<> %r25,0,l0
-
- sh2add %r1,%r1,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-e_8t0: comb,<> %r25,0,l1
-
- sh3add %r1,%r29,%r29
- bv,n 0(r31)
-e_8t0a0: comb,<> %r25,0,l0
-
- sh3add %r1,%r26,%r1
- bv 0(r31)
- add %r29,%r1,%r29
-
- .exit
- .procend
- .end
-
- .import $$divI_2,millicode
- .import $$divI_3,millicode
- .import $$divI_4,millicode
- .import $$divI_5,millicode
- .import $$divI_6,millicode
- .import $$divI_7,millicode
- .import $$divI_8,millicode
- .import $$divI_9,millicode
- .import $$divI_10,millicode
- .import $$divI_12,millicode
- .import $$divI_14,millicode
- .import $$divI_15,millicode
- .export $$divI,millicode
- .export $$divoI,millicode
-$$divoI:
- .proc
- .callinfo millicode
- .entry
- comib,=,n -1,arg1,negative1 ; when divisor == -1
-$$divI:
- comib,>>=,n 15,arg1,small_divisor
- add,>= 0,arg0,retreg ; move dividend, if retreg < 0,
-normal1:
- sub 0,retreg,retreg ; make it positive
- sub 0,arg1,temp ; clear carry,
- ; negate the divisor
- ds 0,temp,0 ; set V-bit to the comple-
- ; ment of the divisor sign
- add retreg,retreg,retreg ; shift msb bit into carry
- ds r0,arg1,temp ; 1st divide step, if no carry
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 2nd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 3rd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 4th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 5th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 6th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 7th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 8th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 9th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 10th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 11th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 12th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 13th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 14th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 15th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 16th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 17th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 18th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 19th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 20th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 21st divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 22nd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 23rd divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 24th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 25th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 26th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 27th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 28th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 29th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 30th divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 31st divide step
- addc retreg,retreg,retreg ; shift retreg with/into carry
- ds temp,arg1,temp ; 32nd divide step,
- addc retreg,retreg,retreg ; shift last retreg bit into retreg
- xor,>= arg0,arg1,0 ; get correct sign of quotient
- sub 0,retreg,retreg ; based on operand signs
- bv,n 0(r31)
- nop
-;______________________________________________________________________
-small_divisor:
- blr,n arg1,r0
- nop
-; table for divisor == 0,1, ... ,15
- addit,= 0,arg1,r0 ; trap if divisor == 0
- nop
- bv 0(r31) ; divisor == 1
- copy arg0,retreg
- b,n $$divI_2 ; divisor == 2
- nop
- b,n $$divI_3 ; divisor == 3
- nop
- b,n $$divI_4 ; divisor == 4
- nop
- b,n $$divI_5 ; divisor == 5
- nop
- b,n $$divI_6 ; divisor == 6
- nop
- b,n $$divI_7 ; divisor == 7
- nop
- b,n $$divI_8 ; divisor == 8
- nop
- b,n $$divI_9 ; divisor == 9
- nop
- b,n $$divI_10 ; divisor == 10
- nop
- b normal1 ; divisor == 11
- add,>= 0,arg0,retreg
- b,n $$divI_12 ; divisor == 12
- nop
- b normal1 ; divisor == 13
- add,>= 0,arg0,retreg
- b,n $$divI_14 ; divisor == 14
- nop
- b,n $$divI_15 ; divisor == 15
- nop
-;______________________________________________________________________
-negative1:
- sub 0,arg0,retreg ; result is negation of dividend
- bv 0(r31)
- addo arg0,arg1,r0 ; trap iff dividend==0x80000000 && divisor==-1
- .exit
- .procend
-
-#if 0
- .subspa $LIT$
-#else
- .data
-#endif
-___hp_free_copyright:
- .export ___hp_free_copyright,data
- .align 4
- .string "(c) Copyright 1986 HEWLETT-PACKARD COMPANY\x0aTo anyone who acknowledges that this file is provided \"AS IS\"\x0awithout any express or implied warranty:\x0a permission to use, copy, modify, and distribute this file\x0afor any purpose is hereby granted without fee, provided that\x0athe above copyright notice and this notice appears in all\x0acopies, and that the name of Hewlett-Packard Company not be\x0aused in advertising or publicity pertaining to distribution\x0aof the software without specific, written prior permission.\x0aHewlett-Packard Company makes no representations about the\x0asuitability of this software for any purpose.\x0a\x00"
- .align 4
- .end
diff --git a/c/src/lib/libcpu/hppa1.1/semaphore/.cvsignore b/c/src/lib/libcpu/hppa1.1/semaphore/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/lib/libcpu/hppa1.1/semaphore/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.am b/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.am
deleted file mode 100644
index ffa29d8cc4..0000000000
--- a/c/src/lib/libcpu/hppa1.1/semaphore/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-##
-## $Id$
-##
-
-
-PGM = $(ARCH)/semaphore.rel
-
-C_FILES = semaphore.c
-
-semaphore_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../automake/compile.am
-include $(top_srcdir)/../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(semaphore_rel_OBJECTS)
- $(make-rel)
-
-all-local: $(ARCH) $(semaphore_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = semaphore.c
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/semaphore/semaphore.c b/c/src/lib/libcpu/hppa1.1/semaphore/semaphore.c
deleted file mode 100644
index fd5dc26b31..0000000000
--- a/c/src/lib/libcpu/hppa1.1/semaphore/semaphore.c
+++ /dev/null
@@ -1,302 +0,0 @@
-/*
- * Description:
- * HPPA fast spinlock semaphores based on LDCWX instruction.
- * These semaphores are not known to RTEMS.
- *
- * TODO:
- * Put node number in high 16 bits of flag??
- * XXX: Need h_s_deallocate
- *
- * COPYRIGHT (c) 1994 by Division Incorporated
- *
- * 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$
- */
-
-#include <rtems.h>
-
-#include <hppa1.1/semaphore.h>
-
-/*
- * Report fatal semaphore error
- */
-
-#define SEM_FATAL_ERROR(sp) rtems_fatal_error_occurred((rtems_unsigned32) sp)
-
-#define SEM_CHECK(sp) do { \
- if (((sp) == 0) || (int) (sp) & 0xf) \
- { \
- SEM_FATAL_ERROR(sp); \
- } \
- } while (0)
-
-/*
- * Init a semaphore to be free
- */
-
-#define SEM_FREE_INIT(sp) \
- do { \
- (sp)->lock = 1; \
- (sp)->flags = 0; \
- (sp)->owner_tcb = 0; \
- } while (0)
-
-/*
- * Grab a semaphore recording its owner.
- */
-
-#define SEM_MARK_GRABBED(sp) \
- do { \
- (sp)->owner_tcb = _Thread_Executing; \
- } while (0)
-
-/*
- * Mark the semaphore busy
- */
-
-#define SEM_MARK_BUSY(sp) ((sp)->flags |= HPPA_SEM_IN_USE)
-
-/*
- * Is a semaphore available?
- */
-
-#define SEM_IS_AVAILABLE(sp) ((sp)->owner_tcb == 0)
-
-/*
- * The pool control semaphore is the first in the pool
- */
-
-#define SEM_CONTROL (&hppa_semaphore_pool[0])
-#define SEM_FIRST (&hppa_semaphore_pool[1])
-
-#define SEM_PRIVATE(cookie) rtems_interrupt_disable(cookie)
-
-#define SEM_PUBLIC(cookie) rtems_interrupt_enable(cookie)
-
-
-/*
- * Control variables for the pool
- */
-
-hppa_semaphore_t *hppa_semaphore_pool; /* ptr to first */
-int hppa_semaphores;
-int hppa_semaphores_available;
-
-void
-hppa_semaphore_pool_initialize(void *pool_base,
- int pool_size)
-{
- hppa_semaphore_t *sp;
- int align_factor;
- rtems_unsigned32 isr_level;
-
- /*
- * round pool_base up to be a multiple of SEM_ALIGN
- */
-
- align_factor = SEM_ALIGN - (((int) pool_base) & (SEM_ALIGN-1));
- if (align_factor != SEM_ALIGN)
- {
- pool_base += align_factor;
- pool_size -= align_factor;
- }
-
- /*
- * How many can the pool hold?
- * Assumes the semaphores are SEM_ALIGN bytes each
- */
-
- if (sizeof(hppa_semaphore_t) != SEM_ALIGN)
- rtems_fatal_error_occurred(RTEMS_INVALID_SIZE);
-
- pool_size &= ~(SEM_ALIGN - 1);
-
- SEM_PRIVATE(isr_level);
-
- hppa_semaphore_pool = pool_base;
- hppa_semaphores = pool_size / SEM_ALIGN;
-
- /*
- * If we are node0, then init all in the pool
- */
-
-#if 0
- if (cpu_number == 0)
-#else
- if (_Configuration_Table->User_multiprocessing_table->node == 1)
-#endif
- {
- /*
- * Tell other cpus we are not done, jic
- */
- SEM_CONTROL->user = rtems_build_name('!', 'D', 'N', 'E');
-
- for (sp=SEM_FIRST; sp < &hppa_semaphore_pool[hppa_semaphores]; sp++)
- SEM_FREE_INIT(sp);
- SEM_FREE_INIT(SEM_CONTROL);
- }
-
- /*
- * Tell other cpus we are done, or wait for it to be done if on another cpu
- */
-
-#if 0
- if (cpu_number == 0)
-#else
- if (_Configuration_Table->User_multiprocessing_table->node == 1)
-#endif
- SEM_CONTROL->user = rtems_build_name('D', 'O', 'N', 'E');
- else
- while (SEM_CONTROL->user != rtems_build_name('D', 'O', 'N', 'E'))
- ;
-
- hppa_semaphores_available = hppa_semaphores;
-
- SEM_PUBLIC(isr_level);
-}
-
-/*
- * Function: hppa_semaphore_acquire
- * Created: 94/11/29
- * RespEngr: tony bennett
- *
- * Description:
- * Acquire a semaphore. Will spin on the semaphore unless
- * 'flag' says not to.
- *
- * Parameters:
- *
- *
- * Returns:
- * 0 -- if did not acquire
- * non-zero -- if acquired semaphore
- * (actually this is the spin count)
- *
- * Notes:
- * There is no requirement that the semaphore be within the pool
- *
- * Deficiencies/ToDo:
- *
- */
-
-
-rtems_unsigned32
-hppa_semaphore_acquire(hppa_semaphore_t *sp,
- int flag)
-{
- rtems_unsigned32 lock_value;
- rtems_unsigned32 spin_count = 1;
-
- SEM_CHECK(sp);
-
- for (;;)
- {
- HPPA_ASM_LDCWS(0, 0, sp, lock_value);
-
- if (lock_value) /* we now own the lock */
- {
- SEM_MARK_GRABBED(sp);
- return spin_count ? spin_count : ~0; /* jic */
- }
-
- if (flag & HPPA_SEM_NO_SPIN)
- return 0;
-
- spin_count++;
- }
-}
-
-void
-hppa_semaphore_release(hppa_semaphore_t *sp)
-{
- SEM_CHECK(sp);
-
- if (sp->owner_tcb != _Thread_Executing)
- SEM_FATAL_ERROR("owner mismatch");
-
- sp->lock = 1;
-}
-
-
-/*
- * Function: hppa_semaphore_allocate
- * Created: 94/11/29
- * RespEngr: tony bennett
- *
- * Description:
- * Get a pointer to a semaphore.
- *
- * Parameters:
- * which -- if 0, then allocate a free semaphore from the pool
- * if non-zero, then return pointer to that one, even
- * if it is already busy.
- *
- * Returns:
- * successful -- pointer to semaphore
- * NULL otherwise
- *
- * Notes:
- *
- *
- * Deficiencies/ToDo:
- *
- *
- */
-
-hppa_semaphore_t *
-hppa_semaphore_allocate(rtems_unsigned32 which,
- int flag)
-{
- hppa_semaphore_t *sp = 0;
-
- /*
- * grab the control semaphore
- */
-
- if (hppa_semaphore_acquire(SEM_CONTROL, 0) == 0)
- SEM_FATAL_ERROR("could not grab control semaphore");
-
- /*
- * Find a free one and init it
- */
-
- if (which)
- {
- if (which >= hppa_semaphores)
- SEM_FATAL_ERROR("requested non-existent semaphore");
- sp = &hppa_semaphore_pool[which];
-
- /*
- * if it is "free", then mark it claimed now.
- * If it is not free then we are done.
- */
-
- if (SEM_IS_AVAILABLE(sp))
- goto allmine;
- }
- else for (sp = SEM_FIRST;
- sp < &hppa_semaphore_pool[hppa_semaphores];
- sp++)
- {
- if (SEM_IS_AVAILABLE(sp))
- {
-allmine: SEM_FREE_INIT(sp);
- SEM_MARK_BUSY(sp);
- if ( ! (flag & HPPA_SEM_INITIALLY_FREE))
- SEM_MARK_GRABBED(sp);
- break;
- }
- }
-
- /*
- * Free up the control semaphore
- */
-
- hppa_semaphore_release(SEM_CONTROL);
-
- return sp;
-}
-
diff --git a/c/src/lib/libcpu/hppa1.1/timer/.cvsignore b/c/src/lib/libcpu/hppa1.1/timer/.cvsignore
deleted file mode 100644
index 282522db03..0000000000
--- a/c/src/lib/libcpu/hppa1.1/timer/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/c/src/lib/libcpu/hppa1.1/timer/Makefile.am b/c/src/lib/libcpu/hppa1.1/timer/Makefile.am
deleted file mode 100644
index 4babeaccf4..0000000000
--- a/c/src/lib/libcpu/hppa1.1/timer/Makefile.am
+++ /dev/null
@@ -1,28 +0,0 @@
-##
-## $Id$
-##
-
-
-PGM = $(ARCH)/timer.rel
-
-C_FILES = timer.c
-
-timer_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../automake/compile.am
-include $(top_srcdir)/../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(timer_rel_OBJECTS)
- $(make-rel)
-
-all-local: $(ARCH) $(timer_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = timer.c
-
-include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/hppa1.1/timer/timer.c b/c/src/lib/libcpu/hppa1.1/timer/timer.c
deleted file mode 100644
index 229123bfe4..0000000000
--- a/c/src/lib/libcpu/hppa1.1/timer/timer.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* timer.c
- *
- * This file manages the interval timer on the PA-RISC.
- *
- * NOTE: It is important that the timer start/stop overhead be
- * determined when porting or modifying this code.
- *
- * COPYRIGHT (c) 1989-1999.
- * 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$
- */
-
-#include <rtems.h>
-
-volatile rtems_unsigned32 Timer_starting;
-rtems_boolean Timer_driver_Find_average_overhead;
-
-void Timer_initialize()
-{
- Timer_starting = get_itimer();
- set_eiem(0x80000000);
-}
-
-#define AVG_OVERHEAD 0 /* It typically takes 3.0 microseconds */
- /* (6 countdowns) to start/stop the timer. */
-#define LEAST_VALID 1 /* Don't trust a value lower than this */
-
-int Read_timer()
-{
- rtems_unsigned32 clicks;
- rtems_unsigned32 total;
-
- clicks = get_itimer();
-
- total = clicks - Timer_starting;
-
- if ( Timer_driver_Find_average_overhead == 1 )
- return total; /* in XXX microsecond units */
-
- else {
- if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
- return (total - AVG_OVERHEAD);
- }
-}
-
-rtems_status_code Empty_function( void )
-{
- return RTEMS_SUCCESSFUL;
-}
-
-void Set_find_average_overhead(
- rtems_boolean find_flag
-)
-{
- Timer_driver_Find_average_overhead = find_flag;
-}