summaryrefslogtreecommitdiff
path: root/StdLib
diff options
context:
space:
mode:
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-24 01:19:06 +0000
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-24 01:19:06 +0000
commitd78fab6b4e9be83b781212f6a9f3fde0c092e81d (patch)
treec16ad39d0aa2ca7f1c62a39b68121db6d4fb5b05 /StdLib
parent2df686c67c7819e01a1487dd703faffef2b59dce (diff)
EADK (StdLib, AppPkg, StdLibPrivateInternalFiles): Python Beta Release.
Clean up and clearly differentiate required and optional items in configuration files. Enable the system command and synchronize configuration options between all CPU architectures. Replace the UEFI_ENV macro with UEFI_C_SOURCE to align with Linux and Posix conventions. Update copyrights and versions and make minor cosmetic enhancements to files. Fix compiler-specific build errors. Add Python-specific ReadMe file. Signed-off-by: darylm503 Reviewed-by: geekboy15a Reviewed-by: jljusten Reviewed-by: leegrosenbaum git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13119 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'StdLib')
-rw-r--r--StdLib/Include/Ia32/machine/param.h154
-rw-r--r--StdLib/Include/Ipf/machine/param.h114
-rw-r--r--StdLib/Include/X64/machine/param.h115
-rw-r--r--StdLib/Include/sys/EfiCdefs.h10
-rw-r--r--StdLib/LibC/Main/Main.c6
-rw-r--r--StdLib/LibC/gdtoa/strtod.c79
-rw-r--r--StdLib/LibC/gdtoa/strtodg.c71
-rw-r--r--StdLib/StdLib.inc22
8 files changed, 275 insertions, 296 deletions
diff --git a/StdLib/Include/Ia32/machine/param.h b/StdLib/Include/Ia32/machine/param.h
index 72da83f48..9b57a32af 100644
--- a/StdLib/Include/Ia32/machine/param.h
+++ b/StdLib/Include/Ia32/machine/param.h
@@ -1,6 +1,15 @@
-/* $NetBSD: param.h,v 1.61 2006/08/28 13:43:35 yamt Exp $ */
+/** @file
+ Machine dependent constants for Intel IA32 Architecture.
+
+ 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.
+
+ 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.
*
@@ -31,29 +40,17 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)param.h 5.8 (Berkeley) 6/28/91
+ * @(#)param.h 5.8 (Berkeley) 6/28/91
+ * $NetBSD: param.h,v 1.61 2006/08/28 13:43:35 yamt Exp
*/
-
#ifndef _I386_PARAM_H_
#define _I386_PARAM_H_
-/*
- * Machine dependent constants for Intel 386.
- */
-
-#ifdef _KERNEL
-#ifdef _LOCORE
-#include <machine/psl.h>
-#else
-#include <machine/cpu.h>
-#endif
-#endif
-
-#define _MACHINE i386
-#define MACHINE "i386"
-#define _MACHINE_ARCH i386
-#define MACHINE_ARCH "i386"
-#define MID_MACHINE MID_I386
+#define _MACHINE i386
+#define MACHINE "i386"
+#define _MACHINE_ARCH i386
+#define MACHINE_ARCH "i386"
+#define MID_MACHINE MID_I386
/*
* Round p (pointer or byte index) up to a correctly-aligned value
@@ -63,58 +60,39 @@
* 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).
+ * (within reasonable limits).
*
*/
-#define ALIGNBYTES (sizeof(int) - 1)
-#define ALIGN(p) (((u_int)(u_long)(p) + ALIGNBYTES) &~ \
- ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) 1
-
-#define PGSHIFT 12 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-
-#if defined(_KERNEL_OPT)
-#include "opt_kernbase.h"
-#endif /* defined(_KERNEL_OPT) */
-
-#ifdef KERNBASE_LOCORE
-#error "You should only re-define KERNBASE"
+#define ALIGNBYTES (sizeof(int) - 1)
+#define ALIGN(p) (((EFI_ULONG_T)(p) + ALIGNBYTES) & ~ALIGNBYTES)
+#define ALIGNED_POINTER(p,t) 1
+
+#define PGSHIFT 12 /* LOG2(NBPG) */
+#define NBPG (1 << PGSHIFT) /* bytes/page */
+#define PGOFSET (NBPG-1) /* byte offset into page */
+#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
+
+#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
+#define DEV_BSIZE (1 << DEV_BSHIFT)
+#define BLKDEV_IOSIZE 2048
+#ifndef MAXPHYS
+ #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
#endif
-#ifndef KERNBASE
-#define KERNBASE 0xc0000000UL /* start of kernel virtual space */
-#endif
-
-#define KERNTEXTOFF (KERNBASE + 0x100000) /* start of kernel text */
-#define BTOPKERNBASE (KERNBASE >> PGSHIFT)
-
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
-#ifndef MAXPHYS
-#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
-#endif
-
-#define SSIZE 1 /* initial stack size/NBPG */
-#define SINCR 1 /* increment of stack/NBPG */
+#define SSIZE 1 /* initial stack size/NBPG */
+#define SINCR 1 /* increment of stack/NBPG */
-#ifdef _KERNEL_OPT
-#include "opt_noredzone.h"
-#endif
#ifndef UPAGES
-#ifdef NOREDZONE
-#define UPAGES 2 /* pages of u-area */
-#else
-#define UPAGES 3
-#endif /*NOREDZONE */
+ #ifdef NOREDZONE
+ #define UPAGES 2 /* pages of u-area */
+ #else
+ #define UPAGES 3
+ #endif /*NOREDZONE */
#endif /* !defined(UPAGES) */
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
+#define USPACE (UPAGES * NBPG) /* total size of u-area */
#ifndef MSGBUFSIZE
-#define MSGBUFSIZE 4*NBPG /* default message buffer size */
+ #define MSGBUFSIZE 4*NBPG /* default message buffer size */
#endif
/*
@@ -124,51 +102,47 @@
* clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
* of the hardware page size.
*/
-#define MSIZE 256 /* size of an mbuf */
+#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 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 */
+#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
#ifndef NMBCLUSTERS
-#if defined(_KERNEL_OPT)
-#include "opt_gateway.h"
-#endif
-
-#ifdef GATEWAY
-#define NMBCLUSTERS 2048 /* map size, max cluster allocation */
-#else
-#define NMBCLUSTERS 1024 /* map size, max cluster allocation */
-#endif
+ #ifdef GATEWAY
+ #define NMBCLUSTERS 2048 /* map size, max cluster allocation */
+ #else
+ #define NMBCLUSTERS 1024 /* map size, max cluster allocation */
+ #endif
#endif
#ifndef NFS_RSIZE
-#define NFS_RSIZE 32768
+ #define NFS_RSIZE 32768
#endif
#ifndef NFS_WSIZE
-#define NFS_WSIZE 32768
+ #define NFS_WSIZE 32768
#endif
/*
* Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
* logical pages.
*/
-#define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
-#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
+#define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
+#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
/*
* Mach derived conversion macros
*/
-#define x86_round_pdr(x) ((((unsigned)(x)) + PDOFSET) & ~PDOFSET)
-#define x86_trunc_pdr(x) ((unsigned)(x) & ~PDOFSET)
-#define x86_btod(x) ((unsigned)(x) >> PDSHIFT)
-#define x86_dtob(x) ((unsigned)(x) << PDSHIFT)
-#define x86_round_page(x) ((((unsigned)(x)) + PGOFSET) & ~PGOFSET)
-#define x86_trunc_page(x) ((unsigned)(x) & ~PGOFSET)
-#define x86_btop(x) ((unsigned)(x) >> PGSHIFT)
-#define x86_ptob(x) ((unsigned)(x) << PGSHIFT)
+#define x86_round_pdr(x) ((((EFI_ULONG_T)(x)) + PDOFSET) & ~PDOFSET)
+#define x86_trunc_pdr(x) ((EFI_ULONG_T)(x) & ~PDOFSET)
+#define x86_btod(x) ((EFI_ULONG_T)(x) >> PDSHIFT)
+#define x86_dtob(x) ((EFI_ULONG_T)(x) << PDSHIFT)
+#define x86_round_page(x) ((((EFI_ULONG_T)(x)) + PGOFSET) & ~PGOFSET)
+#define x86_trunc_page(x) ((EFI_ULONG_T)(x) & ~PGOFSET)
+#define x86_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
+#define x86_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
#endif /* _I386_PARAM_H_ */
diff --git a/StdLib/Include/Ipf/machine/param.h b/StdLib/Include/Ipf/machine/param.h
index 1d7180606..c832f3487 100644
--- a/StdLib/Include/Ipf/machine/param.h
+++ b/StdLib/Include/Ipf/machine/param.h
@@ -1,6 +1,15 @@
-/* $NetBSD: param.h,v 1.2 2006/08/28 13:43:35 yamt Exp $ */
+/** @file
+ Machine dependent constants for Intel Itanium Architecture(IPF).
+
+ 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.
+
+ 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.
*
@@ -31,47 +40,43 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)param.h 5.8 (Berkeley) 6/28/91
+ * @(#)param.h 5.8 (Berkeley) 6/28/91
+ * $NetBSD: param.h,v 1.2 2006/08/28 13:43:35 yamt Exp
*/
-
#ifndef _IA64_PARAM_H_
#define _IA64_PARAM_H_
-/*
- * Machine dependent constants for Intel Itanium.
- */
-
-#define _MACHINE ia64
-#define MACHINE "ia64"
-#define _MACHINE_ARCH ia64
-#define MACHINE_ARCH "ia64"
-#define MID_MACHINE MID_IA64
+#define _MACHINE ia64
+#define MACHINE "ia64"
+#define _MACHINE_ARCH ia64
+#define MACHINE_ARCH "ia64"
+#define MID_MACHINE MID_IA64
#ifdef SMP
-#define MAXCPU 16
+#define MAXCPU 512
#else
-#define MAXCPU 1
+#define MAXCPU 1
#endif
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1<<DEV_BSHIFT)
-#define BLKDEV_IOSIZE 2048
+#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
+#define DEV_BSIZE (1<<DEV_BSHIFT)
+#define BLKDEV_IOSIZE 2048
#ifndef MAXPHYS
-#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
+#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
#endif
-#define UPAGES 4
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
+#define UPAGES 4
+#define USPACE (UPAGES * NBPG) /* total size of u-area */
#ifndef MSGBUFSIZE
-#define MSGBUFSIZE NBPG /* default message buffer size */
+#define MSGBUFSIZE NBPG /* default message buffer size */
#endif
-#ifndef KSTACK_PAGES
-#define KSTACK_PAGES 4 /* pages of kernel stack */
+#ifndef KSTACK_PAGES
+#define KSTACK_PAGES 4 /* pages of kernel stack */
#endif
-#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */
+#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */
/*
* Round p (pointer or byte index) up to a correctly-aligned value
@@ -81,21 +86,21 @@
* 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).
+ * (within reasonable limits).
*
*/
-#define ALIGNBYTES 15
-#define ALIGN(p) (((u_long)(p) + ALIGNBYTES) &~ ALIGNBYTES)
-#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)
+#define ALIGNBYTES 15
+#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ ALIGNBYTES)
+#define ALIGNED_POINTER(p,t) ((((UINT64)(p)) & (sizeof(t)-1)) == 0)
-#define ALIGNBYTES32 (sizeof(int) - 1)
-#define ALIGN32(p) (((u_long)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
+#define ALIGNBYTES32 (sizeof(INT32) - 1)
+#define ALIGN32(p) (((UINT64)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
-#define PGSHIFT 14 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
+#define PGSHIFT 14 /* LOG2(NBPG) */
+#define NBPG (1 << PGSHIFT) /* bytes/page */
+#define PGOFSET (NBPG-1) /* byte offset into page */
+#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
/*
* Constants related to network buffer management.
* MCLBYTES must be no larger than NBPG (the software page size), and,
@@ -103,24 +108,19 @@
* clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
* of the hardware page size.
*/
-#define MSIZE 256 /* size of an mbuf */
+#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 */
+ #define MCLSHIFT 11 /* convert bytes to m_buf clusters */
+ /* 2K cluster can hold Ether frame */
+#endif /* MCLSHIFT */
-#ifndef NMBCLUSTERS
-#if defined(_KERNEL_OPT)
-#include "opt_gateway.h"
-#endif
+#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
#ifdef GATEWAY
-#define NMBCLUSTERS 2048 /* map size, max cluster allocation */
+ #define NMBCLUSTERS 2048 /* map size, max cluster allocation */
#else
-#define NMBCLUSTERS 1024 /* map size, max cluster allocation */
+ #define NMBCLUSTERS 1024 /* map size, max cluster allocation */
#endif
#endif
@@ -128,25 +128,17 @@
* Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
* logical pages.
*/
-#define NKMEMPAGES_MIN_DEFAULT ((12 * 1024 * 1024) >> PAGE_SHIFT)
-#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
+#define NKMEMPAGES_MIN_DEFAULT ((12 * 1024 * 1024) >> PAGE_SHIFT)
+#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)
/*
* Mach derived conversion macros
*/
-#define ia64_round_page(x) ((((unsigned long)(x)) + NBPG - 1) & ~(NBPG - 1))
-#define ia64_trunc_page(x) ((unsigned long)(x) & ~(NBPG - 1))
-
-#define ia64_btop(x) ((unsigned long)(x) >> PGSHIFT)
-#define ia64_ptob(x) ((unsigned long)(x) << PGSHIFT)
-
-#ifdef _KERNEL
-#ifndef _LOCORE
-
-#include <machine/intr.h>
+#define ia64_round_page(x) ((((EFI_ULONG_T)(x)) + NBPG - 1) & ~(NBPG - 1))
+#define ia64_trunc_page(x) ((EFI_ULONG_T)(x) & ~(NBPG - 1))
-#endif /* _LOCORE */
-#endif /* _KERNEL */
+#define ia64_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
+#define ia64_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
#endif /* _IA64_PARAM_H_ */
diff --git a/StdLib/Include/X64/machine/param.h b/StdLib/Include/X64/machine/param.h
index abb979003..852690902 100644
--- a/StdLib/Include/X64/machine/param.h
+++ b/StdLib/Include/X64/machine/param.h
@@ -1,10 +1,25 @@
-/* $NetBSD: param.h,v 1.3 2006/08/28 13:43:35 yamt Exp $ */
+/** @file
+ Machine dependent constants for the Intel64 Architecture(X64).
-#define _MACHINE amd64
-#define MACHINE "amd64"
+ 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.
+
+ 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: param.h,v 1.3 2006/08/28 13:43:35 yamt Exp
+**/
+#ifndef _X64_PARAM_H_
+#define _X64_PARAM_H_
+
+#define _MACHINE amd64
+#define MACHINE "amd64"
#define _MACHINE_ARCH x86_64
#define MACHINE_ARCH "x86_64"
-#define MID_MACHINE MID_X86_64
+#define MID_MACHINE MID_X86_64
/*
* Round p (pointer or byte index) up to a correctly-aligned value
@@ -17,46 +32,32 @@
* (within reasonable limits).
*
*/
-#define ALIGNBYTES (sizeof(INT64) - 1)
-#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ALIGNBYTES)
+#define ALIGNBYTES (sizeof(INT64) - 1)
+#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ALIGNBYTES)
#define ALIGNED_POINTER(p,t) 1
-#define ALIGNBYTES32 (sizeof(INT32) - 1)
-#define ALIGN32(p) (((UINT32)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
-
-#define PGSHIFT 12 /* LOG2(NBPG) */
-#define NBPG (1 << PGSHIFT) /* bytes/page */
-#define PGOFSET (NBPG-1) /* byte offset into page */
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-
-/*
- * XXXfvdl change this (after bootstrap) to take # of bits from
- * config info into account.
- */
-#define KERNBASE 0xffffffff80000000 /* start of kernel virtual space */
-#define KERNTEXTOFF 0xffffffff80100000 /* start of kernel text */
-#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT)
-
-#define KERNTEXTOFF_HI 0xffffffff
-#define KERNTEXTOFF_LO 0x80100000
+#define ALIGNBYTES32 (sizeof(INT32) - 1)
+#define ALIGN32(p) (((UINT64)(p) + ALIGNBYTES32) &~ALIGNBYTES32)
-#define KERNBASE_HI 0xffffffff
-#define KERNBASE_LO 0x80000000
+#define PGSHIFT 12 /* LOG2(NBPG) */
+#define NBPG (1 << PGSHIFT) /* bytes/page */
+#define PGOFSET (NBPG-1) /* byte offset into page */
+#define NPTEPG (NBPG/(sizeof (pt_entry_t)))
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
-#define DEV_BSIZE (1 << DEV_BSHIFT)
+#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */
+#define DEV_BSIZE (1 << DEV_BSHIFT)
#define BLKDEV_IOSIZE 2048
#ifndef MAXPHYS
-#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
+ #define MAXPHYS (64 * 1024) /* max raw I/O transfer size */
#endif
-#define SSIZE 1 /* initial stack size/NBPG */
-#define SINCR 1 /* increment of stack/NBPG */
-#define UPAGES 5 /* pages of u-area */
-#define USPACE (UPAGES * NBPG) /* total size of u-area */
+#define SSIZE 1 /* initial stack size/NBPG */
+#define SINCR 1 /* increment of stack/NBPG */
+#define UPAGES 5 /* pages of u-area */
+#define USPACE (UPAGES * NBPG) /* total size of u-area */
#ifndef MSGBUFSIZE
-#define MSGBUFSIZE 4*NBPG /* default message buffer size */
+ #define MSGBUFSIZE 4*NBPG /* default message buffer size */
#endif
/*
@@ -66,14 +67,14 @@
* clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
* of the hardware page size.
*/
-#define MSIZE 512 /* size of an mbuf */
+#define MSIZE 512 /* size of an mbuf */
#ifndef MCLSHIFT
-#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
- /* 2K cluster can hold Ether frame */
+ #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 */
+#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
#ifndef NMBCLUSTERS
#ifdef GATEWAY
@@ -84,39 +85,21 @@
#endif
#ifndef NFS_RSIZE
- #define NFS_RSIZE 32768
+ #define NFS_RSIZE 32768
#endif
#ifndef NFS_WSIZE
- #define NFS_WSIZE 32768
+ #define NFS_WSIZE 32768
#endif
-/*
- * Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized
- * logical pages.
- */
-//#define NKMEMPAGES_MIN_DEFAULT ((8 * 1024 * 1024) >> PAGE_SHIFT)
-//#define NKMEMPAGES_MAX_DEFAULT ((1 *1024 * 1024 * 1024) >> PAGE_SHIFT)
+#define x86_round_page(x) ((((EFI_ULONG_T)(x)) + PGOFSET) & ~PGOFSET)
+#define x86_trunc_page(x) ((EFI_ULONG_T)(x) & ~PGOFSET)
+#define x86_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)
+#define x86_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)
-/*
- * XXXfvdl the PD* stuff is different from i386.
- */
-/*
- * Mach derived conversion macros
- */
-#ifdef MACH_DCM
- #define x86_round_pdr(x) ((((unsigned long)(x)) + (NBPD_L2 - 1)) & ~(NBPD_L2 - 1))
- #define x86_trunc_pdr(x) ((unsigned long)(x) & ~(NBPD_L2 - 1))
- #define x86_btod(x) ((unsigned long)(x) >> L2_SHIFT)
- #define x86_dtob(x) ((unsigned long)(x) << L2_SHIFT)
-#endif // MACH_DCM
-
-#define x86_round_page(x) ((((ULONG32)(x)) + PGOFSET) & ~PGOFSET)
-#define x86_trunc_page(x) ((ULONG32)(x) & ~PGOFSET)
-#define x86_btop(x) ((ULONG32)(x) >> PGSHIFT)
-#define x86_ptob(x) ((ULONG32)(x) << PGSHIFT)
-
-#define btop(x) x86_btop(x)
-#define ptob(x) x86_ptob(x)
+#define btop(x) x86_btop(x)
+#define ptob(x) x86_ptob(x)
#define round_pdr(x) x86_round_pdr(x)
#define mstohz(ms) ((ms + 0UL) * hz / 1000)
+
+#endif /* _X64_PARAM_H_ */
diff --git a/StdLib/Include/sys/EfiCdefs.h b/StdLib/Include/sys/EfiCdefs.h
index 812a495d9..be114ddbe 100644
--- a/StdLib/Include/sys/EfiCdefs.h
+++ b/StdLib/Include/sys/EfiCdefs.h
@@ -22,7 +22,7 @@
This file and its contents are inspired by the <sys/cdefs.h> files in Berkeley
Unix. They have been re-implemented to be specific to the EFI environment.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ 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
@@ -330,6 +330,10 @@
#error You must specify /Zc:wchar_t- to the compiler to turn off intrinsic wchar_t.
#endif
+ /* Get rid of pre-defined macros that are misleading in this environment. */
+ #undef _WIN32
+ #undef _WIN64
+
// Keep compiler quiet about casting from smaller to larger types
#pragma warning ( disable : 4306 )
#endif /* defined(_MSC_VER) */
@@ -344,8 +348,8 @@ typedef UINT32 ULONG32;
typedef INT64 LONG64;
typedef UINT64 ULONG64;
-typedef INT32 EFI_LONG_T;
-typedef UINT32 EFI_ULONG_T;
+typedef INTN EFI_LONG_T;
+typedef UINTN EFI_ULONG_T;
/* These types reflect the compiler's size for long */
#if defined(__GNUC__)
diff --git a/StdLib/LibC/Main/Main.c b/StdLib/LibC/Main/Main.c
index 59a72bd63..523965fa4 100644
--- a/StdLib/LibC/Main/Main.c
+++ b/StdLib/LibC/Main/Main.c
@@ -4,7 +4,7 @@
All of the global data in the gMD structure is initialized to 0, NULL, or
SIG_DFL; as appropriate.
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+ 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
@@ -74,7 +74,7 @@ static
char **
ArgvConvert(UINTN Argc, CHAR16 **Argv)
{
- size_t AVsz; /* Size of a single nArgv string */
+ ssize_t AVsz; /* Size of a single nArgv string, or -1 */
UINTN count;
char **nArgv;
char *string;
@@ -90,7 +90,7 @@ DEBUG_CODE_END();
nArgvSize = Argc;
/* Determine space needed for narrow Argv strings. */
for(count = 0; count < Argc; ++count) {
- AVsz = wcstombs(NULL, Argv[count], ARG_MAX);
+ AVsz = (ssize_t)wcstombs(NULL, Argv[count], ARG_MAX);
if(AVsz < 0) {
Print(L"ABORTING: Argv[%d] contains an unconvertable character.\n", count);
exit(EXIT_FAILURE);
diff --git a/StdLib/LibC/gdtoa/strtod.c b/StdLib/LibC/gdtoa/strtod.c
index 989663a01..5cc6b8e44 100644
--- a/StdLib/LibC/gdtoa/strtod.c
+++ b/StdLib/LibC/gdtoa/strtod.c
@@ -1,35 +1,48 @@
-/* $NetBSD: strtod.c,v 1.4.14.1 2008/04/08 21:10:55 jdc Exp $ */
-
-/****************************************************************
-
-The author of this software is David M. Gay.
-
-Copyright (C) 1998-2001 by Lucent Technologies
-All Rights Reserved
-
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that the above copyright notice appear in all
-copies and that both that the copyright notice and this
-permission notice and warranty disclaimer appear in supporting
-documentation, and that the name of Lucent or any of its entities
-not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
-
-LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
-IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
-SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
-IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-THIS SOFTWARE.
-
-****************************************************************/
-
-/* Please send bug reports to David M. Gay (dmg at acm dot org,
- * with " at " changed at "@" and " dot " changed to "."). */
+/** @file
+
+ Copyright (c) 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.
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+ *****************************************************************
+
+ The author of this software is David M. Gay.
+
+ Copyright (C) 1998-2001 by Lucent Technologies
+ All Rights Reserved
+
+ Permission to use, copy, modify, and distribute this software and
+ its documentation for any purpose and without fee is hereby
+ granted, provided that the above copyright notice appear in all
+ copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of Lucent or any of its entities
+ not be used in advertising or publicity pertaining to
+ distribution of the software without specific, written prior
+ permission.
+
+ LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+ IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ THIS SOFTWARE.
+
+
+ Please send bug reports to David M. Gay (dmg at acm dot org,
+ with " at " changed at "@" and " dot " changed to ".").
+
+ *****************************************************************
+
+ NetBSD: strtod.c,v 1.4.14.1 2008/04/08 21:10:55 jdc Exp
+**/
#include <LibConfig.h>
#include "gdtoaimp.h"
@@ -477,7 +490,7 @@ strtod(CONST char *s00, char **se)
for(j = 0; e1 > 0; j++, e1 = (unsigned int)e1 >> 1)
if (e1 & 1)
dval(rv) *= tinytens[j];
- if (scale && (j = 2*P + 1 - ((word0(rv) & Exp_mask)
+ if (scale && (j = 2*P + 1 - (unsigned int)((word0(rv) & Exp_mask)
>> Exp_shift)) > 0) {
/* scaled rv is denormal; zap j low bits */
if (j >= 32) {
diff --git a/StdLib/LibC/gdtoa/strtodg.c b/StdLib/LibC/gdtoa/strtodg.c
index fc0ae7cf3..a8c28cf09 100644
--- a/StdLib/LibC/gdtoa/strtodg.c
+++ b/StdLib/LibC/gdtoa/strtodg.c
@@ -1,35 +1,48 @@
-/* $NetBSD: strtodg.c,v 1.5.14.1 2008/04/08 21:10:55 jdc Exp $ */
+/** @file
-/****************************************************************
+ Copyright (c) 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.
-The author of this software is David M. Gay.
+ 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) 1998-2001 by Lucent Technologies
-All Rights Reserved
+ *****************************************************************
-Permission to use, copy, modify, and distribute this software and
-its documentation for any purpose and without fee is hereby
-granted, provided that the above copyright notice appear in all
-copies and that both that the copyright notice and this
-permission notice and warranty disclaimer appear in supporting
-documentation, and that the name of Lucent or any of its entities
-not be used in advertising or publicity pertaining to
-distribution of the software without specific, written prior
-permission.
+ The author of this software is David M. Gay.
-LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
-IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
-SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
-IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-THIS SOFTWARE.
+ Copyright (C) 1998-2001 by Lucent Technologies
+ All Rights Reserved
-****************************************************************/
+ Permission to use, copy, modify, and distribute this software and
+ its documentation for any purpose and without fee is hereby
+ granted, provided that the above copyright notice appear in all
+ copies and that both that the copyright notice and this
+ permission notice and warranty disclaimer appear in supporting
+ documentation, and that the name of Lucent or any of its entities
+ not be used in advertising or publicity pertaining to
+ distribution of the software without specific, written prior
+ permission.
-/* Please send bug reports to David M. Gay (dmg at acm dot org,
- * with " at " changed at "@" and " dot " changed to "."). */
+ LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+ IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+ IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ THIS SOFTWARE.
+
+
+ Please send bug reports to David M. Gay (dmg at acm dot org,
+ with " at " changed at "@" and " dot " changed to ".").
+
+ *****************************************************************
+
+ NetBSD: strtodg.c,v 1.5.14.1 2008/04/08 21:10:55 jdc Exp
+**/
#include <LibConfig.h>
#include "gdtoaimp.h"
@@ -611,14 +624,14 @@ strtodg
if (e1 &= ~15) {
e1 = (unsigned int)e1 >> 4;
while(e1 >= (1 << (n_bigtens-1))) {
- e2 += ((word0(rv) & Exp_mask)
+ e2 += (unsigned int)((word0(rv) & Exp_mask)
>> Exp_shift1) - Bias;
word0(rv) &= ~Exp_mask;
word0(rv) |= Bias << Exp_shift1;
dval(rv) *= bigtens[n_bigtens-1];
e1 -= 1 << (n_bigtens-1);
}
- e2 += ((word0(rv) & Exp_mask) >> Exp_shift1) - Bias;
+ e2 += (unsigned int)((word0(rv) & Exp_mask) >> Exp_shift1) - Bias;
word0(rv) &= ~Exp_mask;
word0(rv) |= Bias << Exp_shift1;
for(j = 0; e1 > 0; j++, e1 = (unsigned int)e1 >> 1)
@@ -633,14 +646,14 @@ strtodg
if (e1 &= ~15) {
e1 = (unsigned int)e1 >> 4;
while(e1 >= (1 << (n_bigtens-1))) {
- e2 += ((word0(rv) & Exp_mask)
+ e2 += (unsigned int)((word0(rv) & Exp_mask)
>> Exp_shift1) - Bias;
word0(rv) &= ~Exp_mask;
word0(rv) |= Bias << Exp_shift1;
dval(rv) *= tinytens[n_bigtens-1];
e1 -= 1 << (n_bigtens-1);
}
- e2 += ((word0(rv) & Exp_mask) >> Exp_shift1) - Bias;
+ e2 += (unsigned int)((word0(rv) & Exp_mask) >> Exp_shift1) - Bias;
word0(rv) &= ~Exp_mask;
word0(rv) |= Bias << Exp_shift1;
for(j = 0; e1 > 0; j++, e1 = (unsigned int)e1 >> 1)
diff --git a/StdLib/StdLib.inc b/StdLib/StdLib.inc
index fa1865659..013977c52 100644
--- a/StdLib/StdLib.inc
+++ b/StdLib/StdLib.inc
@@ -5,7 +5,7 @@
# The including DSC file must DEFINE the EMULATE macro if
# the application is to be run in an emulation environment.
#
-# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2011 - 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
# which accompanies this distribution. The full text of the license may be found at
@@ -90,19 +90,19 @@
!ifndef $(EMULATE)
# These Build Options are used when building the Standard Libraries to be run
# on real hardware.
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t
- GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib
- RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
- ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
+ INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE
+ MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE
+ GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE
+ RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
+ ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
!else
# The Build Options, below, are only used when building the Standard Libraries
# to be run under an emulation environment.
# They disable optimization which facillitates debugging under the Emulation environment.
- INTEL:*_*_IA32_CC_FLAGS = /Od
- MSFT:*_*_IA32_CC_FLAGS = /Od
- GCC:*_*_IA32_CC_FLAGS = -O0
- RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
- ARMGCC:*_*_*_CC_FLAGS = -O0 -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
+ INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
+ MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
+ GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE
+ RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
+ ARMGCC:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
!endif