Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
config.h
Abstract:
This file defines the names of all configuration variables within the CPU.
Author:
Barry Bond (barrybo) creation-date 12-Jun-1996
Revision History:
--*/
#ifndef _CONFIG_H_
#define _CONFIG_H_
//
// Global definitions
//
#ifndef _ALPHA_
#define MAX_PROLOG_SIZE 0x1000 // max size of StartTranslatedCode prolog
#else
#define MAX_PROLOG_SIZE 0x2000 // max size of StartTranslatedCode prolog
#endif
#define MAX_INSTR_COUNT 200 // max number of instructions to compile
/*
* The amount of memory to reserve (in bytes) for the dynamically- * allocated CPU Translation Cache. This reserve is added to the * 2MB statically-allocated cache. * * Minimum size is 1 page of memory (4096 on MIPS and PPC, 8192 on Alpha). * Default value is 2MB. (DYN_CACHE_SIZE) * Maximum size is all available memory. * */ #define STR_CACHE_RESERVE L"CpuCacheReserve"
extern DWORD CpuCacheReserve;
/*
* The amount of memory to commit (in bytes) for the dynamically- * allocated CPU Translation Cache. The 2MB statically-allocated * cache is fully committed at startup. * * Minimum size is 1 page of memory (4096 on MIPS and PPC, 8192 on Alpha). * Default value is 1 page. (MAX_PROLOG_SIZE) * Maximum size is size of reserve. * */ #define STR_CACHE_COMMIT L"CpuCacheCommit"
extern DWORD CpuCacheCommit;
/*
* If consecutive cache commits occur within the specified time, the amount * committed each time doubles. (in ms) * * Minimum value is 0 * Default value is 200 * Maximum value is -1 * */ #define STR_CACHE_GROW_TICKS L"CpuCacheGrowTicks"
extern DWORD CpuCacheGrowTicks;
/*
* If consecutive cache commits occur past the specified time, the amount * committed each time is cut in half. (in ms) * * Minimum value is 0 * Default value is 1000 * Maximum value is -1 * */ #define STR_CACHE_SHRINK_TICKS L"CpuCacheShrinkTicks"
extern DWORD CpuCacheShrinkTicks;
/*
* Minimum amount of memory (in bytes) to commit in the Translation Cache. * Note that this value will be rounded up to the next power of 2. * * Minimum value is 1 page * Default value is 32768 * Maximum value is size of cache * */ #define STR_CACHE_CHUNKMIN L"CpuCacheChunkMin"
extern DWORD CpuCacheChunkMin;
/*
* Maximum amount of memory (in bytes) to commit in the Translation Cache. * Note that this value will be rounded up to the next power of 2. * * Minimum value is 1 page * Default value is 512k * Maximum value is size of cache * */ #define STR_CACHE_CHUNKMAX L"CpuCacheChunkMax"
extern DWORD CpuCacheChunkMax;
/*
* Initial amount of memory (in bytes) to commit in the Translation Cache. * Note that this value will be rounded up to the next power of 2. * * Minimum value is 1 page * Default value is 65536 * Maximum value is size of cache * */ #define STR_CACHE_CHUNKSIZE L"CpuCacheChunkSize"
extern DWORD CpuCacheChunkSize;
/*
* Time to wait for other threads to synchronize (in ms). * * Minimum time is 0 * Default time is 3 times the default time used for NT critical sections * Maximum time is -1 (infinity) * */ #define STR_MRSW_TIMEOUT L"CpuTimeout"
extern LARGE_INTEGER MrswTimeout;
/*
* Default compilation flags * * See cpu\inc\compiler.h for COMPFL_ values and meanings * * Default=COMPFL_FAST * */ #define STR_COMPILERFLAGS L"CpuCompilerFlags"
extern DWORD CompilerFlags;
/*
* Flag indicating whether winpxem.dll will be used to emulate * floating-point instructions using the Intel Windows NT 486SX * emulator instead of the Wx86 implementation. * * Default=0 * Non-zero indicates winpxem.dll will be used. * */ #define STR_USEWINPXEM L"CpuNoFPU"
extern DWORD fUseNPXEM;
/*
* Number of times to retry memory allocations before failing. * * Min = 1 * Default = 4 * Max = 0xffffffff * */ #define STR_CPU_MAX_ALLOC_RETRIES L"CpuMaxAllocRetries"
extern DWORD CpuMaxAllocRetries;
/*
* Time to sleep between memory allocation retries (in ms). * * Min = 0 * Default = 200 * Max = 0xffffffff * */ #define STR_CPU_WAIT_FOR_MEMORY_TIME L"CpuWaitForMemoryTime"
extern DWORD CpuWaitForMemoryTime;
/*
* Number of instructions of lookahead in the CPU * * Min = 1 * Default = 200 (MAX_INSTR_COUNT) * Max = 200 (MAX_INSTR_COUNT) * */ #define STR_CPU_MAX_INSTRUCTIONS L"CpuInstructionLookahead"
extern DWORD CpuInstructionLookahead;
/*
* Disable the Dynamic Translation Cache altogether * * Default = 0 - Dynamic Translation Cache enabled * nonzero - use only the static Translation Cache * */ #define STR_CPU_DISABLE_DYNCACHE L"CpuDisableDynamicCache"
extern DWORD CpuDisableDynamicCache;
/*
* Size of ENTRYPOINT descriptor reservation, in bytes * * Default = 0x1000000 * */ #define STR_CPU_ENTRYPOINT_RESERVE L"CpuEntryPointReserve"
extern DWORD CpuEntryPointReserve;
/*
* Disable caching of x86 registers in RISC registers * * Default = 0 - x86 registers cached in RISC registers * nonzero - x86 registers accessed only from memory * */ #define STR_CPU_DISABLE_REGCACHE L"CpuDisableRegCache"
extern DWORD CpuDisableRegCache;
/*
* Disable dead x86 flag removal * * Default = 0 - dead x86 flags not computed * nonzero - x86 flags always computed * */ #define STR_CPU_DISABLE_NOFLAGS L"CpuDisableNoFlags"
extern DWORD CpuDisableNoFlags;
/*
* Disable Ebp alignment detection. * * Default = 0 - If EBP is determined to be a stack frame pointer, assume * it is an aligned pointer. * nonzero - Assume EBP is always an unaligned pointer. * */ #define STR_CPU_DISABLE_EBPALIGN L"CpuDisableEbpAlign"
extern DWORD CpuDisableEbpAlign;
/*
* Enable sniff-checking on x86 code found in writable memory * * Default = 0 - No sniff-checking performed. * nonzero - Sniff-check pages with writable attributes. * */ #define STR_CPU_SNIFF_WRITABLE_CODE L"CpuSniffWritableCode"
extern DWORD CpuSniffWritableCode;
/*
* Logging verbosity. Only configurable under the debugger. * */ extern DWORD ModuleLogFlags;
VOID GetConfigurationData( VOID );
#endif
|