summaryrefslogtreecommitdiff
path: root/StdLib/Include/Arm
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/Include/Arm')
-rw-r--r--StdLib/Include/Arm/arm-gcc.h114
-rw-r--r--StdLib/Include/Arm/machine/_math.h18
-rw-r--r--StdLib/Include/Arm/machine/ansi.h106
-rw-r--r--StdLib/Include/Arm/machine/asm.h167
-rw-r--r--StdLib/Include/Arm/machine/atomic.h102
-rw-r--r--StdLib/Include/Arm/machine/bswap.h11
-rw-r--r--StdLib/Include/Arm/machine/byte_swap.h63
-rw-r--r--StdLib/Include/Arm/machine/cpufunc.h558
-rw-r--r--StdLib/Include/Arm/machine/endian.h3
-rw-r--r--StdLib/Include/Arm/machine/endian_machdep.h8
-rw-r--r--StdLib/Include/Arm/machine/fenv.h55
-rw-r--r--StdLib/Include/Arm/machine/float.h31
-rw-r--r--StdLib/Include/Arm/machine/frame.h123
-rw-r--r--StdLib/Include/Arm/machine/ieee.h13
-rw-r--r--StdLib/Include/Arm/machine/ieeefp.h58
-rw-r--r--StdLib/Include/Arm/machine/int_const.h63
-rw-r--r--StdLib/Include/Arm/machine/int_limits.h127
-rw-r--r--StdLib/Include/Arm/machine/int_mwgwtypes.h82
-rw-r--r--StdLib/Include/Arm/machine/int_types.h61
-rw-r--r--StdLib/Include/Arm/machine/limits.h95
-rw-r--r--StdLib/Include/Arm/machine/lock.h89
-rw-r--r--StdLib/Include/Arm/machine/math.h3
-rw-r--r--StdLib/Include/Arm/machine/mcontext.h114
-rw-r--r--StdLib/Include/Arm/machine/param.h137
-rw-r--r--StdLib/Include/Arm/machine/proc.h55
-rw-r--r--StdLib/Include/Arm/machine/signal.h22
-rw-r--r--StdLib/Include/Arm/machine/types.h82
-rw-r--r--StdLib/Include/Arm/milieu.h38
-rw-r--r--StdLib/Include/Arm/softfloat.h316
29 files changed, 0 insertions, 2714 deletions
diff --git a/StdLib/Include/Arm/arm-gcc.h b/StdLib/Include/Arm/arm-gcc.h
deleted file mode 100644
index 8cd4989998..0000000000
--- a/StdLib/Include/Arm/arm-gcc.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/** @file
-
- Copyright (c) 2014, ARM Limited. All rights reserved.
-
- This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-
-/* $NetBSD: arm-gcc.h,v 1.4 2013/01/26 07:08:14 matt Exp $ */
-
-/*
--------------------------------------------------------------------------------
-One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
--------------------------------------------------------------------------------
-*/
-#ifdef __ARMEB__
-#define BIGENDIAN
-#else
-#define LITTLEENDIAN
-#endif
-
-/*
--------------------------------------------------------------------------------
-The macro `BITS64' can be defined to indicate that 64-bit integer types are
-supported by the compiler.
--------------------------------------------------------------------------------
-*/
-#define BITS64
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines the most convenient type that holds
-integers of at least as many bits as specified. For example, `uint8' should
-be the most convenient type that can hold unsigned integers of as many as
-8 bits. The `flag' type must be able to hold either a 0 or 1. For most
-implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
-to the same as `int'.
--------------------------------------------------------------------------------
-*/
-typedef int flag;
-typedef int uint8;
-typedef int int8;
-typedef int uint16;
-typedef int int16;
-typedef unsigned int uint32;
-typedef signed int int32;
-#ifdef BITS64
-typedef unsigned long long int uint64;
-typedef signed long long int int64;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Each of the following `typedef's defines a type that holds integers
-of _exactly_ the number of bits specified. For instance, for most
-implementation of C, `bits16' and `sbits16' should be `typedef'ed to
-`unsigned short int' and `signed short int' (or `short int'), respectively.
--------------------------------------------------------------------------------
-*/
-typedef unsigned char bits8;
-typedef signed char sbits8;
-typedef unsigned short int bits16;
-typedef signed short int sbits16;
-typedef unsigned int bits32;
-typedef signed int sbits32;
-#ifdef BITS64
-typedef unsigned long long int bits64;
-typedef signed long long int sbits64;
-#endif
-
-#ifdef BITS64
-/*
--------------------------------------------------------------------------------
-The `LIT64' macro takes as its argument a textual integer literal and
-if necessary ``marks'' the literal as having a 64-bit integer type.
-For example, the GNU C Compiler (`gcc') requires that 64-bit literals be
-appended with the letters `LL' standing for `long long', which is `gcc's
-name for the 64-bit integer type. Some compilers may allow `LIT64' to be
-defined as the identity macro: `#define LIT64( a ) a'.
--------------------------------------------------------------------------------
-*/
-#define LIT64( a ) a##ULL
-#endif
-
-/*
--------------------------------------------------------------------------------
-The macro `INLINE' can be used before functions that should be inlined. If
-a compiler does not support explicit inlining, this macro should be defined
-to be `static'.
--------------------------------------------------------------------------------
-*/
-#define INLINE static inline
-
-/*
--------------------------------------------------------------------------------
-The ARM FPA is odd in that it stores doubles high-order word first, no matter
-what the endianness of the CPU. VFP is sane.
--------------------------------------------------------------------------------
-*/
-#if defined(SOFTFLOAT_FOR_GCC)
-#if defined(__VFP_FP__) || defined(__ARMEB__)
-#define FLOAT64_DEMANGLE(a) (a)
-#define FLOAT64_MANGLE(a) (a)
-#else
-#define FLOAT64_DEMANGLE(a) (((a) << 32) | ((a) >> 32))
-#define FLOAT64_MANGLE(a) FLOAT64_DEMANGLE(a)
-#endif
-#endif
diff --git a/StdLib/Include/Arm/machine/_math.h b/StdLib/Include/Arm/machine/_math.h
deleted file mode 100644
index 67cf98c30d..0000000000
--- a/StdLib/Include/Arm/machine/_math.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
-
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_MATH_H
-#define _MACHINE_MATH_H
-
-//#define __HUGE_VAL ???????????.?????????????
-
-#endif /* _MACHINE_MATH_H */
diff --git a/StdLib/Include/Arm/machine/ansi.h b/StdLib/Include/Arm/machine/ansi.h
deleted file mode 100644
index 8273905cd3..0000000000
--- a/StdLib/Include/Arm/machine/ansi.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/** @file
- Machine dependent ANSI type definitions.
-
- Copyright (c) 2010-2012, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94
- NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp
-**/
-#ifndef _ANSI_H_
-#define _ANSI_H_
-
-#include <sys/EfiCdefs.h>
-
-#include <machine/int_types.h>
-
-/*
- * Types which are fundamental to the implementation and may appear in
- * more than one standard header are defined here. Standard headers
- * then use:
- * #ifdef _BSD_SIZE_T_
- * typedef _BSD_SIZE_T_ size_t;
- * #undef _BSD_SIZE_T_
- * #endif
- */
-#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */
-#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */
-#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */
-#define _BSD_SSIZE_T_ INTN /* byte count or error */
-#define _BSD_TIME_T_ _EFI_TIME_T /* time() */
-#define _BSD_VA_LIST_ VA_LIST
-#define _BSD_CLOCKID_T_ INT64 /* clockid_t */
-#define _BSD_TIMER_T_ INT64 /* timer_t */
-#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */
-#define _BSD_USECONDS_T_ UINT64 /* useconds_t */
-
-/*
- * NOTE: rune_t is not covered by ANSI nor other standards, and should not
- * be instantiated outside of lib/libc/locale. use wchar_t.
- *
- * Runes (wchar_t) is declared to be an ``int'' instead of the more natural
- * ``unsigned long'' or ``long''. Two things are happening here. It is not
- * unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
- * it looks like 10646 will be a 31 bit standard. This means that if your
- * ints cannot hold 32 bits, you will be in trouble. The reason an int was
- * chosen over a long is that the is*() and to*() routines take ints (says
- * ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you
- * lose a bit of ANSI conformance, but your programs will still work.
- *
- * Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t
- * and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains
- * defined for ctype.h.
- */
-#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */
-#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */
-#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */
-#define _BSD_WCTYPE_T_ unsigned int /* wctype_t */
-
-/*
- * mbstate_t is an opaque object to keep conversion state, during multibyte
- * stream conversions. The content must not be referenced by user programs.
- */
-typedef struct {
- UINT32 A; // Np;
- UINT32 B; // U;
- UINT32 E; // L
- UINT8 C[4]; // n[4]
- UINT16 D[2]; // w[2]
-} __mbstate_t;
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
-
-#endif /* _ANSI_H_ */
diff --git a/StdLib/Include/Arm/machine/asm.h b/StdLib/Include/Arm/machine/asm.h
deleted file mode 100644
index b15698eb9f..0000000000
--- a/StdLib/Include/Arm/machine/asm.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/* $NetBSD: asm.h,v 1.8 2006/01/20 22:02:40 christos Exp $ */
-
-/*
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)asm.h 5.5 (Berkeley) 5/7/91
- */
-
-#ifndef _ARM32_ASM_H_
-#define _ARM32_ASM_H_
-
-#ifdef __ELF__
-# define _C_LABEL(x) x
-#else
-# ifdef __STDC__
-# define _C_LABEL(x) _ ## x
-# else
-# define _C_LABEL(x) _/**/x
-# endif
-#endif
-#define _ASM_LABEL(x) x
-
-#ifdef __STDC__
-# define __CONCAT(x,y) x ## y
-# define __STRING(x) #x
-#else
-# define __CONCAT(x,y) x/**/y
-# define __STRING(x) "x"
-#endif
-
-#ifndef _ALIGN_TEXT
-# define _ALIGN_TEXT .align 0
-#endif
-
-/*
- * gas/arm uses @ as a single comment character and thus cannot be used here
- * Instead it recognised the # instead of an @ symbols in .type directives
- * We define a couple of macros so that assembly code will not be dependant
- * on one or the other.
- */
-#define _ASM_TYPE_FUNCTION #function
-#define _ASM_TYPE_OBJECT #object
-#define _ENTRY(x) \
- .text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x:
-
-#ifdef GPROF
-# ifdef __ELF__
-# define _PROF_PROLOGUE \
- mov ip, lr; bl __mcount
-# else
-# define _PROF_PROLOGUE \
- mov ip,lr; bl mcount
-# endif
-#else
-# define _PROF_PROLOGUE
-#endif
-
-#define ENTRY(y) _ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
-#define ENTRY_NP(y) _ENTRY(_C_LABEL(y))
-#define ASENTRY(y) _ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
-#define ASENTRY_NP(y) _ENTRY(_ASM_LABEL(y))
-
-#define ASMSTR .asciz
-
-#if defined(__ELF__) && defined(PIC)
-#ifdef __STDC__
-#define PIC_SYM(x,y) x ## ( ## y ## )
-#else
-#define PIC_SYM(x,y) x/**/(/**/y/**/)
-#endif
-#else
-#define PIC_SYM(x,y) x
-#endif
-
-#ifdef __ELF__
-#define RCSID(x) .section ".ident"; .asciz x
-#else
-#define RCSID(x) .text; .asciz x
-#endif
-
-#ifdef __ELF__
-#define WEAK_ALIAS(alias,sym) \
- .weak alias; \
- alias = sym
-#endif
-
-/*
- * STRONG_ALIAS: create a strong alias.
- */
-#define STRONG_ALIAS(alias,sym) \
- .globl alias; \
- alias = sym
-
-#ifdef __STDC__
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg ## ,30,0,0,0 ; \
- .stabs __STRING(_C_LABEL(sym)) ## ,1,0,0,0
-#elif defined(__ELF__)
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(sym),1,0,0,0
-#else
-#define WARN_REFERENCES(sym,msg) \
- .stabs msg,30,0,0,0 ; \
- .stabs __STRING(_/**/sym),1,0,0,0
-#endif /* __STDC__ */
-
-#if defined (__ARM_ARCH_6__) || defined (__ARM_ARCH_6J__)
-#define _ARM_ARCH_6
-#endif
-
-#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5__) || \
- defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || \
- defined (__ARM_ARCH_5TEJ__)
-#define _ARM_ARCH_5
-#endif
-
-#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__)
-#define _ARM_ARCH_4T
-#endif
-
-
-#if defined (_ARM_ARCH_4T)
-# define RET bx lr
-# ifdef __STDC__
-# define RETc(c) bx##c lr
-# else
-# define RETc(c) bx/**/c lr
-# endif
-#else
-# define RET mov pc, lr
-# ifdef __STDC__
-# define RETc(c) mov##c pc, lr
-# else
-# define RETc(c) mov/**/c pc, lr
-# endif
-#endif
-
-#endif /* !_ARM_ASM_H_ */
diff --git a/StdLib/Include/Arm/machine/atomic.h b/StdLib/Include/Arm/machine/atomic.h
deleted file mode 100644
index ffd83c7375..0000000000
--- a/StdLib/Include/Arm/machine/atomic.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* $NetBSD: atomic.h,v 1.5 2005/12/28 19:09:29 perry Exp $ */
-
-/*
- * Copyright (C) 1994-1997 Mark Brinicombe
- * Copyright (C) 1994 Brini
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of Brini may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ARM_ATOMIC_H_
-#define _ARM_ATOMIC_H_
-
-#ifndef ATOMIC_SET_BIT_NONINLINE_REQUIRED
-
-#if defined(__PROG26) || defined(ATOMIC_SET_BIT_NOINLINE)
-#define ATOMIC_SET_BIT_NONINLINE_REQUIRED
-#endif
-
-#endif /* ATOMIC_SET_BIT_NONINLINE_REQUIRED */
-
-
-#ifndef _LOCORE
-
-#include <sys/types.h>
-#include <arm/armreg.h> /* I32_bit */
-
-#ifdef ATOMIC_SET_BIT_NONINLINE_REQUIRED
-void atomic_set_bit( u_int *, u_int );
-void atomic_clear_bit( u_int *, u_int );
-#endif
-
-#ifdef __PROG32
-#define __with_interrupts_disabled(expr) \
- do { \
- u_int cpsr_save, tmp; \
- \
- __asm volatile( \
- "mrs %0, cpsr;" \
- "orr %1, %0, %2;" \
- "msr cpsr_all, %1;" \
- : "=r" (cpsr_save), "=r" (tmp) \
- : "I" (I32_bit) \
- : "cc" ); \
- (expr); \
- __asm volatile( \
- "msr cpsr_all, %0" \
- : /* no output */ \
- : "r" (cpsr_save) \
- : "cc" ); \
- } while(0)
-
-static __inline void
-inline_atomic_set_bit( u_int *address, u_int setmask )
-{
- __with_interrupts_disabled( *address |= setmask );
-}
-
-static __inline void
-inline_atomic_clear_bit( u_int *address, u_int clearmask )
-{
- __with_interrupts_disabled( *address &= ~clearmask );
-}
-
-#if !defined(ATOMIC_SET_BIT_NOINLINE)
-
-#define atomic_set_bit(a,m) inline_atomic_set_bit(a,m)
-#define atomic_clear_bit(a,m) inline_atomic_clear_bit(a,m)
-
-#endif
-
-#endif /* __PROG32 */
-
-#undef __with_interrupts_disabled
-
-#endif /* _LOCORE */
-#endif /* _ARM_ATOMIC_H_ */
diff --git a/StdLib/Include/Arm/machine/bswap.h b/StdLib/Include/Arm/machine/bswap.h
deleted file mode 100644
index b486b373f3..0000000000
--- a/StdLib/Include/Arm/machine/bswap.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* $NetBSD: bswap.h,v 1.4 2006/01/31 07:49:18 dsl Exp $ */
-
-#ifndef _MACHINE_BSWAP_H_
-#define _MACHINE_BSWAP_H_
-
-#include <machine/byte_swap.h>
-
-#define __BSWAP_RENAME
-#include <sys/bswap.h>
-
-#endif /* !_MACHINE_BSWAP_H_ */
diff --git a/StdLib/Include/Arm/machine/byte_swap.h b/StdLib/Include/Arm/machine/byte_swap.h
deleted file mode 100644
index 2a0264599f..0000000000
--- a/StdLib/Include/Arm/machine/byte_swap.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Charles M. Hannum, Neil A. Carson, and Jason R. Thorpe.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ARM_BYTE_SWAP_H_
-#define _ARM_BYTE_SWAP_H_
-
-#ifdef __GNUC__
-#include <sys/types.h>
-__BEGIN_DECLS
-
-#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable
-static __inline uint32_t
-__byte_swap_u32_variable(uint32_t v)
-{
- uint32_t t1;
-
- t1 = v ^ ((v << 16) | (v >> 16));
- t1 &= 0xff00ffffU;
- v = (v >> 8) | (v << 24);
- v ^= (t1 >> 8);
- return (v);
-}
-
-#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable
-static __inline uint16_t
-__byte_swap_u16_variable(uint16_t v)
-{
-
- v &= 0xffff;
- v = (v >> 8) | (v << 8);
- return (v);
-}
-
-__END_DECLS
-#endif
-
-#endif /* _ARM_BYTE_SWAP_H_ */
diff --git a/StdLib/Include/Arm/machine/cpufunc.h b/StdLib/Include/Arm/machine/cpufunc.h
deleted file mode 100644
index c94a30a9e7..0000000000
--- a/StdLib/Include/Arm/machine/cpufunc.h
+++ /dev/null
@@ -1,558 +0,0 @@
-/* $NetBSD: cpufunc.h,v 1.37.24.1 2007/02/21 18:36:02 snj Exp $ */
-
-/*
- * Copyright (c) 1997 Mark Brinicombe.
- * Copyright (c) 1997 Causality Limited
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Causality Limited.
- * 4. The name of Causality Limited may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY CAUSALITY LIMITED ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL CAUSALITY LIMITED BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * RiscBSD kernel project
- *
- * cpufunc.h
- *
- * Prototypes for cpu, mmu and tlb related functions.
- */
-
-#ifndef _ARM32_CPUFUNC_H_
-#define _ARM32_CPUFUNC_H_
-
-#ifdef _KERNEL
-
-#include <sys/types.h>
-#include <arm/cpuconf.h>
-
-struct cpu_functions {
-
- /* CPU functions */
-
- u_int (*cf_id) __P((void));
- void (*cf_cpwait) __P((void));
-
- /* MMU functions */
-
- u_int (*cf_control) __P((u_int, u_int));
- void (*cf_domains) __P((u_int));
- void (*cf_setttb) __P((u_int));
- u_int (*cf_faultstatus) __P((void));
- u_int (*cf_faultaddress) __P((void));
-
- /* TLB functions */
-
- void (*cf_tlb_flushID) __P((void));
- void (*cf_tlb_flushID_SE) __P((u_int));
- void (*cf_tlb_flushI) __P((void));
- void (*cf_tlb_flushI_SE) __P((u_int));
- void (*cf_tlb_flushD) __P((void));
- void (*cf_tlb_flushD_SE) __P((u_int));
-
- /*
- * Cache operations:
- *
- * We define the following primitives:
- *
- * icache_sync_all Synchronize I-cache
- * icache_sync_range Synchronize I-cache range
- *
- * dcache_wbinv_all Write-back and Invalidate D-cache
- * dcache_wbinv_range Write-back and Invalidate D-cache range
- * dcache_inv_range Invalidate D-cache range
- * dcache_wb_range Write-back D-cache range
- *
- * idcache_wbinv_all Write-back and Invalidate D-cache,
- * Invalidate I-cache
- * idcache_wbinv_range Write-back and Invalidate D-cache,
- * Invalidate I-cache range
- *
- * Note that the ARM term for "write-back" is "clean". We use
- * the term "write-back" since it's a more common way to describe
- * the operation.
- *
- * There are some rules that must be followed:
- *
- * I-cache Synch (all or range):
- * The goal is to synchronize the instruction stream,
- * so you may beed to write-back dirty D-cache blocks
- * first. If a range is requested, and you can't
- * synchronize just a range, you have to hit the whole
- * thing.
- *
- * D-cache Write-Back and Invalidate range:
- * If you can't WB-Inv a range, you must WB-Inv the
- * entire D-cache.
- *
- * D-cache Invalidate:
- * If you can't Inv the D-cache, you must Write-Back
- * and Invalidate. Code that uses this operation
- * MUST NOT assume that the D-cache will not be written
- * back to memory.
- *
- * D-cache Write-Back:
- * If you can't Write-back without doing an Inv,
- * that's fine. Then treat this as a WB-Inv.
- * Skipping the invalidate is merely an optimization.
- *
- * All operations:
- * Valid virtual addresses must be passed to each
- * cache operation.
- */
- void (*cf_icache_sync_all) __P((void));
- void (*cf_icache_sync_range) __P((vaddr_t, vsize_t));
-
- void (*cf_dcache_wbinv_all) __P((void));
- void (*cf_dcache_wbinv_range) __P((vaddr_t, vsize_t));
- void (*cf_dcache_inv_range) __P((vaddr_t, vsize_t));
- void (*cf_dcache_wb_range) __P((vaddr_t, vsize_t));
-
- void (*cf_idcache_wbinv_all) __P((void));
- void (*cf_idcache_wbinv_range) __P((vaddr_t, vsize_t));
-
- /* Other functions */
-
- void (*cf_flush_prefetchbuf) __P((void));
- void (*cf_drain_writebuf) __P((void));
- void (*cf_flush_brnchtgt_C) __P((void));
- void (*cf_flush_brnchtgt_E) __P((u_int));
-
- void (*cf_sleep) __P((int mode));
-
- /* Soft functions */
-
- int (*cf_dataabt_fixup) __P((void *));
- int (*cf_prefetchabt_fixup) __P((void *));
-
- void (*cf_context_switch) __P((void));
-
- void (*cf_setup) __P((char *));
-};
-
-extern struct cpu_functions cpufuncs;
-extern u_int cputype;
-
-#define cpu_id() cpufuncs.cf_id()
-#define cpu_cpwait() cpufuncs.cf_cpwait()
-
-#define cpu_control(c, e) cpufuncs.cf_control(c, e)
-#define cpu_domains(d) cpufuncs.cf_domains(d)
-#define cpu_setttb(t) cpufuncs.cf_setttb(t)
-#define cpu_faultstatus() cpufuncs.cf_faultstatus()
-#define cpu_faultaddress() cpufuncs.cf_faultaddress()
-
-#define cpu_tlb_flushID() cpufuncs.cf_tlb_flushID()
-#define cpu_tlb_flushID_SE(e) cpufuncs.cf_tlb_flushID_SE(e)
-#define cpu_tlb_flushI() cpufuncs.cf_tlb_flushI()
-#define cpu_tlb_flushI_SE(e) cpufuncs.cf_tlb_flushI_SE(e)
-#define cpu_tlb_flushD() cpufuncs.cf_tlb_flushD()
-#define cpu_tlb_flushD_SE(e) cpufuncs.cf_tlb_flushD_SE(e)
-
-#define cpu_icache_sync_all() cpufuncs.cf_icache_sync_all()
-#define cpu_icache_sync_range(a, s) cpufuncs.cf_icache_sync_range((a), (s))
-
-#define cpu_dcache_wbinv_all() cpufuncs.cf_dcache_wbinv_all()
-#define cpu_dcache_wbinv_range(a, s) cpufuncs.cf_dcache_wbinv_range((a), (s))
-#define cpu_dcache_inv_range(a, s) cpufuncs.cf_dcache_inv_range((a), (s))
-#define cpu_dcache_wb_range(a, s) cpufuncs.cf_dcache_wb_range((a), (s))
-
-#define cpu_idcache_wbinv_all() cpufuncs.cf_idcache_wbinv_all()
-#define cpu_idcache_wbinv_range(a, s) cpufuncs.cf_idcache_wbinv_range((a), (s))
-
-#define cpu_flush_prefetchbuf() cpufuncs.cf_flush_prefetchbuf()
-#define cpu_drain_writebuf() cpufuncs.cf_drain_writebuf()
-#define cpu_flush_brnchtgt_C() cpufuncs.cf_flush_brnchtgt_C()
-#define cpu_flush_brnchtgt_E(e) cpufuncs.cf_flush_brnchtgt_E(e)
-
-#define cpu_sleep(m) cpufuncs.cf_sleep(m)
-
-#define cpu_dataabt_fixup(a) cpufuncs.cf_dataabt_fixup(a)
-#define cpu_prefetchabt_fixup(a) cpufuncs.cf_prefetchabt_fixup(a)
-#define ABORT_FIXUP_OK 0 /* fixup succeeded */
-#define ABORT_FIXUP_FAILED 1 /* fixup failed */
-#define ABORT_FIXUP_RETURN 2 /* abort handler should return */
-
-#define cpu_setup(a) cpufuncs.cf_setup(a)
-
-int set_cpufuncs __P((void));
-#define ARCHITECTURE_NOT_PRESENT 1 /* known but not configured */
-#define ARCHITECTURE_NOT_SUPPORTED 2 /* not known */
-
-void cpufunc_nullop __P((void));
-int cpufunc_null_fixup __P((void *));
-int early_abort_fixup __P((void *));
-int late_abort_fixup __P((void *));
-u_int cpufunc_id __P((void));
-u_int cpufunc_control __P((u_int, u_int));
-void cpufunc_domains __P((u_int));
-u_int cpufunc_faultstatus __P((void));
-u_int cpufunc_faultaddress __P((void));
-
-#ifdef CPU_ARM3
-u_int arm3_control __P((u_int, u_int));
-void arm3_cache_flush __P((void));
-#endif /* CPU_ARM3 */
-
-#if defined(CPU_ARM6) || defined(CPU_ARM7)
-void arm67_setttb __P((u_int));
-void arm67_tlb_flush __P((void));
-void arm67_tlb_purge __P((u_int));
-void arm67_cache_flush __P((void));
-void arm67_context_switch __P((void));
-#endif /* CPU_ARM6 || CPU_ARM7 */
-
-#ifdef CPU_ARM6
-void arm6_setup __P((char *));
-#endif /* CPU_ARM6 */
-
-#ifdef CPU_ARM7
-void arm7_setup __P((char *));
-#endif /* CPU_ARM7 */
-
-#ifdef CPU_ARM7TDMI
-int arm7_dataabt_fixup __P((void *));
-void arm7tdmi_setup __P((char *));
-void arm7tdmi_setttb __P((u_int));
-void arm7tdmi_tlb_flushID __P((void));
-void arm7tdmi_tlb_flushID_SE __P((u_int));
-void arm7tdmi_cache_flushID __P((void));
-void arm7tdmi_context_switch __P((void));
-#endif /* CPU_ARM7TDMI */
-
-#ifdef CPU_ARM8
-void arm8_setttb __P((u_int));
-void arm8_tlb_flushID __P((void));
-void arm8_tlb_flushID_SE __P((u_int));
-void arm8_cache_flushID __P((void));
-void arm8_cache_flushID_E __P((u_int));
-void arm8_cache_cleanID __P((void));
-void arm8_cache_cleanID_E __P((u_int));
-void arm8_cache_purgeID __P((void));
-void arm8_cache_purgeID_E __P((u_int entry));
-
-void arm8_cache_syncI __P((void));
-void arm8_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void arm8_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void arm8_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void arm8_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void arm8_cache_syncI_rng __P((vaddr_t, vsize_t));
-
-void arm8_context_switch __P((void));
-
-void arm8_setup __P((char *));
-
-u_int arm8_clock_config __P((u_int, u_int));
-#endif
-
-#ifdef CPU_SA110
-void sa110_setup __P((char *));
-void sa110_context_switch __P((void));
-#endif /* CPU_SA110 */
-
-#if defined(CPU_SA1100) || defined(CPU_SA1110)
-void sa11x0_drain_readbuf __P((void));
-
-void sa11x0_context_switch __P((void));
-void sa11x0_cpu_sleep __P((int));
-
-void sa11x0_setup __P((char *));
-#endif
-
-#if defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110)
-void sa1_setttb __P((u_int));
-
-void sa1_tlb_flushID_SE __P((u_int));
-
-void sa1_cache_flushID __P((void));
-void sa1_cache_flushI __P((void));
-void sa1_cache_flushD __P((void));
-void sa1_cache_flushD_SE __P((u_int));
-
-void sa1_cache_cleanID __P((void));
-void sa1_cache_cleanD __P((void));
-void sa1_cache_cleanD_E __P((u_int));
-
-void sa1_cache_purgeID __P((void));
-void sa1_cache_purgeID_E __P((u_int));
-void sa1_cache_purgeD __P((void));
-void sa1_cache_purgeD_E __P((u_int));
-
-void sa1_cache_syncI __P((void));
-void sa1_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void sa1_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void sa1_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void sa1_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void sa1_cache_syncI_rng __P((vaddr_t, vsize_t));
-
-#endif
-
-#ifdef CPU_ARM9
-void arm9_setttb __P((u_int));
-
-void arm9_tlb_flushID_SE __P((u_int));
-
-void arm9_icache_sync_all __P((void));
-void arm9_icache_sync_range __P((vaddr_t, vsize_t));
-
-void arm9_dcache_wbinv_all __P((void));
-void arm9_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void arm9_dcache_inv_range __P((vaddr_t, vsize_t));
-void arm9_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void arm9_idcache_wbinv_all __P((void));
-void arm9_idcache_wbinv_range __P((vaddr_t, vsize_t));
-
-void arm9_context_switch __P((void));
-
-void arm9_setup __P((char *));
-
-extern unsigned arm9_dcache_sets_max;
-extern unsigned arm9_dcache_sets_inc;
-extern unsigned arm9_dcache_index_max;
-extern unsigned arm9_dcache_index_inc;
-#endif
-
-#if defined(CPU_ARM9E) || defined(CPU_ARM10)
-void arm10_tlb_flushID_SE __P((u_int));
-void arm10_tlb_flushI_SE __P((u_int));
-
-void arm10_context_switch __P((void));
-
-void arm10_setup __P((char *));
-#endif
-
-#ifdef CPU_ARM11
-void arm11_setttb __P((u_int));
-
-void arm11_tlb_flushID_SE __P((u_int));
-void arm11_tlb_flushI_SE __P((u_int));
-
-void arm11_context_switch __P((void));
-
-void arm11_setup __P((char *string));
-void arm11_tlb_flushID __P((void));
-void arm11_tlb_flushI __P((void));
-void arm11_tlb_flushD __P((void));
-void arm11_tlb_flushD_SE __P((u_int va));
-
-void arm11_drain_writebuf __P((void));
-#endif
-
-#if defined(CPU_ARM9E) || defined (CPU_ARM10)
-void armv5_ec_setttb __P((u_int));
-
-void armv5_ec_icache_sync_all __P((void));
-void armv5_ec_icache_sync_range __P((vaddr_t, vsize_t));
-
-void armv5_ec_dcache_wbinv_all __P((void));
-void armv5_ec_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void armv5_ec_dcache_inv_range __P((vaddr_t, vsize_t));
-void armv5_ec_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void armv5_ec_idcache_wbinv_all __P((void));
-void armv5_ec_idcache_wbinv_range __P((vaddr_t, vsize_t));
-#endif
-
-#if defined (CPU_ARM10) || defined (CPU_ARM11)
-void armv5_setttb __P((u_int));
-
-void armv5_icache_sync_all __P((void));
-void armv5_icache_sync_range __P((vaddr_t, vsize_t));
-
-void armv5_dcache_wbinv_all __P((void));
-void armv5_dcache_wbinv_range __P((vaddr_t, vsize_t));
-void armv5_dcache_inv_range __P((vaddr_t, vsize_t));
-void armv5_dcache_wb_range __P((vaddr_t, vsize_t));
-
-void armv5_idcache_wbinv_all __P((void));
-void armv5_idcache_wbinv_range __P((vaddr_t, vsize_t));
-
-extern unsigned armv5_dcache_sets_max;
-extern unsigned armv5_dcache_sets_inc;
-extern unsigned armv5_dcache_index_max;
-extern unsigned armv5_dcache_index_inc;
-#endif
-
-#if defined(CPU_ARM9) || defined(CPU_ARM9E) || defined(CPU_ARM10) || \
- defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \
- defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(__CPU_XSCALE_PXA2XX) || defined(CPU_XSCALE_IXP425)
-
-void armv4_tlb_flushID __P((void));
-void armv4_tlb_flushI __P((void));
-void armv4_tlb_flushD __P((void));
-void armv4_tlb_flushD_SE __P((u_int));
-
-void armv4_drain_writebuf __P((void));
-#endif
-
-#if defined(CPU_IXP12X0)
-void ixp12x0_drain_readbuf __P((void));
-void ixp12x0_context_switch __P((void));
-void ixp12x0_setup __P((char *));
-#endif
-
-#if defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
- defined(__CPU_XSCALE_PXA2XX) || defined(CPU_XSCALE_IXP425)
-void xscale_cpwait __P((void));
-
-void xscale_cpu_sleep __P((int));
-
-u_int xscale_control __P((u_int, u_int));
-
-void xscale_setttb __P((u_int));
-
-void xscale_tlb_flushID_SE __P((u_int));
-
-void xscale_cache_flushID __P((void));
-void xscale_cache_flushI __P((void));
-void xscale_cache_flushD __P((void));
-void xscale_cache_flushD_SE __P((u_int));
-
-void xscale_cache_cleanID __P((void));
-void xscale_cache_cleanD __P((void));
-void xscale_cache_cleanD_E __P((u_int));
-
-void xscale_cache_clean_minidata __P((void));
-
-void xscale_cache_purgeID __P((void));
-void xscale_cache_purgeID_E __P((u_int));
-void xscale_cache_purgeD __P((void));
-void xscale_cache_purgeD_E __P((u_int));
-
-void xscale_cache_syncI __P((void));
-void xscale_cache_cleanID_rng __P((vaddr_t, vsize_t));
-void xscale_cache_cleanD_rng __P((vaddr_t, vsize_t));
-void xscale_cache_purgeID_rng __P((vaddr_t, vsize_t));
-void xscale_cache_purgeD_rng __P((vaddr_t, vsize_t));
-void xscale_cache_syncI_rng __P((vaddr_t, vsize_t));
-void xscale_cache_flushD_rng __P((vaddr_t, vsize_t));
-
-void xscale_context_switch __P((void));
-
-void xscale_setup __P((char *));
-#endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || __CPU_XSCALE_PXA2XX || CPU_XSCALE_IXP425 */
-
-#define tlb_flush cpu_tlb_flushID
-#define setttb cpu_setttb
-#define drain_writebuf cpu_drain_writebuf
-
-/*
- * Macros for manipulating CPU interrupts
- */
-#ifdef __PROG32
-static __inline u_int32_t __set_cpsr_c(u_int bic, u_int eor) __attribute__((__unused__));
-
-static __inline u_int32_t
-__set_cpsr_c(u_int bic, u_int eor)
-{
- u_int32_t tmp, ret;
-
- __asm volatile(
- "mrs %0, cpsr\n" /* Get the CPSR */
- "bic %1, %0, %2\n" /* Clear bits */
- "eor %1, %1, %3\n" /* XOR bits */
- "msr cpsr_c, %1\n" /* Set the control field of CPSR */
- : "=&r" (ret), "=&r" (tmp)
- : "r" (bic), "r" (eor) : "memory");
-
- return ret;
-}
-
-#define disable_interrupts(mask) \
- (__set_cpsr_c((mask) & (I32_bit | F32_bit), \
- (mask) & (I32_bit | F32_bit)))
-
-#define enable_interrupts(mask) \
- (__set_cpsr_c((mask) & (I32_bit | F32_bit), 0))
-
-#define restore_interrupts(old_cpsr) \
- (__set_cpsr_c((I32_bit | F32_bit), (old_cpsr) & (I32_bit | F32_bit)))
-#else /* ! __PROG32 */
-#define disable_interrupts(mask) \
- (set_r15((mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE), \
- (mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)))
-
-#define enable_interrupts(mask) \
- (set_r15((mask) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE), 0))
-
-#define restore_interrupts(old_r15) \
- (set_r15((R15_IRQ_DISABLE | R15_FIQ_DISABLE), \
- (old_r15) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)))
-#endif /* __PROG32 */
-
-#ifdef __PROG32
-/* Functions to manipulate the CPSR. */
-u_int SetCPSR(u_int, u_int);
-u_int GetCPSR(void);
-#else
-/* Functions to manipulate the processor control bits in r15. */
-u_int set_r15(u_int, u_int);
-u_int get_r15(void);
-#endif /* __PROG32 */
-
-/*
- * Functions to manipulate cpu r13
- * (in arm/arm32/setstack.S)
- */
-
-void set_stackptr __P((u_int, u_int));
-u_int get_stackptr __P((u_int));
-
-/*
- * Miscellany
- */
-
-int get_pc_str_offset __P((void));
-
-/*
- * CPU functions from locore.S
- */
-
-void cpu_reset __P((void)) __attribute__((__noreturn__));
-
-/*
- * Cache info variables.
- */
-
-/* PRIMARY CACHE VARIABLES */
-extern int arm_picache_size;
-extern int arm_picache_line_size;
-extern int arm_picache_ways;
-
-extern int arm_pdcache_size; /* and unified */
-extern int arm_pdcache_line_size;
-extern int arm_pdcache_ways;
-
-extern int arm_pcache_type;
-extern int arm_pcache_unified;
-
-extern int arm_dcache_align;
-extern int arm_dcache_align_mask;
-
-#endif /* _KERNEL */
-#endif /* _ARM32_CPUFUNC_H_ */
-
-/* End of cpufunc.h */
diff --git a/StdLib/Include/Arm/machine/endian.h b/StdLib/Include/Arm/machine/endian.h
deleted file mode 100644
index bb53c0ba07..0000000000
--- a/StdLib/Include/Arm/machine/endian.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $ */
-
-#include <sys/endian.h>
diff --git a/StdLib/Include/Arm/machine/endian_machdep.h b/StdLib/Include/Arm/machine/endian_machdep.h
deleted file mode 100644
index abe2b406ed..0000000000
--- a/StdLib/Include/Arm/machine/endian_machdep.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* $NetBSD: endian_machdep.h,v 1.8 2006/01/30 21:52:38 dsl Exp $ */
-
-/* GCC predefines __ARMEB__ when building for big-endian ARM. */
-#ifdef __ARMEB__
-#define _BYTE_ORDER _BIG_ENDIAN
-#else
-#define _BYTE_ORDER _LITTLE_ENDIAN
-#endif
diff --git a/StdLib/Include/Arm/machine/fenv.h b/StdLib/Include/Arm/machine/fenv.h
deleted file mode 100644
index cdca48c094..0000000000
--- a/StdLib/Include/Arm/machine/fenv.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* $NetBSD: fenv.h,v 1.2 2014/01/29 00:22:09 matt Exp $ */
-/** @file
-*
-* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
-*
-* This program and the accompanying materials
-* are licensed and made available under the terms and conditions of the BSD License
-* which accompanies this distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
- /*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _ARM_FENV_H_
-#define _ARM_FENV_H_
-
-#ifdef __ARM_PCS_AAPCS64
-/* AArch64 split FPSCR into two registers FPCR and FPSR */
-typedef struct {
- unsigned int __fpcr;
- unsigned int __fpsr;
-} fenv_t;
-#else
-typedef int fenv_t; /* FPSCR */
-#endif
-typedef int fexcept_t;
-
-#define FE_INVALID 0x01 /* invalid operation exception */
-#define FE_DIVBYZERO 0x02 /* divide-by-zero exception */
-#define FE_OVERFLOW 0x04 /* overflow exception */
-#define FE_UNDERFLOW 0x08 /* underflow exception */
-#define FE_INEXACT 0x10 /* imprecise (loss of precision; "inexact") */
-
-#define FE_ALL_EXCEPT 0x1f
-
-#define FE_TONEAREST 0 /* round to nearest representable number */
-#define FE_UPWARD 1 /* round toward positive infinity */
-#define FE_DOWNWARD 2 /* round toward negative infinity */
-#define FE_TOWARDZERO 3 /* round to zero (truncate) */
-
-__BEGIN_DECLS
-
-/* Default floating-point environment */
-extern const fenv_t __fe_dfl_env;
-#define FE_DFL_ENV (&__fe_dfl_env)
-
-__END_DECLS
-
-#endif /* _ARM_FENV_H_ */
diff --git a/StdLib/Include/Arm/machine/float.h b/StdLib/Include/Arm/machine/float.h
deleted file mode 100644
index 4bd79b3a3d..0000000000
--- a/StdLib/Include/Arm/machine/float.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* $NetBSD: float.h,v 1.6 2005/12/11 12:16:47 christos Exp $ */
-
-#ifndef _ARM_FLOAT_H_
-#define _ARM_FLOAT_H_
-
-#ifndef __VFP_FP__
-#define LDBL_MANT_DIG 64
-#define LDBL_EPSILON 1.0842021724855044340E-19L
-#define LDBL_DIG 18
-#define LDBL_MIN_EXP (-16381)
-#define LDBL_MIN 1.6810515715560467531E-4932L
-#define LDBL_MIN_10_EXP (-4931)
-#define LDBL_MAX_EXP 16384
-#define LDBL_MAX 1.1897314953572317650E+4932L
-#define LDBL_MAX_10_EXP 4932
-#endif
-
-#include <sys/float_ieee754.h>
-
-#ifndef __VFP_FP__
-#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
- !defined(_XOPEN_SOURCE) || \
- ((__STDC_VERSION__ - 0) >= 199901L) || \
- ((_POSIX_C_SOURCE - 0) >= 200112L) || \
- ((_XOPEN_SOURCE - 0) >= 600) || \
- defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
-#define DECIMAL_DIG 21
-#endif /* !defined(_ANSI_SOURCE) && ... */
-#endif /* !__VFP_FP__ */
-
-#endif /* !_ARM_FLOAT_H_ */
diff --git a/StdLib/Include/Arm/machine/frame.h b/StdLib/Include/Arm/machine/frame.h
deleted file mode 100644
index 1037a9ff8d..0000000000
--- a/StdLib/Include/Arm/machine/frame.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* $NetBSD: frame.h,v 1.8 2005/12/11 12:16:47 christos Exp $ */
-
-/*
- * Copyright (c) 1994-1997 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by Brini.
- * 4. The name of the company nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * arm/frame.h - Stack frames structures common to arm26 and arm32
- */
-
-#ifndef _ARM_FRAME_H_
-#define _ARM_FRAME_H_
-
-#ifndef _LOCORE
-
-#include <sys/signal.h>
-#include <sys/sa.h>
-#include <sys/ucontext.h>
-
-/*
- * Trap frame. Pushed onto the kernel stack on a trap (synchronous exception).
- */
-
-typedef struct trapframe {
- register_t tf_spsr; /* Zero on arm26 */
- register_t tf_r0;
- register_t tf_r1;
- register_t tf_r2;
- register_t tf_r3;
- register_t tf_r4;
- register_t tf_r5;
- register_t tf_r6;
- register_t tf_r7;
- register_t tf_r8;
- register_t tf_r9;
- register_t tf_r10;
- register_t tf_r11;
- register_t tf_r12;
- register_t tf_usr_sp;
- register_t tf_usr_lr;
- register_t tf_svc_sp; /* Not used on arm26 */
- register_t tf_svc_lr; /* Not used on arm26 */
- register_t tf_pc;
-} trapframe_t;
-
-/* Register numbers */
-#define tf_r13 tf_usr_sp
-#define tf_r14 tf_usr_lr
-#define tf_r15 tf_pc
-
-/*
- * Signal frame. Pushed onto user stack before calling sigcode.
- */
-#ifdef COMPAT_16
-struct sigframe_sigcontext {
- struct sigcontext sf_sc;
-};
-#endif
-
-/* the pointers are use in the trampoline code to locate the ucontext */
-struct sigframe_siginfo {
- siginfo_t sf_si; /* actual saved siginfo */
- ucontext_t sf_uc; /* actual saved ucontext */
-};
-
-/*
- * Scheduler activations upcall frame. Pushed onto user stack before
- * calling an SA upcall.
- */
-
-struct saframe {
-#if 0 /* in registers on entry to upcall */
- int sa_type;
- struct sa_t ** sa_sas;
- int sa_events;
- int sa_interrupted;
-#endif
- void * sa_arg;
-};
-
-#ifdef _KERNEL
-__BEGIN_DECLS
-void sendsig_sigcontext(const ksiginfo_t *, const sigset_t *);
-void *getframe(struct lwp *, int, int *);
-__END_DECLS
-#define process_frame(l) ((l)->l_addr->u_pcb.pcb_tf)
-#endif
-
-#endif /* _LOCORE */
-
-#endif /* _ARM_FRAME_H_ */
-
-/* End of frame.h */
diff --git a/StdLib/Include/Arm/machine/ieee.h b/StdLib/Include/Arm/machine/ieee.h
deleted file mode 100644
index 5e6b4d9165..0000000000
--- a/StdLib/Include/Arm/machine/ieee.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* $NetBSD: ieee.h,v 1.9 2005/12/11 12:16:47 christos Exp $ */
-
-#include <sys/ieee754.h>
-
-/*
- * A NaN is a `signalling NaN' if its QUIETNAN bit is clear in its
- * high fraction; if the bit is set, it is a `quiet NaN'.
- */
-
-#if 0
-#define SNG_QUIETNAN (1 << 22)
-#define DBL_QUIETNAN (1 << 19)
-#endif
diff --git a/StdLib/Include/Arm/machine/ieeefp.h b/StdLib/Include/Arm/machine/ieeefp.h
deleted file mode 100644
index c3de5ef726..0000000000
--- a/StdLib/Include/Arm/machine/ieeefp.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $NetBSD: ieeefp.h,v 1.3 2013/04/23 05:42:23 matt Exp $ */
-/** @file
-*
-* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
-*
-* This program and the accompanying materials
-* are licensed and made available under the terms and conditions of the BSD License
-* which accompanies this distribution. The full text of the license may be found at
-* http://opensource.org/licenses/bsd-license.php
-*
-* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-*
-**/
-/*
- * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
- * Public domain.
- */
-
-#ifndef _ARM_IEEEFP_H_
-#define _ARM_IEEEFP_H_
-
-#include <LibConfig.h>
-#include <sys/featuretest.h>
-
-#if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
-
-//#include <arm/fenv.h>
-#include <machine/fenv.h>
-
-#if !defined(_ISOC99_SOURCE)
-
-/* Exception type (used by fpsetmask() et al.) */
-
-typedef int fp_except;
-
-/* Bit defines for fp_except */
-
-#define FP_X_INV FE_INVALID /* invalid operation exception */
-#define FP_X_DZ FE_DIVBYZERO /* divide-by-zero exception */
-#define FP_X_OFL FE_OVERFLOW /* overflow exception */
-#define FP_X_UFL FE_UNDERFLOW /* underflow exception */
-#define FP_X_IMP FE_INEXACT /* imprecise (prec. loss; "inexact") */
-
-/* Rounding modes */
-
-typedef enum {
- FP_RN=FE_TONEAREST, /* round to nearest representable number */
- FP_RP=FE_UPWARD, /* round toward positive infinity */
- FP_RM=FE_DOWNWARD, /* round toward negative infinity */
- FP_RZ=FE_TOWARDZERO /* round to zero (truncate) */
-} fp_rnd;
-
-#endif /* !_ISOC99_SOURCE */
-
-#endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
-
-#endif /* _ARM_IEEEFP_H_ */
diff --git a/StdLib/Include/Arm/machine/int_const.h b/StdLib/Include/Arm/machine/int_const.h
deleted file mode 100644
index f3a22f61c6..0000000000
--- a/StdLib/Include/Arm/machine/int_const.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* $NetBSD: int_const.h,v 1.1 2001/04/14 22:38:38 kleink Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ARM_INT_CONST_H_
-#define _ARM_INT_CONST_H_
-
-/*
- * 7.18.4 Macros for integer constants
- */
-
-/* 7.18.4.1 Macros for minimum-width integer constants */
-
-#define INT8_C(c) c
-#define INT16_C(c) c
-#define INT32_C(c) c
-#define INT64_C(c) c ## LL
-
-#define UINT8_C(c) c ## U
-#define UINT16_C(c) c ## U
-#define UINT32_C(c) c ## U
-#define UINT64_C(c) c ## ULL
-
-/* 7.18.4.2 Macros for greatest-width integer constants */
-
-#define INTMAX_C(c) c ## LL
-#define UINTMAX_C(c) c ## ULL
-
-#endif /* !_ARM_INT_CONST_H_ */
diff --git a/StdLib/Include/Arm/machine/int_limits.h b/StdLib/Include/Arm/machine/int_limits.h
deleted file mode 100644
index c15eb7feb0..0000000000
--- a/StdLib/Include/Arm/machine/int_limits.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/* $NetBSD: int_limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ARM_INT_LIMITS_H_
-#define _ARM_INT_LIMITS_H_
-
-/*
- * 7.18.2 Limits of specified-width integer types
- */
-
-/* 7.18.2.1 Limits of exact-width integer types */
-
-/* minimum values of exact-width signed integer types */
-#define INT8_MIN (-0x7f-1) /* int8_t */
-#define INT16_MIN (-0x7fff-1) /* int16_t */
-#define INT32_MIN (-0x7fffffff-1) /* int32_t */
-#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */
-
-/* maximum values of exact-width signed integer types */
-#define INT8_MAX 0x7f /* int8_t */
-#define INT16_MAX 0x7fff /* int16_t */
-#define INT32_MAX 0x7fffffff /* int32_t */
-#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */
-
-/* maximum values of exact-width unsigned integer types */
-#define UINT8_MAX 0xff /* uint8_t */
-#define UINT16_MAX 0xffff /* uint16_t */
-#define UINT32_MAX 0xffffffffU /* uint32_t */
-#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */
-
-/* 7.18.2.2 Limits of minimum-width integer types */
-
-/* minimum values of minimum-width signed integer types */
-#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */
-#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */
-#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */
-#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */
-
-/* maximum values of minimum-width signed integer types */
-#define INT_LEAST8_MAX 0x7f /* int_least8_t */
-#define INT_LEAST16_MAX 0x7fff /* int_least16_t */
-#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */
-#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */
-
-/* maximum values of minimum-width unsigned integer types */
-#define UINT_LEAST8_MAX 0xff /* uint_least8_t */
-#define UINT_LEAST16_MAX 0xffff /* uint_least16_t */
-#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */
-#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */
-
-/* 7.18.2.3 Limits of fastest minimum-width integer types */
-
-/* minimum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */
-#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */
-#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */
-#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */
-
-/* maximum values of fastest minimum-width signed integer types */
-#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */
-#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */
-#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */
-#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */
-
-/* maximum values of fastest minimum-width unsigned integer types */
-#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */
-#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */
-#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */
-#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */
-
-/* 7.18.2.4 Limits of integer types capable of holding object pointers */
-
-#define INTPTR_MIN (-0x7fffffffL-1) /* intptr_t */
-#define INTPTR_MAX 0x7fffffffL /* intptr_t */
-#define UINTPTR_MAX 0xffffffffUL /* uintptr_t */
-
-/* 7.18.2.5 Limits of greatest-width integer types */
-
-#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */
-#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */
-#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */
-
-
-/*
- * 7.18.3 Limits of other integer types
- */
-
-/* limits of ptrdiff_t */
-#define PTRDIFF_MIN (-0x7fffffffL-1) /* ptrdiff_t */
-#define PTRDIFF_MAX 0x7fffffffL /* ptrdiff_t */
-
-/* limits of sig_atomic_t */
-#define SIG_ATOMIC_MIN (-0x7fffffff-1) /* sig_atomic_t */
-#define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */
-
-/* limit of size_t */
-#define SIZE_MAX 0xffffffffUL /* size_t */
-
-#endif /* !_ARM_INT_LIMITS_H_ */
diff --git a/StdLib/Include/Arm/machine/int_mwgwtypes.h b/StdLib/Include/Arm/machine/int_mwgwtypes.h
deleted file mode 100644
index c9a49175c5..0000000000
--- a/StdLib/Include/Arm/machine/int_mwgwtypes.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/** @file
- Minimum and Greatest Width Integer types.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available under
- the terms and conditions of the BSD License that accompanies this distribution.
- The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Portions Copyright (c) 2001 The NetBSD Foundation, Inc.
- All rights reserved.
-
- This code is derived from software contributed to The NetBSD Foundation
- by Klaus Klein.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- This product includes software developed by the NetBSD
- Foundation, Inc. and its contributors.
- 4. Neither the name of The NetBSD Foundation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp
-**/
-#ifndef _ARM_INT_MWGWTYPES_H_
-#define _ARM_INT_MWGWTYPES_H_
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.2 Minimum-width integer types */
-
-typedef CHAR8 int_least8_t;
-typedef UINT8 uint_least8_t;
-typedef INT16 int_least16_t;
-typedef UINT16 uint_least16_t;
-typedef INT32 int_least32_t;
-typedef UINT32 uint_least32_t;
-typedef INT64 int_least64_t;
-typedef UINT64 uint_least64_t;
-
-/* 7.18.1.3 Fastest minimum-width integer types */
-typedef INT32 int_fast8_t;
-typedef UINT32 uint_fast8_t;
-typedef INT32 int_fast16_t;
-typedef UINT32 uint_fast16_t;
-typedef INT32 int_fast32_t;
-typedef UINT32 uint_fast32_t;
-typedef INT64 int_fast64_t;
-typedef UINT64 uint_fast64_t;
-
-/* 7.18.1.5 Greatest-width integer types */
-
-typedef INT64 intmax_t;
-typedef UINT64 uintmax_t;
-
-#endif /* !_ARM_INT_MWGWTYPES_H_ */
diff --git a/StdLib/Include/Arm/machine/int_types.h b/StdLib/Include/Arm/machine/int_types.h
deleted file mode 100644
index cebebe333a..0000000000
--- a/StdLib/Include/Arm/machine/int_types.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* $NetBSD: int_types.h,v 1.10 2005/12/24 20:07:10 perry Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)types.h 7.5 (Berkeley) 3/9/91
- */
-
-#ifndef _ARM_INT_TYPES_H_
-#define _ARM_INT_TYPES_H_
-
-#include <sys/EfiCdefs.h>
-
-/*
- * 7.18.1 Integer types
- */
-
-/* 7.18.1.1 Exact-width integer types */
-
-typedef INT8 __int8_t;
-typedef UINT8 __uint8_t;
-typedef INT16 __int16_t;
-typedef UINT16 __uint16_t;
-typedef INT32 __int32_t;
-typedef UINT32 __uint32_t;
-typedef INT64 __int64_t;
-typedef UINT64 __uint64_t;
-
-#define __BIT_TYPES_DEFINED__
-
-/* 7.18.1.4 Integer types capable of holding object pointers */
-
-typedef INTN __intptr_t;
-typedef UINTN __uintptr_t;
-
-#endif /* !_ARM_INT_TYPES_H_ */
diff --git a/StdLib/Include/Arm/machine/limits.h b/StdLib/Include/Arm/machine/limits.h
deleted file mode 100644
index 5caa9a18d7..0000000000
--- a/StdLib/Include/Arm/machine/limits.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/* $NetBSD: limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */
-
-/*
- * Copyright (c) 1988 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)limits.h 7.2 (Berkeley) 6/28/90
- */
-
-#ifndef _ARM32_LIMITS_H_
-#define _ARM32_LIMITS_H_
-
-#include <sys/featuretest.h>
-
-#define __CHAR_BIT 8 /* number of bits in a char */
-//#define __MB_LEN_MAX 32 /* no multibyte characters */
-
-#define __SCHAR_MIN (-0x7f-1) /* max value for a signed char */
-#define __SCHAR_MAX 0x7f /* min value for a signed char */
-
-#define __UCHAR_MAX 0xff /* max value for an unsigned char */
-#define __CHAR_MAX 0xff /* max value for a char */
-#define __CHAR_MIN 0 /* min value for a char */
-
-#define __USHRT_MAX 0xffff /* max value for an unsigned short */
-#define __SHRT_MAX 0x7fff /* max value for a short */
-#define __SHRT_MIN (-0x7fff-1) /* min value for a short */
-
-#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */
-#define __INT_MAX 0x7fffffff /* max value for an int */
-#define __INT_MIN (-0x7fffffff-1) /* min value for an int */
-
-#define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */
-#define __LONG_MAX 0x7fffffffL /* max value for a long */
-#define __LONG_MIN (-0x7fffffffL-1) /* min value for a long */
-
-#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
- defined(_NETBSD_SOURCE)
-#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */
-
-#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \
- defined(_NETBSD_SOURCE)
-#define __ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */
-#define __LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */
-#define __LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */
-#endif
-
-#if defined(_NETBSD_SOURCE)
-#define SIZE_T_MAX LONG_MAX /* max value for a size_t */
-
-#define UQUAD_MAX 0xffffffffffffffffLL /* max unsigned quad */
-#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */
-#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */
-
-#endif /* _NETBSD_SOURCE */
-#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */
-
-#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
-#define LONG_BIT 32
-#define WORD_BIT 32
-
-#define DBL_DIG 15
-#define DBL_MAX 1.7976931348623157E+308
-#define DBL_MIN 2.2250738585072014E-308
-
-//#define FLT_DIG 6
-//#define FLT_MAX 3.40282347E+38F
-//#define FLT_MIN 1.17549435E-38F
-#endif
-
-#endif /* _ARM32_LIMITS_H_ */
diff --git a/StdLib/Include/Arm/machine/lock.h b/StdLib/Include/Arm/machine/lock.h
deleted file mode 100644
index be11a470ab..0000000000
--- a/StdLib/Include/Arm/machine/lock.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* $NetBSD: lock.h,v 1.7 2005/12/28 19:09:29 perry Exp $ */
-
-/*-
- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Jason R. Thorpe.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * Machine-dependent spin lock operations.
- *
- * NOTE: The SWP insn used here is available only on ARM architecture
- * version 3 and later (as well as 2a). What we are going to do is
- * expect that the kernel will trap and emulate the insn. That will
- * be slow, but give us the atomicity that we need.
- */
-
-#ifndef _ARM_LOCK_H_
-#define _ARM_LOCK_H_
-
-static __inline int
-__swp(int __val, volatile int *__ptr)
-{
-
- __asm volatile("swp %0, %1, [%2]"
- : "=r" (__val) : "r" (__val), "r" (__ptr) : "memory");
- return __val;
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_lock_init(__cpu_simple_lock_t *alp)
-{
-
- *alp = __SIMPLELOCK_UNLOCKED;
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_lock(__cpu_simple_lock_t *alp)
-{
-
- while (__swp(__SIMPLELOCK_LOCKED, alp) != __SIMPLELOCK_UNLOCKED)
- continue;
-}
-
-static __inline int __attribute__((__unused__))
-__cpu_simple_lock_try(__cpu_simple_lock_t *alp)
-{
-
- return (__swp(__SIMPLELOCK_LOCKED, alp) == __SIMPLELOCK_UNLOCKED);
-}
-
-static __inline void __attribute__((__unused__))
-__cpu_simple_unlock(__cpu_simple_lock_t *alp)
-{
-
- *alp = __SIMPLELOCK_UNLOCKED;
-}
-
-#endif /* _ARM_LOCK_H_ */
diff --git a/StdLib/Include/Arm/machine/math.h b/StdLib/Include/Arm/machine/math.h
deleted file mode 100644
index 7eca11187b..0000000000
--- a/StdLib/Include/Arm/machine/math.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $NetBSD: math.h,v 1.2 2002/02/19 13:08:14 simonb Exp $ */
-
-#define __HAVE_NANF
diff --git a/StdLib/Include/Arm/machine/mcontext.h b/StdLib/Include/Arm/machine/mcontext.h
deleted file mode 100644
index 0f450c43c1..0000000000
--- a/StdLib/Include/Arm/machine/mcontext.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/* $NetBSD: mcontext.h,v 1.5 2005/12/11 12:16:47 christos Exp $ */
-
-/*-
- * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Klaus Klein and by Jason R. Thorpe of Wasabi Systems, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the NetBSD
- * Foundation, Inc. and its contributors.
- * 4. Neither the name of The NetBSD Foundation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ARM_MCONTEXT_H_
-#define _ARM_MCONTEXT_H_
-
-/*
- * General register state
- */
-#define _NGREG 17
-typedef unsigned int __greg_t;
-typedef __greg_t __gregset_t[_NGREG];
-
-#define _REG_R0 0
-#define _REG_R1 1
-#define _REG_R2 2
-#define _REG_R3 3
-#define _REG_R4 4
-#define _REG_R5 5
-#define _REG_R6 6
-#define _REG_R7 7
-#define _REG_R8 8
-#define _REG_R9 9
-#define _REG_R10 10
-#define _REG_R11 11
-#define _REG_R12 12
-#define _REG_R13 13
-#define _REG_R14 14
-#define _REG_R15 15
-#define _REG_CPSR 16
-/* Convenience synonyms */
-#define _REG_FP _REG_R11
-#define _REG_SP _REG_R13
-#define _REG_LR _REG_R14
-#define _REG_PC _REG_R15
-
-/*
- * Floating point register state
- */
-/* Note: the storage layout of this structure must be identical to ARMFPE! */
-typedef struct {
- unsigned int __fp_fpsr;
- struct {
- unsigned int __fp_exponent;
- unsigned int __fp_mantissa_hi;
- unsigned int __fp_mantissa_lo;
- } __fp_fr[8];
-} __fpregset_t;
-
-typedef struct {
- unsigned int __vfp_fpscr;
- unsigned int __vfp_fstmx[33];
- unsigned int __vfp_fpsid;
-} __vfpregset_t;
-
-typedef struct {
- __gregset_t __gregs;
- union {
- __fpregset_t __fpregs;
- __vfpregset_t __vfpregs;
- } __fpu;
-} mcontext_t;
-
-/* Machine-dependent uc_flags */
-#define _UC_ARM_VFP 0x00010000 /* FPU field is VFP */
-
-/* used by signal delivery to indicate status of signal stack */
-#define _UC_SETSTACK 0x00020000
-#define _UC_CLRSTACK 0x00040000
-
-#define _UC_MACHINE_PAD 3 /* Padding appended to ucontext_t */
-
-#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_SP])
-#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC])
-#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_R0])
-
-#define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc)
-
-#endif /* !_ARM_MCONTEXT_H_ */
diff --git a/StdLib/Include/Arm/machine/param.h b/StdLib/Include/Arm/machine/param.h
deleted file mode 100644
index ac76253038..0000000000
--- a/StdLib/Include/Arm/machine/param.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* $NetBSD: param.h,v 1.13 2010/05/06 19:10:26 joerg Exp $ */
-
-/*
- * Copyright (c) 1994,1995 Mark Brinicombe.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _ARM_PARAM_H_
-#define _ARM_PARAM_H_
-
-/*
- * Machine dependent constants for all ARM processors
- */
-
-/*
- * For KERNEL code:
- * MACHINE must be defined by the individual port. This is so that
- * uname returns the correct thing, etc.
- *
- * MACHINE_ARCH may be defined by individual ports as a temporary
- * measure while we're finishing the conversion to ELF.
- *
- * For non-KERNEL code:
- * If ELF, MACHINE and MACHINE_ARCH are forced to "arm/armeb".
- */
-
-#if defined(_KERNEL)
-#ifndef MACHINE_ARCH /* XXX For now */
-#ifndef __ARMEB__
-#define _MACHINE_ARCH arm
-#define MACHINE_ARCH "arm"
-#else
-#define _MACHINE_ARCH armeb
-#define MACHINE_ARCH "armeb"
-#endif /* __ARMEB__ */
-#endif /* MACHINE_ARCH */
-#else
-#undef _MACHINE
-#undef MACHINE
-#undef _MACHINE_ARCH
-#undef MACHINE_ARCH
-#define _MACHINE arm
-#define MACHINE "arm"
-#ifndef __ARMEB__
-#define _MACHINE_ARCH arm
-#define MACHINE_ARCH "arm"
-#else
-#define _MACHINE_ARCH armeb
-#define MACHINE_ARCH "armeb"
-#endif /* __ARMEB__ */
-#endif /* !_KERNEL */
-
-#define MID_MACHINE MID_ARM6
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...). The result is u_int and
- * must be cast to any desired pointer type.
- *
- * ALIGNED_POINTER is a boolean macro that checks whether an address
- * is valid to fetch data elements of type t from on this architecture.
- * This does not reflect the optimal alignment, just the possibility
- * (within reasonable limits).
- *
- */
-#define ALIGNBYTES (sizeof(int) - 1)
-#define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)
-/* ARM-specific macro to align a stack pointer (downwards). */
-#define STACKALIGNBYTES (8 - 1)
-#define STACKALIGN(p) ((u_int)(p) &~ STACKALIGNBYTES)
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-
-#ifndef MAXPHYS
-#define MAXPHYS 65536 /* max I/O transfer size */
-#endif
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than NBPG (the software page size), and,
- * on machines that exchange pages of input or output buffers with mbuf
- * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
- * of the hardware page size.
- */
-#define MSIZE 256 /* size of an mbuf */
-
-#ifndef MCLSHIFT
-#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
-#endif /* MCLSHIFT */
-
-#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
-
-#ifndef NMBCLUSTERS_MAX
-#define NMBCLUSTERS_MAX (0x2000000 / MCLBYTES) /* Limit to 64MB for clusters */
-#endif
-
-/*
- * Compatibility /dev/zero mapping.
- */
-#ifdef _KERNEL
-#ifdef COMPAT_16
-#define COMPAT_ZERODEV(x) (x == makedev(0, _DEV_ZERO_oARM))
-#endif
-#endif /* _KERNEL */
-
-#endif /* _ARM_PARAM_H_ */
diff --git a/StdLib/Include/Arm/machine/proc.h b/StdLib/Include/Arm/machine/proc.h
deleted file mode 100644
index 14718611d3..0000000000
--- a/StdLib/Include/Arm/machine/proc.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* $NetBSD: proc.h,v 1.6 2003/03/05 11:28:14 agc Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _ARM32_PROC_H_
-#define _ARM32_PROC_H_
-
-/*
- * Machine-dependent part of the proc structure for arm.
- */
-
-struct trapframe;
-struct lwp;
-
-struct mdlwp {
- int md_dummy; /* must have at least one member */
-};
-
-struct mdproc {
- void (*md_syscall)(struct trapframe *, struct lwp *, u_int32_t);
- int pmc_enabled; /* bitfield of enabled counters */
- void *pmc_state; /* port-specific pmc state */
-};
-
-#endif /* _ARM32_PROC_H_ */
diff --git a/StdLib/Include/Arm/machine/signal.h b/StdLib/Include/Arm/machine/signal.h
deleted file mode 100644
index 6628eb9e94..0000000000
--- a/StdLib/Include/Arm/machine/signal.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
-Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
-This program and the accompanying materials are licensed and made available under
-the terms and conditions of the BSD License that accompanies this distribution.
-The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php.
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-**/
-#ifndef _MACHINE_SIGNAL_H
-#define _MACHINE_SIGNAL_H
-#include <sys/EfiCdefs.h>
-
-/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of
- an object that can be accessed as an atomic entity, even in the presence
- of asynchronous interrupts.
-**/
-typedef INTN sig_atomic_t;
-
-#endif /* _MACHINE_SIGNAL_H */
diff --git a/StdLib/Include/Arm/machine/types.h b/StdLib/Include/Arm/machine/types.h
deleted file mode 100644
index a59d5be087..0000000000
--- a/StdLib/Include/Arm/machine/types.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/** @file
- Machine dependent type definitions.
-
- Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
- This program and the accompanying materials are licensed and made available
- under the terms and conditions of the BSD License that accompanies this
- distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php.
-
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
- Copyright (c) 1990 The Regents of the University of California.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- types.h 7.5 (Berkeley) 3/9/91
- NetBSD: types.h,v 1.49 2006/09/03 13:51:23 bjh21 Exp
-**/
-#ifndef _MACHTYPES_H_
-#define _MACHTYPES_H_
-
-#include <sys/EfiCdefs.h>
-#include <sys/featuretest.h>
-#include <machine/int_types.h>
-
-/* Handle the long and unsigned long data types which EFI doesn't directly support. */
-//typedef INTN LONGN;
-//typedef UINTN ULONGN;
-
-typedef PHYSICAL_ADDRESS paddr_t;
-typedef UINT64 psize_t;
-typedef PHYSICAL_ADDRESS vaddr_t;
-typedef UINT64 vsize_t;
-
-typedef INT32 pmc_evid_t;
-typedef UINT64 pmc_ctr_t;
-typedef INT32 register_t;
-
-typedef volatile INT32 __cpu_simple_lock_t;
-
-#define __SIMPLELOCK_LOCKED 1
-#define __SIMPLELOCK_UNLOCKED 0
-
-/* The ARMv7 does not have strict alignment requirements. */
-#define __NO_STRICT_ALIGNMENT
-//TODO: Fixme for the ARM architecture that requires strict alignment
-
-#define __HAVE_DEVICE_REGISTER
-#define __HAVE_CPU_COUNTER
-#define __HAVE_SYSCALL_INTERN
-#define __HAVE_MINIMAL_EMUL
-#define __HAVE_OLD_DISKLABEL
-#define __HAVE_GENERIC_SOFT_INTERRUPTS
-#define __HAVE_CPU_MAXPROC
-#define __HAVE_TIMECOUNTER
-#define __HAVE_GENERIC_TODR
-
-#endif /* _MACHTYPES_H_ */
diff --git a/StdLib/Include/Arm/milieu.h b/StdLib/Include/Arm/milieu.h
deleted file mode 100644
index 8f4ac00076..0000000000
--- a/StdLib/Include/Arm/milieu.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $NetBSD: milieu.h,v 1.1 2000/12/29 20:13:54 bjh21 Exp $ */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-Include common integer types and flags.
--------------------------------------------------------------------------------
-*/
-#include "arm-gcc.h"
diff --git a/StdLib/Include/Arm/softfloat.h b/StdLib/Include/Arm/softfloat.h
deleted file mode 100644
index d52c5a9f8d..0000000000
--- a/StdLib/Include/Arm/softfloat.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/* $NetBSD: softfloat.h,v 1.10 2013/04/24 18:04:46 matt Exp $ */
-
-/* This is a derivative work. */
-
-/*
-===============================================================================
-
-This C header file is part of the SoftFloat IEC/IEEE Floating-point
-Arithmetic Package, Release 2a.
-
-Written by John R. Hauser. This work was made possible in part by the
-International Computer Science Institute, located at Suite 600, 1947 Center
-Street, Berkeley, California 94704. Funding was partially provided by the
-National Science Foundation under grant MIP-9311980. The original version
-of this code was written as part of a project to build a fixed-point vector
-processor in collaboration with the University of California at Berkeley,
-overseen by Profs. Nelson Morgan and John Wawrzynek. More information
-is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
-arithmetic/SoftFloat.html'.
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
-AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
-
-Derivative works are acceptable, even for commercial purposes, so long as
-(1) they include prominent notice that the work is derivative, and (2) they
-include prominent notice akin to these four paragraphs for those parts of
-this code that are retained.
-
-===============================================================================
-*/
-
-/*
--------------------------------------------------------------------------------
-The macro `FLOATX80' must be defined to enable the extended double-precision
-floating-point format `floatx80'. If this macro is not defined, the
-`floatx80' type will not be defined, and none of the functions that either
-input or output the `floatx80' type will be defined. The same applies to
-the `FLOAT128' macro and the quadruple-precision format `float128'.
--------------------------------------------------------------------------------
-*/
-/* #define FLOATX80 */
-/* #define FLOAT128 */
-
-#include <stdint.h>
-#include <machine/ieeefp.h>
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point types.
--------------------------------------------------------------------------------
-*/
-typedef unsigned int float32;
-typedef unsigned long long float64;
-#ifdef FLOATX80
-typedef struct {
- unsigned short high;
- unsigned long long low;
-} floatx80;
-#endif
-#ifdef FLOAT128
-typedef struct {
- unsigned long long high, low;
-} float128;
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point underflow tininess-detection mode.
--------------------------------------------------------------------------------
-*/
-#ifndef SOFTFLOAT_FOR_GCC
-extern int float_detect_tininess;
-#endif
-enum {
- float_tininess_after_rounding = 0,
- float_tininess_before_rounding = 1
-};
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point rounding mode.
--------------------------------------------------------------------------------
-*/
-extern fp_rnd float_rounding_mode;
-#define float_round_nearest_even FP_RN
-#define float_round_to_zero FP_RZ
-#define float_round_down FP_RM
-#define float_round_up FP_RP
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE floating-point exception flags.
--------------------------------------------------------------------------------
-*/
-extern fp_except float_exception_flags;
-extern fp_except float_exception_mask;
-enum {
- float_flag_inexact = FP_X_IMP,
- float_flag_underflow = FP_X_UFL,
- float_flag_overflow = FP_X_OFL,
- float_flag_divbyzero = FP_X_DZ,
- float_flag_invalid = FP_X_INV
-};
-
-/*
--------------------------------------------------------------------------------
-Routine to raise any or all of the software IEC/IEEE floating-point
-exception flags.
--------------------------------------------------------------------------------
-*/
-void float_raise( fp_except );
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE integer-to-floating-point conversion routines.
--------------------------------------------------------------------------------
-*/
-float32 int32_to_float32( int32 );
-float32 uint32_to_float32( uint32 );
-float64 int32_to_float64( int32 );
-float64 uint32_to_float64( uint32 );
-#ifdef FLOATX80
-floatx80 int32_to_floatx80( int32 );
-floatx80 uint32_to_floatx80( uint32 );
-#endif
-#ifdef FLOAT128
-float128 int32_to_float128( int32 );
-float128 uint32_to_float128( uint32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __floatdi?f is in libgcc2.c */
-float32 int64_to_float32( long long );
-float64 int64_to_float64( long long );
-#ifdef FLOATX80
-floatx80 int64_to_floatx80( long long );
-#endif
-#ifdef FLOAT128
-float128 int64_to_float128( long long );
-#endif
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float32_to_int32( float32 );
-int float32_to_int32_round_to_zero( float32 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float32_to_uint32_round_to_zero( float32 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float32_to_int64( float32 );
-long long float32_to_int64_round_to_zero( float32 );
-#endif
-float64 float32_to_float64( float32 );
-#ifdef FLOATX80
-floatx80 float32_to_floatx80( float32 );
-#endif
-#ifdef FLOAT128
-float128 float32_to_float128( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE single-precision operations.
--------------------------------------------------------------------------------
-*/
-float32 float32_round_to_int( float32 );
-float32 float32_add( float32, float32 );
-float32 float32_sub( float32, float32 );
-float32 float32_mul( float32, float32 );
-float32 float32_div( float32, float32 );
-float32 float32_rem( float32, float32 );
-float32 float32_sqrt( float32 );
-int float32_eq( float32, float32 );
-int float32_le( float32, float32 );
-int float32_lt( float32, float32 );
-int float32_eq_signaling( float32, float32 );
-int float32_le_quiet( float32, float32 );
-int float32_lt_quiet( float32, float32 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float32_is_signaling_nan( float32 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float64_to_int32( float64 );
-int float64_to_int32_round_to_zero( float64 );
-#if defined(SOFTFLOAT_FOR_GCC) && defined(SOFTFLOAT_NEED_FIXUNS)
-unsigned int float64_to_uint32_round_to_zero( float64 );
-#endif
-#ifndef SOFTFLOAT_FOR_GCC /* __fix?fdi provided by libgcc2.c */
-long long float64_to_int64( float64 );
-long long float64_to_int64_round_to_zero( float64 );
-#endif
-float32 float64_to_float32( float64 );
-#ifdef FLOATX80
-floatx80 float64_to_floatx80( float64 );
-#endif
-#ifdef FLOAT128
-float128 float64_to_float128( float64 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE double-precision operations.
--------------------------------------------------------------------------------
-*/
-float64 float64_round_to_int( float64 );
-float64 float64_add( float64, float64 );
-float64 float64_sub( float64, float64 );
-float64 float64_mul( float64, float64 );
-float64 float64_div( float64, float64 );
-float64 float64_rem( float64, float64 );
-float64 float64_sqrt( float64 );
-int float64_eq( float64, float64 );
-int float64_le( float64, float64 );
-int float64_lt( float64, float64 );
-int float64_eq_signaling( float64, float64 );
-int float64_le_quiet( float64, float64 );
-int float64_lt_quiet( float64, float64 );
-#ifndef SOFTFLOAT_FOR_GCC
-int float64_is_signaling_nan( float64 );
-#endif
-
-#ifdef FLOATX80
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int floatx80_to_int32( floatx80 );
-int floatx80_to_int32_round_to_zero( floatx80 );
-long long floatx80_to_int64( floatx80 );
-long long floatx80_to_int64_round_to_zero( floatx80 );
-float32 floatx80_to_float32( floatx80 );
-float64 floatx80_to_float64( floatx80 );
-#ifdef FLOAT128
-float128 floatx80_to_float128( floatx80 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision rounding precision. Valid
-values are 32, 64, and 80.
--------------------------------------------------------------------------------
-*/
-extern int floatx80_rounding_precision;
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE extended double-precision operations.
--------------------------------------------------------------------------------
-*/
-floatx80 floatx80_round_to_int( floatx80 );
-floatx80 floatx80_add( floatx80, floatx80 );
-floatx80 floatx80_sub( floatx80, floatx80 );
-floatx80 floatx80_mul( floatx80, floatx80 );
-floatx80 floatx80_div( floatx80, floatx80 );
-floatx80 floatx80_rem( floatx80, floatx80 );
-floatx80 floatx80_sqrt( floatx80 );
-int floatx80_eq( floatx80, floatx80 );
-int floatx80_le( floatx80, floatx80 );
-int floatx80_lt( floatx80, floatx80 );
-int floatx80_eq_signaling( floatx80, floatx80 );
-int floatx80_le_quiet( floatx80, floatx80 );
-int floatx80_lt_quiet( floatx80, floatx80 );
-int floatx80_is_signaling_nan( floatx80 );
-
-#endif
-
-#ifdef FLOAT128
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision conversion routines.
--------------------------------------------------------------------------------
-*/
-int float128_to_int32( float128 );
-int float128_to_int32_round_to_zero( float128 );
-long long float128_to_int64( float128 );
-long long float128_to_int64_round_to_zero( float128 );
-float32 float128_to_float32( float128 );
-float64 float128_to_float64( float128 );
-#ifdef FLOATX80
-floatx80 float128_to_floatx80( float128 );
-#endif
-
-/*
--------------------------------------------------------------------------------
-Software IEC/IEEE quadruple-precision operations.
--------------------------------------------------------------------------------
-*/
-float128 float128_round_to_int( float128 );
-float128 float128_add( float128, float128 );
-float128 float128_sub( float128, float128 );
-float128 float128_mul( float128, float128 );
-float128 float128_div( float128, float128 );
-float128 float128_rem( float128, float128 );
-float128 float128_sqrt( float128 );
-int float128_eq( float128, float128 );
-int float128_le( float128, float128 );
-int float128_lt( float128, float128 );
-int float128_eq_signaling( float128, float128 );
-int float128_le_quiet( float128, float128 );
-int float128_lt_quiet( float128, float128 );
-int float128_is_signaling_nan( float128 );
-
-#endif