-/* $NetBSD: param.h,v 1.2 2006/08/28 13:43:35 yamt Exp $ */\r
+/** @file\r
+ Machine dependent constants for Intel Itanium Architecture(IPF).\r
+\r
+ Copyright (c) 2010-2012, 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.\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
-/*-\r
* Copyright (c) 1990 The Regents of the University of California.\r
* All rights reserved.\r
*\r
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
* SUCH DAMAGE.\r
*\r
- * @(#)param.h 5.8 (Berkeley) 6/28/91\r
+ * @(#)param.h 5.8 (Berkeley) 6/28/91\r
+ * $NetBSD: param.h,v 1.2 2006/08/28 13:43:35 yamt Exp\r
*/\r
-\r
#ifndef _IA64_PARAM_H_\r
#define _IA64_PARAM_H_\r
\r
-/*\r
- * Machine dependent constants for Intel Itanium.\r
- */\r
-\r
-#define _MACHINE ia64\r
-#define MACHINE "ia64"\r
-#define _MACHINE_ARCH ia64\r
-#define MACHINE_ARCH "ia64"\r
-#define MID_MACHINE MID_IA64\r
+#define _MACHINE ia64\r
+#define MACHINE "ia64"\r
+#define _MACHINE_ARCH ia64\r
+#define MACHINE_ARCH "ia64"\r
+#define MID_MACHINE MID_IA64\r
\r
#ifdef SMP\r
-#define MAXCPU 16\r
+#define MAXCPU 512\r
#else\r
-#define MAXCPU 1\r
+#define MAXCPU 1\r
#endif\r
\r
-#define DEV_BSHIFT 9 /* log2(DEV_BSIZE) */\r
-#define DEV_BSIZE (1<<DEV_BSHIFT)\r
-#define BLKDEV_IOSIZE 2048\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 (64 * 1024) /* max raw I/O transfer size */\r
+#define MAXPHYS (64 * 1024) /* max raw I/O transfer size */\r
#endif\r
\r
-#define UPAGES 4\r
-#define USPACE (UPAGES * NBPG) /* total size of u-area */\r
+#define UPAGES 4\r
+#define USPACE (UPAGES * NBPG) /* total size of u-area */\r
\r
#ifndef MSGBUFSIZE\r
-#define MSGBUFSIZE NBPG /* default message buffer size */\r
+#define MSGBUFSIZE NBPG /* default message buffer size */\r
#endif\r
\r
-#ifndef KSTACK_PAGES\r
-#define KSTACK_PAGES 4 /* pages of kernel stack */\r
+#ifndef KSTACK_PAGES\r
+#define KSTACK_PAGES 4 /* pages of kernel stack */\r
#endif\r
-#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */\r
+#define KSTACK_GUARD_PAGES 0 /* pages of kstack guard; 0 disables */\r
\r
/*\r
* Round p (pointer or byte index) up to a correctly-aligned value\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
+ * (within reasonable limits).\r
*\r
*/\r
\r
-#define ALIGNBYTES 15\r
-#define ALIGN(p) (((u_long)(p) + ALIGNBYTES) &~ ALIGNBYTES)\r
-#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0)\r
+#define ALIGNBYTES 15\r
+#define ALIGN(p) (((UINT64)(p) + ALIGNBYTES) &~ ALIGNBYTES)\r
+#define ALIGNED_POINTER(p,t) ((((UINT64)(p)) & (sizeof(t)-1)) == 0)\r
\r
-#define ALIGNBYTES32 (sizeof(int) - 1)\r
-#define ALIGN32(p) (((u_long)(p) + ALIGNBYTES32) &~ALIGNBYTES32)\r
+#define ALIGNBYTES32 (sizeof(INT32) - 1)\r
+#define ALIGN32(p) (((UINT64)(p) + ALIGNBYTES32) &~ALIGNBYTES32)\r
\r
-#define PGSHIFT 14 /* LOG2(NBPG) */\r
-#define NBPG (1 << PGSHIFT) /* bytes/page */\r
-#define PGOFSET (NBPG-1) /* byte offset into page */\r
-#define NPTEPG (NBPG/(sizeof (pt_entry_t)))\r
+#define PGSHIFT 14 /* LOG2(NBPG) */\r
+#define NBPG (1 << PGSHIFT) /* bytes/page */\r
+#define PGOFSET (NBPG-1) /* byte offset into page */\r
+#define NPTEPG (NBPG/(sizeof (pt_entry_t)))\r
/*\r
* Constants related to network buffer management.\r
* MCLBYTES must be no larger than NBPG (the software page size), and,\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
+#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
+ #define MCLSHIFT 11 /* convert bytes to m_buf clusters */\r
+ /* 2K cluster can hold Ether frame */\r
+#endif /* MCLSHIFT */\r
\r
-#ifndef NMBCLUSTERS\r
-#if defined(_KERNEL_OPT)\r
-#include "opt_gateway.h"\r
-#endif\r
+#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */\r
\r
#ifdef GATEWAY\r
-#define NMBCLUSTERS 2048 /* map size, max cluster allocation */\r
+ #define NMBCLUSTERS 2048 /* map size, max cluster allocation */\r
#else\r
-#define NMBCLUSTERS 1024 /* map size, max cluster allocation */\r
+ #define NMBCLUSTERS 1024 /* map size, max cluster allocation */\r
#endif\r
#endif\r
\r
* Minimum and maximum sizes of the kernel malloc arena in PAGE_SIZE-sized\r
* logical pages.\r
*/\r
-#define NKMEMPAGES_MIN_DEFAULT ((12 * 1024 * 1024) >> PAGE_SHIFT)\r
-#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)\r
+#define NKMEMPAGES_MIN_DEFAULT ((12 * 1024 * 1024) >> PAGE_SHIFT)\r
+#define NKMEMPAGES_MAX_DEFAULT ((128 * 1024 * 1024) >> PAGE_SHIFT)\r
\r
/*\r
* Mach derived conversion macros\r
*/\r
\r
-#define ia64_round_page(x) ((((unsigned long)(x)) + NBPG - 1) & ~(NBPG - 1))\r
-#define ia64_trunc_page(x) ((unsigned long)(x) & ~(NBPG - 1))\r
- \r
-#define ia64_btop(x) ((unsigned long)(x) >> PGSHIFT)\r
-#define ia64_ptob(x) ((unsigned long)(x) << PGSHIFT) \r
- \r
-#ifdef _KERNEL\r
-#ifndef _LOCORE\r
-\r
-#include <machine/intr.h>\r
+#define ia64_round_page(x) ((((EFI_ULONG_T)(x)) + NBPG - 1) & ~(NBPG - 1))\r
+#define ia64_trunc_page(x) ((EFI_ULONG_T)(x) & ~(NBPG - 1))\r
\r
-#endif /* _LOCORE */\r
-#endif /* _KERNEL */\r
+#define ia64_btop(x) ((EFI_ULONG_T)(x) >> PGSHIFT)\r
+#define ia64_ptob(x) ((EFI_ULONG_T)(x) << PGSHIFT)\r
\r
#endif /* _IA64_PARAM_H_ */\r