X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=StdLib%2FInclude%2FX64%2Fmachine%2Fparam.h;h=85269090243124b6fb39f807171078b47a4c79db;hp=abb97900319bc5283ac3adca82e98e9a00af5c8f;hb=d78fab6b4e9be83b781212f6a9f3fde0c092e81d;hpb=2df686c67c7819e01a1487dd703faffef2b59dce diff --git a/StdLib/Include/X64/machine/param.h b/StdLib/Include/X64/machine/param.h index abb9790031..8526909024 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.
+ 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_ */