-/* $NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp $ */\r
+/* $NetBSD: ansi.h,v 1.7 2006/10/04 13:51:59 tnozaki Exp $ */\r
\r
/*\r
* Copyright (c) 1990, 1993\r
- * The Regents of the University of California. All rights reserved.\r
+ * The Regents of the University of California. All rights reserved.\r
*\r
* Redistribution and use in source and binary forms, with or without\r
* modification, are permitted provided that the following conditions\r
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
* SUCH DAMAGE.\r
*\r
- * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94\r
+ * from: @(#)ansi.h 8.2 (Berkeley) 1/4/94\r
*/\r
\r
-#ifndef _ANSI_H_\r
-#define _ANSI_H_\r
+#ifndef _ANSI_H_\r
+#define _ANSI_H_\r
\r
-#include <sys/cdefs.h>\r
+#include <sys/EfiCdefs.h>\r
\r
#include <machine/int_types.h>\r
\r
* Types which are fundamental to the implementation and may appear in\r
* more than one standard header are defined here. Standard headers\r
* then use:\r
- * #ifdef _BSD_SIZE_T_\r
- * typedef _BSD_SIZE_T_ size_t;\r
- * #undef _BSD_SIZE_T_\r
- * #endif\r
+ * #ifdef _BSD_SIZE_T_\r
+ * typedef _BSD_SIZE_T_ size_t;\r
+ * #undef _BSD_SIZE_T_\r
+ * #endif\r
*/\r
-#ifdef __ELF__\r
-#define _BSD_CLOCK_T_ unsigned int /* clock() */\r
-#define _BSD_PTRDIFF_T_ long int /* ptr1 - ptr2 */\r
-#define _BSD_SIZE_T_ unsigned long int /* sizeof() */\r
-#define _BSD_SSIZE_T_ long int /* byte count or error */\r
-#define _BSD_TIME_T_ int /* time() */\r
-#else\r
-#define _BSD_CLOCK_T_ unsigned long /* clock() */\r
-#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */\r
-#define _BSD_SIZE_T_ unsigned int /* sizeof() */\r
-#define _BSD_SSIZE_T_ int /* byte count or error */\r
-#define _BSD_TIME_T_ long /* time() */\r
-#endif\r
-#if __GNUC_PREREQ__(2, 96)\r
-#define _BSD_VA_LIST_ __builtin_va_list /* GCC built-in type */\r
-#else\r
-#define _BSD_VA_LIST_ char * /* va_list */\r
-#endif\r
-#define _BSD_CLOCKID_T_ int /* clockid_t */\r
-#define _BSD_TIMER_T_ int /* timer_t */\r
-#define _BSD_SUSECONDS_T_ int /* suseconds_t */\r
-#define _BSD_USECONDS_T_ unsigned int /* useconds_t */\r
+#define _BSD_CLOCK_T_ _EFI_CLOCK_T /* clock() */\r
+#define _BSD_PTRDIFF_T_ _EFI_PTRDIFF_T_ /* ptr1 - ptr2 */\r
+#define _BSD_SIZE_T_ _EFI_SIZE_T_ /* sizeof() */\r
+#define _BSD_SSIZE_T_ INTN /* byte count or error */\r
+#define _BSD_TIME_T_ _EFI_TIME_T /* time() */\r
+#define _BSD_VA_LIST_ VA_LIST\r
+#define _BSD_CLOCKID_T_ INT64 /* clockid_t */\r
+#define _BSD_TIMER_T_ INT64 /* timer_t */\r
+#define _BSD_SUSECONDS_T_ INT64 /* suseconds_t */\r
+#define _BSD_USECONDS_T_ UINT64 /* useconds_t */\r
\r
/*\r
* NOTE: rune_t is not covered by ANSI nor other standards, and should not\r
* chosen over a long is that the is*() and to*() routines take ints (says\r
* ANSI C), but they use _RUNE_T_ instead of int. By changing it here, you\r
* lose a bit of ANSI conformance, but your programs will still work.\r
- * \r
+ *\r
* Note that _WCHAR_T_ and _RUNE_T_ must be of the same type. When wchar_t\r
* and rune_t are typedef'd, _WCHAR_T_ will be undef'd, but _RUNE_T remains\r
* defined for ctype.h.\r
*/\r
-#define _BSD_WCHAR_T_ int /* wchar_t */\r
-#define _BSD_WINT_T_ int /* wint_t */\r
-#define _BSD_RUNE_T_ int /* rune_t */\r
-#define _BSD_WCTRANS_T_ void * /* wctrans_t */\r
-#define _BSD_WCTYPE_T_ void * /* wctype_t */\r
+#define _BSD_WCHAR_T_ _EFI_WCHAR_T /* wchar_t */\r
+#define _BSD_WINT_T_ _EFI_WINT_T /* wint_t */\r
+#define _BSD_RUNE_T_ _EFI_WCHAR_T /* rune_t */\r
+#define _BSD_WCTRANS_T_ void * /* wctrans_t */\r
+#define _BSD_WCTYPE_T_ unsigned int /* wctype_t */\r
\r
/*\r
* mbstate_t is an opaque object to keep conversion state, during multibyte\r
* stream conversions. The content must not be referenced by user programs.\r
*/\r
typedef union {\r
- __int64_t __mbstateL; /* for alignment */\r
- char __mbstate8[128];\r
+ __int64_t __mbstateL; /* for alignment */\r
+ char __mbstate8[128];\r
} __mbstate_t;\r
-#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */\r
+#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */\r
\r
-#endif /* _ANSI_H_ */\r
+#endif /* _ANSI_H_ */\r
--- /dev/null
+/* $NetBSD: bswap.h,v 1.4 2006/01/31 07:49:18 dsl Exp $ */\r
+\r
+#ifndef _MACHINE_BSWAP_H_\r
+#define _MACHINE_BSWAP_H_\r
+\r
+#include <machine/byte_swap.h>\r
+\r
+#define __BSWAP_RENAME\r
+#include <sys/bswap.h>\r
+\r
+#endif /* !_MACHINE_BSWAP_H_ */\r
--- /dev/null
+/*-\r
+ * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.\r
+ * All rights reserved.\r
+ *\r
+ * This code is derived from software contributed to The NetBSD Foundation\r
+ * by Charles M. Hannum, Neil A. Carson, and Jason R. Thorpe.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\r
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\r
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ * POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef _ARM_BYTE_SWAP_H_\r
+#define _ARM_BYTE_SWAP_H_\r
+\r
+#ifdef __GNUC__\r
+#include <sys/types.h>\r
+__BEGIN_DECLS\r
+\r
+#define __BYTE_SWAP_U32_VARIABLE __byte_swap_u32_variable\r
+static __inline uint32_t\r
+__byte_swap_u32_variable(uint32_t v)\r
+{\r
+ uint32_t t1;\r
+\r
+ t1 = v ^ ((v << 16) | (v >> 16));\r
+ t1 &= 0xff00ffffU;\r
+ v = (v >> 8) | (v << 24);\r
+ v ^= (t1 >> 8);\r
+ return (v);\r
+}\r
+\r
+#define __BYTE_SWAP_U16_VARIABLE __byte_swap_u16_variable\r
+static __inline uint16_t\r
+__byte_swap_u16_variable(uint16_t v)\r
+{\r
+\r
+ v &= 0xffff;\r
+ v = (v >> 8) | (v << 8);\r
+ return (v);\r
+}\r
+\r
+__END_DECLS\r
+#endif\r
+\r
+#endif /* _ARM_BYTE_SWAP_H_ */\r
--- /dev/null
+/* $NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $ */\r
+\r
+#include <sys/endian.h>\r
--- /dev/null
+/* $NetBSD: endian_machdep.h,v 1.8 2006/01/30 21:52:38 dsl Exp $ */\r
+\r
+/* GCC predefines __ARMEB__ when building for big-endian ARM. */\r
+#ifdef __ARMEB__\r
+#define _BYTE_ORDER _BIG_ENDIAN\r
+#else\r
+#define _BYTE_ORDER _LITTLE_ENDIAN\r
+#endif\r
--- /dev/null
+/* $NetBSD: int_const.h,v 1.1 2001/04/14 22:38:38 kleink Exp $ */\r
+\r
+/*-\r
+ * Copyright (c) 2001 The NetBSD Foundation, Inc.\r
+ * All rights reserved.\r
+ *\r
+ * This code is derived from software contributed to The NetBSD Foundation\r
+ * by Klaus Klein.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ * 3. All advertising materials mentioning features or use of this software\r
+ * must display the following acknowledgement:\r
+ * This product includes software developed by the NetBSD\r
+ * Foundation, Inc. and its contributors.\r
+ * 4. Neither the name of The NetBSD Foundation nor the names of its\r
+ * contributors may be used to endorse or promote products derived\r
+ * from this software without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\r
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\r
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ * POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef _ARM_INT_CONST_H_\r
+#define _ARM_INT_CONST_H_\r
+\r
+/*\r
+ * 7.18.4 Macros for integer constants\r
+ */\r
+\r
+/* 7.18.4.1 Macros for minimum-width integer constants */\r
+\r
+#define INT8_C(c) c\r
+#define INT16_C(c) c\r
+#define INT32_C(c) c\r
+#define INT64_C(c) c ## LL\r
+\r
+#define UINT8_C(c) c ## U\r
+#define UINT16_C(c) c ## U\r
+#define UINT32_C(c) c ## U\r
+#define UINT64_C(c) c ## ULL\r
+\r
+/* 7.18.4.2 Macros for greatest-width integer constants */\r
+\r
+#define INTMAX_C(c) c ## LL\r
+#define UINTMAX_C(c) c ## ULL\r
+\r
+#endif /* !_ARM_INT_CONST_H_ */\r
--- /dev/null
+/* $NetBSD: int_limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */\r
+\r
+/*-\r
+ * Copyright (c) 2001 The NetBSD Foundation, Inc.\r
+ * All rights reserved.\r
+ *\r
+ * This code is derived from software contributed to The NetBSD Foundation\r
+ * by Klaus Klein.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\r
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\r
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ * POSSIBILITY OF SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef _ARM_INT_LIMITS_H_\r
+#define _ARM_INT_LIMITS_H_\r
+\r
+/*\r
+ * 7.18.2 Limits of specified-width integer types\r
+ */\r
+\r
+/* 7.18.2.1 Limits of exact-width integer types */\r
+\r
+/* minimum values of exact-width signed integer types */\r
+#define INT8_MIN (-0x7f-1) /* int8_t */\r
+#define INT16_MIN (-0x7fff-1) /* int16_t */\r
+#define INT32_MIN (-0x7fffffff-1) /* int32_t */\r
+#define INT64_MIN (-0x7fffffffffffffffLL-1) /* int64_t */\r
+\r
+/* maximum values of exact-width signed integer types */\r
+#define INT8_MAX 0x7f /* int8_t */\r
+#define INT16_MAX 0x7fff /* int16_t */\r
+#define INT32_MAX 0x7fffffff /* int32_t */\r
+#define INT64_MAX 0x7fffffffffffffffLL /* int64_t */\r
+\r
+/* maximum values of exact-width unsigned integer types */\r
+#define UINT8_MAX 0xff /* uint8_t */\r
+#define UINT16_MAX 0xffff /* uint16_t */\r
+#define UINT32_MAX 0xffffffffU /* uint32_t */\r
+#define UINT64_MAX 0xffffffffffffffffULL /* uint64_t */\r
+\r
+/* 7.18.2.2 Limits of minimum-width integer types */\r
+\r
+/* minimum values of minimum-width signed integer types */\r
+#define INT_LEAST8_MIN (-0x7f-1) /* int_least8_t */\r
+#define INT_LEAST16_MIN (-0x7fff-1) /* int_least16_t */\r
+#define INT_LEAST32_MIN (-0x7fffffff-1) /* int_least32_t */\r
+#define INT_LEAST64_MIN (-0x7fffffffffffffffLL-1) /* int_least64_t */\r
+\r
+/* maximum values of minimum-width signed integer types */\r
+#define INT_LEAST8_MAX 0x7f /* int_least8_t */\r
+#define INT_LEAST16_MAX 0x7fff /* int_least16_t */\r
+#define INT_LEAST32_MAX 0x7fffffff /* int_least32_t */\r
+#define INT_LEAST64_MAX 0x7fffffffffffffffLL /* int_least64_t */\r
+\r
+/* maximum values of minimum-width unsigned integer types */\r
+#define UINT_LEAST8_MAX 0xff /* uint_least8_t */\r
+#define UINT_LEAST16_MAX 0xffff /* uint_least16_t */\r
+#define UINT_LEAST32_MAX 0xffffffffU /* uint_least32_t */\r
+#define UINT_LEAST64_MAX 0xffffffffffffffffULL /* uint_least64_t */\r
+\r
+/* 7.18.2.3 Limits of fastest minimum-width integer types */\r
+\r
+/* minimum values of fastest minimum-width signed integer types */\r
+#define INT_FAST8_MIN (-0x7fffffff-1) /* int_fast8_t */\r
+#define INT_FAST16_MIN (-0x7fffffff-1) /* int_fast16_t */\r
+#define INT_FAST32_MIN (-0x7fffffff-1) /* int_fast32_t */\r
+#define INT_FAST64_MIN (-0x7fffffffffffffffLL-1) /* int_fast64_t */\r
+\r
+/* maximum values of fastest minimum-width signed integer types */\r
+#define INT_FAST8_MAX 0x7fffffff /* int_fast8_t */\r
+#define INT_FAST16_MAX 0x7fffffff /* int_fast16_t */\r
+#define INT_FAST32_MAX 0x7fffffff /* int_fast32_t */\r
+#define INT_FAST64_MAX 0x7fffffffffffffffLL /* int_fast64_t */\r
+\r
+/* maximum values of fastest minimum-width unsigned integer types */\r
+#define UINT_FAST8_MAX 0xffffffffU /* uint_fast8_t */\r
+#define UINT_FAST16_MAX 0xffffffffU /* uint_fast16_t */\r
+#define UINT_FAST32_MAX 0xffffffffU /* uint_fast32_t */\r
+#define UINT_FAST64_MAX 0xffffffffffffffffULL /* uint_fast64_t */\r
+\r
+/* 7.18.2.4 Limits of integer types capable of holding object pointers */\r
+\r
+#define INTPTR_MIN (-0x7fffffffL-1) /* intptr_t */\r
+#define INTPTR_MAX 0x7fffffffL /* intptr_t */\r
+#define UINTPTR_MAX 0xffffffffUL /* uintptr_t */\r
+\r
+/* 7.18.2.5 Limits of greatest-width integer types */\r
+\r
+#define INTMAX_MIN (-0x7fffffffffffffffLL-1) /* intmax_t */\r
+#define INTMAX_MAX 0x7fffffffffffffffLL /* intmax_t */\r
+#define UINTMAX_MAX 0xffffffffffffffffULL /* uintmax_t */\r
+\r
+\r
+/*\r
+ * 7.18.3 Limits of other integer types\r
+ */\r
+\r
+/* limits of ptrdiff_t */\r
+#define PTRDIFF_MIN (-0x7fffffffL-1) /* ptrdiff_t */\r
+#define PTRDIFF_MAX 0x7fffffffL /* ptrdiff_t */\r
+\r
+/* limits of sig_atomic_t */\r
+#define SIG_ATOMIC_MIN (-0x7fffffff-1) /* sig_atomic_t */\r
+#define SIG_ATOMIC_MAX 0x7fffffff /* sig_atomic_t */\r
+\r
+/* limit of size_t */\r
+#define SIZE_MAX 0xffffffffUL /* size_t */\r
+\r
+#endif /* !_ARM_INT_LIMITS_H_ */\r
--- /dev/null
+/** @file\r
+ Minimum and Greatest Width Integer types.\r
+\r
+ Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials are licensed and made available under\r
+ the terms and conditions of the BSD License that accompanies this distribution.\r
+ The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php.\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+ Portions Copyright (c) 2001 The NetBSD Foundation, Inc.\r
+ All rights reserved.\r
+\r
+ This code is derived from software contributed to The NetBSD Foundation\r
+ by Klaus Klein.\r
+\r
+ Redistribution and use in source and binary forms, with or without\r
+ modification, are permitted provided that the following conditions\r
+ are met:\r
+ 1. Redistributions of source code must retain the above copyright\r
+ notice, this list of conditions and the following disclaimer.\r
+ 2. Redistributions in binary form must reproduce the above copyright\r
+ notice, this list of conditions and the following disclaimer in the\r
+ documentation and/or other materials provided with the distribution.\r
+ 3. All advertising materials mentioning features or use of this software\r
+ must display the following acknowledgement:\r
+ This product includes software developed by the NetBSD\r
+ Foundation, Inc. and its contributors.\r
+ 4. Neither the name of The NetBSD Foundation nor the names of its\r
+ contributors may be used to endorse or promote products derived\r
+ from this software without specific prior written permission.\r
+\r
+ THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS\r
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS\r
+ BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\r
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\r
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ POSSIBILITY OF SUCH DAMAGE.\r
+\r
+ NetBSD: int_mwgwtypes.h,v 1.5 2005/12/24 20:06:47 perry Exp\r
+**/\r
+#ifndef _ARM_INT_MWGWTYPES_H_\r
+#define _ARM_INT_MWGWTYPES_H_\r
+\r
+/*\r
+ * 7.18.1 Integer types\r
+ */\r
+\r
+/* 7.18.1.2 Minimum-width integer types */\r
+\r
+typedef CHAR8 int_least8_t;\r
+typedef UINT8 uint_least8_t;\r
+typedef INT16 int_least16_t;\r
+typedef UINT16 uint_least16_t;\r
+typedef INT32 int_least32_t;\r
+typedef UINT32 uint_least32_t;\r
+typedef INT64 int_least64_t;\r
+typedef UINT64 uint_least64_t;\r
+\r
+/* 7.18.1.3 Fastest minimum-width integer types */\r
+typedef INT32 int_fast8_t;\r
+typedef UINT32 uint_fast8_t;\r
+typedef INT32 int_fast16_t;\r
+typedef UINT32 uint_fast16_t;\r
+typedef INT32 int_fast32_t;\r
+typedef UINT32 uint_fast32_t;\r
+typedef INT64 int_fast64_t;\r
+typedef UINT64 uint_fast64_t;\r
+\r
+/* 7.18.1.5 Greatest-width integer types */\r
+\r
+typedef INT64 intmax_t;\r
+typedef UINT64 uintmax_t;\r
+\r
+#endif /* !_ARM_INT_MWGWTYPES_H_ */\r
--- /dev/null
+/* $NetBSD: int_types.h,v 1.10 2005/12/24 20:07:10 perry Exp $ */\r
+\r
+/*-\r
+ * Copyright (c) 1990 The Regents of the University of California.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the University nor the names of its contributors\r
+ * may be used to endorse or promote products derived from this software\r
+ * without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * from: @(#)types.h 7.5 (Berkeley) 3/9/91\r
+ */\r
+\r
+#ifndef _ARM_INT_TYPES_H_\r
+#define _ARM_INT_TYPES_H_\r
+\r
+#include <sys/EfiCdefs.h>\r
+\r
+/*\r
+ * 7.18.1 Integer types\r
+ */\r
+\r
+/* 7.18.1.1 Exact-width integer types */\r
+\r
+typedef INT8 __int8_t;\r
+typedef UINT8 __uint8_t;\r
+typedef INT16 __int16_t;\r
+typedef UINT16 __uint16_t;\r
+typedef INT32 __int32_t;\r
+typedef UINT32 __uint32_t;\r
+typedef INT64 __int64_t;\r
+typedef UINT64 __uint64_t;\r
+\r
+#define __BIT_TYPES_DEFINED__\r
+\r
+/* 7.18.1.4 Integer types capable of holding object pointers */\r
+\r
+typedef INTN __intptr_t;\r
+typedef UINTN __uintptr_t;\r
+\r
+#endif /* !_ARM_INT_TYPES_H_ */\r
--- /dev/null
+/* $NetBSD: limits.h,v 1.9 2008/08/29 19:08:29 matt Exp $ */\r
+\r
+/*\r
+ * Copyright (c) 1988 The Regents of the University of California.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ * 3. Neither the name of the University nor the names of its contributors\r
+ * may be used to endorse or promote products derived from this software\r
+ * without specific prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ *\r
+ * from: @(#)limits.h 7.2 (Berkeley) 6/28/90\r
+ */\r
+\r
+#ifndef _ARM32_LIMITS_H_\r
+#define _ARM32_LIMITS_H_\r
+\r
+#include <sys/featuretest.h>\r
+\r
+#define __CHAR_BIT 8 /* number of bits in a char */\r
+//#define __MB_LEN_MAX 32 /* no multibyte characters */\r
+\r
+#define __SCHAR_MIN (-0x7f-1) /* max value for a signed char */\r
+#define __SCHAR_MAX 0x7f /* min value for a signed char */\r
+\r
+#define __UCHAR_MAX 0xff /* max value for an unsigned char */\r
+#define __CHAR_MAX 0xff /* max value for a char */\r
+#define __CHAR_MIN 0 /* min value for a char */\r
+\r
+#define __USHRT_MAX 0xffff /* max value for an unsigned short */\r
+#define __SHRT_MAX 0x7fff /* max value for a short */\r
+#define __SHRT_MIN (-0x7fff-1) /* min value for a short */\r
+\r
+#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */\r
+#define __INT_MAX 0x7fffffff /* max value for an int */\r
+#define __INT_MIN (-0x7fffffff-1) /* min value for an int */\r
+\r
+#define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */\r
+#define __LONG_MAX 0x7fffffffL /* max value for a long */\r
+#define __LONG_MIN (-0x7fffffffL-1) /* min value for a long */\r
+\r
+#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \\r
+ defined(_NETBSD_SOURCE)\r
+#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */\r
+\r
+#if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \\r
+ defined(_NETBSD_SOURCE)\r
+#define __ULLONG_MAX 0xffffffffffffffffULL /* max unsigned long long */\r
+#define __LLONG_MAX 0x7fffffffffffffffLL /* max signed long long */\r
+#define __LLONG_MIN (-0x7fffffffffffffffLL-1) /* min signed long long */\r
+#endif\r
+\r
+#if defined(_NETBSD_SOURCE)\r
+#define SIZE_T_MAX LONG_MAX /* max value for a size_t */\r
+\r
+#define UQUAD_MAX 0xffffffffffffffffLL /* max unsigned quad */\r
+#define QUAD_MAX 0x7fffffffffffffffLL /* max signed quad */\r
+#define QUAD_MIN (-0x7fffffffffffffffLL-1) /* min signed quad */\r
+\r
+#endif /* _NETBSD_SOURCE */\r
+#endif /* _POSIX_C_SOURCE || _XOPEN_SOURCE || _NETBSD_SOURCE */\r
+\r
+#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)\r
+#define LONG_BIT 32\r
+#define WORD_BIT 32\r
+\r
+#define DBL_DIG 15\r
+#define DBL_MAX 1.7976931348623157E+308\r
+#define DBL_MIN 2.2250738585072014E-308\r
+\r
+//#define FLT_DIG 6\r
+//#define FLT_MAX 3.40282347E+38F\r
+//#define FLT_MIN 1.17549435E-38F\r
+#endif\r
+\r
+#endif /* _ARM32_LIMITS_H_ */\r
--- /dev/null
+/* $NetBSD: param.h,v 1.13 2010/05/06 19:10:26 joerg Exp $ */\r
+\r
+/*\r
+ * Copyright (c) 1994,1995 Mark Brinicombe.\r
+ * All rights reserved.\r
+ *\r
+ * Redistribution and use in source and binary forms, with or without\r
+ * modification, are permitted provided that the following conditions\r
+ * are met:\r
+ * 1. Redistributions of source code must retain the above copyright\r
+ * notice, this list of conditions and the following disclaimer.\r
+ * 2. Redistributions in binary form must reproduce the above copyright\r
+ * notice, this list of conditions and the following disclaimer in the\r
+ * documentation and/or other materials provided with the distribution.\r
+ * 3. All advertising materials mentioning features or use of this software\r
+ * must display the following acknowledgement:\r
+ * This product includes software developed by the RiscBSD team.\r
+ * 4. The name "RiscBSD" nor the name of the author may be used to\r
+ * endorse or promote products derived from this software without specific\r
+ * prior written permission.\r
+ *\r
+ * THIS SOFTWARE IS PROVIDED BY RISCBSD ``AS IS'' AND ANY EXPRESS OR IMPLIED\r
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
+ * IN NO EVENT SHALL RISCBSD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ * SUCH DAMAGE.\r
+ */\r
+\r
+#ifndef _ARM_PARAM_H_\r
+#define _ARM_PARAM_H_\r
+\r
+/*\r
+ * Machine dependent constants for all ARM processors\r
+ */\r
+\r
+/*\r
+ * For KERNEL code:\r
+ * MACHINE must be defined by the individual port. This is so that\r
+ * uname returns the correct thing, etc.\r
+ *\r
+ * MACHINE_ARCH may be defined by individual ports as a temporary\r
+ * measure while we're finishing the conversion to ELF.\r
+ *\r
+ * For non-KERNEL code:\r
+ * If ELF, MACHINE and MACHINE_ARCH are forced to "arm/armeb".\r
+ */\r
+\r
+#if defined(_KERNEL)\r
+#ifndef MACHINE_ARCH /* XXX For now */\r
+#ifndef __ARMEB__\r
+#define _MACHINE_ARCH arm\r
+#define MACHINE_ARCH "arm"\r
+#else\r
+#define _MACHINE_ARCH armeb\r
+#define MACHINE_ARCH "armeb"\r
+#endif /* __ARMEB__ */\r
+#endif /* MACHINE_ARCH */\r
+#else\r
+#undef _MACHINE\r
+#undef MACHINE\r
+#undef _MACHINE_ARCH\r
+#undef MACHINE_ARCH\r
+#define _MACHINE arm\r
+#define MACHINE "arm"\r
+#ifndef __ARMEB__\r
+#define _MACHINE_ARCH arm\r
+#define MACHINE_ARCH "arm"\r
+#else\r
+#define _MACHINE_ARCH armeb\r
+#define MACHINE_ARCH "armeb"\r
+#endif /* __ARMEB__ */\r
+#endif /* !_KERNEL */\r
+\r
+#define MID_MACHINE MID_ARM6\r
+\r
+/*\r
+ * Round p (pointer or byte index) up to a correctly-aligned value\r
+ * for all data types (int, long, ...). The result is u_int and\r
+ * must be cast to any desired pointer type.\r
+ *\r
+ * ALIGNED_POINTER is a boolean macro that checks whether an address\r
+ * is valid to fetch data elements of type t from on this architecture.\r
+ * This does not reflect the optimal alignment, just the possibility\r
+ * (within reasonable limits).\r
+ *\r
+ */\r
+#define ALIGNBYTES (sizeof(int) - 1)\r
+#define ALIGN(p) (((u_int)(p) + ALIGNBYTES) &~ ALIGNBYTES)\r
+#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)\r
+/* ARM-specific macro to align a stack pointer (downwards). */\r
+#define STACKALIGNBYTES (8 - 1)\r
+#define STACKALIGN(p) ((u_int)(p) &~ STACKALIGNBYTES)\r
+\r
+#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */\r
+#define DEV_BSIZE (1 << DEV_BSHIFT)\r
+#define BLKDEV_IOSIZE 2048\r
+\r
+#ifndef MAXPHYS\r
+#define MAXPHYS 65536 /* max I/O transfer size */\r
+#endif\r
+\r
+/*\r
+ * Constants related to network buffer management.\r
+ * MCLBYTES must be no larger than NBPG (the software page size), and,\r
+ * on machines that exchange pages of input or output buffers with mbuf\r
+ * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple\r
+ * of the hardware page size.\r
+ */\r
+#define MSIZE 256 /* size of an mbuf */\r
+\r
+#ifndef MCLSHIFT\r
+#define MCLSHIFT 11 /* convert bytes to m_buf clusters */\r
+ /* 2K cluster can hold Ether frame */\r
+#endif /* MCLSHIFT */\r
+\r
+#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */\r
+\r
+#ifndef NMBCLUSTERS_MAX\r
+#define NMBCLUSTERS_MAX (0x2000000 / MCLBYTES) /* Limit to 64MB for clusters */\r
+#endif\r
+\r
+/*\r
+ * Compatibility /dev/zero mapping.\r
+ */\r
+#ifdef _KERNEL\r
+#ifdef COMPAT_16\r
+#define COMPAT_ZERODEV(x) (x == makedev(0, _DEV_ZERO_oARM))\r
+#endif\r
+#endif /* _KERNEL */\r
+\r
+#endif /* _ARM_PARAM_H_ */\r
**/\r
#ifndef _MACHINE_SIGNAL_H\r
#define _MACHINE_SIGNAL_H\r
-#include <sys/common.h>\r
+#include <sys/EfiCdefs.h>\r
\r
/** The type sig_atomic_t is the (possibly volatile-qualified) integer type of\r
an object that can be accessed as an atomic entity, even in the presence\r
--- /dev/null
+/** @file\r
+ Machine dependent type definitions.\r
+\r
+ Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials are licensed and made available\r
+ under the terms and conditions of the BSD License that accompanies this\r
+ distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php.\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+ Copyright (c) 1990 The Regents of the University of California.\r
+ All rights reserved.\r
+\r
+ Redistribution and use in source and binary forms, with or without\r
+ modification, are permitted provided that the following conditions\r
+ are met:\r
+ 1. Redistributions of source code must retain the above copyright\r
+ notice, this list of conditions and the following disclaimer.\r
+ 2. Redistributions in binary form must reproduce the above copyright\r
+ notice, this list of conditions and the following disclaimer in the\r
+ documentation and/or other materials provided with the distribution.\r
+ 3. Neither the name of the University nor the names of its contributors\r
+ may be used to endorse or promote products derived from this software\r
+ without specific prior written permission.\r
+\r
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
+ SUCH DAMAGE.\r
+\r
+ types.h 7.5 (Berkeley) 3/9/91\r
+ NetBSD: types.h,v 1.49 2006/09/03 13:51:23 bjh21 Exp\r
+**/\r
+#ifndef _MACHTYPES_H_\r
+#define _MACHTYPES_H_\r
+\r
+#include <sys/EfiCdefs.h>\r
+#include <sys/featuretest.h>\r
+#include <machine/int_types.h>\r
+\r
+/* Handle the long and unsigned long data types which EFI doesn't directly support. */\r
+//typedef INTN LONGN;\r
+//typedef UINTN ULONGN;\r
+\r
+typedef PHYSICAL_ADDRESS paddr_t;\r
+typedef UINT64 psize_t;\r
+typedef PHYSICAL_ADDRESS vaddr_t;\r
+typedef UINT64 vsize_t;\r
+\r
+typedef INT32 pmc_evid_t;\r
+typedef UINT64 pmc_ctr_t;\r
+typedef INT32 register_t;\r
+\r
+typedef volatile INT32 __cpu_simple_lock_t;\r
+\r
+#define __SIMPLELOCK_LOCKED 1\r
+#define __SIMPLELOCK_UNLOCKED 0\r
+\r
+/* The ARMv7 does not have strict alignment requirements. */\r
+#define __NO_STRICT_ALIGNMENT\r
+//TODO: Fixme for the ARM architecture that requires strict alignment\r
+\r
+#define __HAVE_DEVICE_REGISTER\r
+#define __HAVE_CPU_COUNTER\r
+#define __HAVE_SYSCALL_INTERN\r
+#define __HAVE_MINIMAL_EMUL\r
+#define __HAVE_OLD_DISKLABEL\r
+#define __HAVE_GENERIC_SOFT_INTERRUPTS\r
+#define __HAVE_CPU_MAXPROC\r
+#define __HAVE_TIMECOUNTER\r
+#define __HAVE_GENERIC_TODR\r
+\r
+#endif /* _MACHTYPES_H_ */\r
\r
#ifdef __GNUC__\r
#if __STDC__\r
- #ifndef DONT_USE_STRONG_WEAK_ALIAS\r
-#define __strong_alias(alias,sym) \\r
- __asm(".global " _C_LABEL_STRING(#alias) "\n" \\r
- _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
-#define __weak_alias(alias,sym) \\r
- __asm(".weak " _C_LABEL_STRING(#alias) "\n" \\r
- _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
-\r
-/* Do not use __weak_extern, use __weak_reference instead */\r
-#define __weak_extern(sym) \\r
- __asm(".weak " _C_LABEL_STRING(#sym));\r
-\r
-#if __GNUC_PREREQ__(4, 0)\r
-#define __weak_reference(sym) __attribute__((__weakref__))\r
-#else\r
-#define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym))\r
-#endif\r
-\r
-#define __warn_references(sym,msg) \\r
- __asm(".stabs \"" msg "\",30,0,0,0"); \\r
- __asm(".stabs \"_" #sym "\",1,0,0,0");\r
+ #ifndef DONT_USE_STRONG_WEAK_ALIAS\r
+ #define __strong_alias(alias,sym) \\r
+ __asm(".global " _C_LABEL_STRING(#alias) "\n" \\r
+ _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
+ #define __weak_alias(alias,sym) \\r
+ __asm(".weak " _C_LABEL_STRING(#alias) "\n" \\r
+ _C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));\r
+\r
+ /* Do not use __weak_extern, use __weak_reference instead */\r
+ #define __weak_extern(sym) \\r
+ __asm(".weak " _C_LABEL_STRING(#sym));\r
+\r
+ #if __GNUC_PREREQ__(4, 0)\r
+ #define __weak_reference(sym) __attribute__((__weakref__))\r
#else\r
- #define __strong_alias(alias,sym) /* NOTHING */\r
- #define __weak_alias(alias,sym) /* NOTHING */\r
- #define __weak_extern(sym) /* NOTHING */\r
- #define __weak_reference(sym) /* NOTHING */\r
+ #define __weak_reference(sym) ; __asm(".weak " _C_LABEL_STRING(#sym))\r
+ #endif\r
+\r
+ #define __warn_references(sym,msg) \\r
+ __asm(".stabs \"" msg "\",30,0,0,0"); \\r
+ __asm(".stabs \"_" #sym "\",1,0,0,0");\r
+ #else\r
+ #define __strong_alias(alias,sym) /* NOTHING */\r
+ #define __weak_alias(alias,sym) /* NOTHING */\r
+ #define __weak_extern(sym) /* NOTHING */\r
+ #define __weak_reference(sym) /* NOTHING */\r
\r
+ #if !defined(__CC_ARM)\r
#define __warn_references(sym,msg) \\r
__asm(".stabs \"" msg "\",30,0,0,0"); \\r
__asm(".stabs \"_" #sym "\",1,0,0,0");\r
+ #else\r
+ #define __warn_references(sym,msg)\r
#endif\r
-#else /* __STDC__ */\r
-#define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)\r
-#define ___weak_alias(alias,sym) \\r
- __asm(".weak alias\nalias = sym");\r
-/* Do not use __weak_extern, use __weak_reference instead */\r
-#define __weak_extern(sym) ___weak_extern(_/**/sym)\r
-#define ___weak_extern(sym) \\r
- __asm(".weak sym");\r
-\r
-#if __GNUC_PREREQ__(4, 0)\r
-#define __weak_reference(sym) __attribute__((__weakref__))\r
-#else\r
-#define ___weak_reference(sym) ; __asm(".weak sym");\r
-#define __weak_reference(sym) ___weak_reference(_/**/sym)\r
-#endif\r
-\r
-#define __warn_references(sym,msg) \\r
- __asm(".stabs msg,30,0,0,0"); \\r
- __asm(".stabs \"_/**/sym\",1,0,0,0");\r
+ #endif\r
+#else /* __STDC__ */\r
+ #define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)\r
+ #define ___weak_alias(alias,sym) \\r
+ __asm(".weak alias\nalias = sym");\r
+ /* Do not use __weak_extern, use __weak_reference instead */\r
+ #define __weak_extern(sym) ___weak_extern(_/**/sym)\r
+ #define ___weak_extern(sym) \\r
+ __asm(".weak sym");\r
+\r
+ #if __GNUC_PREREQ__(4, 0)\r
+ #define __weak_reference(sym) __attribute__((__weakref__))\r
+ #else\r
+ #define ___weak_reference(sym) ; __asm(".weak sym");\r
+ #define __weak_reference(sym) ___weak_reference(_/**/sym)\r
+ #endif\r
+\r
+ #define __warn_references(sym,msg) \\r
+ __asm(".stabs msg,30,0,0,0"); \\r
+ __asm(".stabs \"_/**/sym\",1,0,0,0");\r
#endif /* __STDC__ */\r
#else /* __GNUC__ */\r
-#define __warn_references(sym,msg)\r
+ #define __warn_references(sym,msg)\r
#endif /* __GNUC__ */\r
\r
#if defined(__sh__) /* XXX SH COFF */\r
-/* $NetBSD: flt_rounds.c,v 1.3 2006/02/25 00:58:35 wiz Exp $ */\r
+/* $NetBSD: flt_rounds.c,v 1.3 2006/02/25 00:58:35 wiz Exp $ */\r
\r
/*\r
* Copyright (c) 1996 Mark Brinicombe\r
* 3. All advertising materials mentioning features or use of this software\r
* must display the following acknowledgement:\r
* This product includes software developed by Mark Brinicombe\r
- * for the NetBSD Project.\r
+ * for the NetBSD Project.\r
* 4. The name of the author may not be used to endorse or promote products\r
* derived from this software without specific prior written permission\r
*\r
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
*/\r
\r
-#include <sys/cdefs.h>\r
+#include <sys/EfiCdefs.h>\r
#if defined(LIBC_SCCS) && !defined(lint)\r
__RCSID("$NetBSD: flt_rounds.c,v 1.3 2006/02/25 00:58:35 wiz Exp $");\r
#endif /* LIBC_SCCS and not lint */\r
\r
#include <sys/types.h>\r
-#include <ieeefp.h>\r
+//#include <ieeefp.h>\r
\r
static const int map[] = {\r
- 1, /* round to nearest */\r
- 2, /* round to positive infinity */\r
- 3, /* round to negative infinity */\r
- 0 /* round to zero */\r
+ 1, /* round to nearest */\r
+ 2, /* round to positive infinity */\r
+ 3, /* round to negative infinity */\r
+ 0 /* round to zero */\r
};\r
\r
/*\r
* Return the current FP rounding mode\r
*\r
* Returns:\r
- * 0 - round to zero\r
- * 1 - round to nearest\r
- * 2 - round to postive infinity\r
- * 3 - round to negative infinity\r
+ * 0 - round to zero\r
+ * 1 - round to nearest\r
+ * 2 - round to postive infinity\r
+ * 3 - round to negative infinity\r
*\r
* ok all we need to do is get the current FP rounding mode\r
* index our map table and return the appropriate value.\r
int\r
__flt_rounds()\r
{\r
- return(map[fpgetround()]);\r
+ //return(map[fpgetround()]);\r
+ return 1; //TODO: FixMe\r
}\r
PLATFORM_VERSION = 0.01\r
DSC_SPECIFICATION = 0x00010006\r
OUTPUT_DIRECTORY = Build/StdLib\r
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64\r
+ SUPPORTED_ARCHITECTURES = IA32|IPF|X64|ARM\r
BUILD_TARGETS = DEBUG|RELEASE\r
SKUID_IDENTIFIER = DEFAULT\r
\r
PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf\r
TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf\r
\r
+[LibraryClasses.ARM.UEFI_APPLICATION]\r
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+ TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
+\r
+\r
!else\r
# Use this instance if Running in an Emulation Environment.\r
[LibraryClasses.Common.UEFI_APPLICATION]\r
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
+\r
+[LibraryClasses.ARM.UEFI_APPLICATION]\r
+ NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
!endif\r
\r
[Components]\r
!ifndef $(EMULATE)\r
# These Build Options are used when building the Standard Libraries to be run\r
# on real hardware.\r
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding\r
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t\r
- GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib\r
+ INTEL:*_*_*_CC_FLAGS = /Qfreestanding\r
+ MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t\r
+ GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib\r
+ RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm -DNT32dvm\r
+ ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length -DNT32dvm\r
\r
!else\r
# The Build Options, below, are only used when building the Standard Libraries\r
MSFT:*_*_IA32_CC_FLAGS = /Od /D NT32dvm\r
GCC:*_*_IA32_CC_FLAGS = -O0 -DNT32dvm\r
!endif\r
+\r
+\r