]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Include/EdkIIGlueConfig.h
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EdkIIGlueLib / Include / EdkIIGlueConfig.h
CommitLineData
3eb9473e 1/*++\r
2\r
3e99020d 3Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
2c7e5c2f 4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12\r
13Module Name:\r
14\r
15 EdkIIGlueConfig.h\r
16 \r
17Abstract: \r
18\r
19 Configurable items provided by GlueLib\r
20\r
21--*/\r
22\r
23#ifndef __EDKII_GLUE_CONFIG_H__\r
24#define __EDKII_GLUE_CONFIG_H__\r
25\r
26#include "EdkIIGlueProcessorBind.h"\r
27\r
28//\r
29// Glue Library version\r
30//\r
31// 0x3000 - the 3rd release\r
32// 0x5000 - support IPF. Jan, 2007\r
33// 0x6000 - support EBC. Feb, 2007\r
c7f33ca4 34// 0x7000 - size reduction, Jun, 2007\r
35// 0x7100 - backward compatibility supported, Jun, 2007\r
3e99020d
LG
36// 0x8000 - Driver model protocols2 supported, May, 2008\r
37// 0x9000 - add SmmRuntimeDxeReportStatusCodeLib and OemHookStatusCodeLibNull, Feb, 2009\r
38// 0x9100 - change to use unique member RT variable names in various library instances, June, 2009\r
39// 0x9200 - Update LEGACY_BOOT and READY_TO_BOOT event handling in UefiLib, July, 2009\r
40// 0x9300 - Remove OemHookStatusCodeLibNull. SmmRuntimeDxeReportStatusCodeLib uses SMM StatusCode Protocol, Oct, 2009\r
3eb9473e 41//\r
42// For reference only, don't change the value\r
43//\r
3e99020d 44#define EDKII_GLUE_LIBRARY_VERSION 0x9300\r
3eb9473e 45\r
46\r
47//\r
48// Check to make sure EFI_SPECIFICATION_VERSION and TIANO_RELEASE_VERSION are defined.\r
49//\r
50#if !defined(EFI_SPECIFICATION_VERSION)\r
51 #error EFI_SPECIFICATION_VERSION not defined\r
52#elif !defined(TIANO_RELEASE_VERSION)\r
53 #error TIANO_RELEASE_VERSION not defined\r
54#elif (TIANO_RELEASE_VERSION == 0)\r
55 #error TIANO_RELEASE_VERSION can not be zero\r
56#endif\r
57\r
58\r
59//\r
60// Glue Library debug flag\r
61//\r
62// Controls debug ON/OFF of GlueLib itself, no\r
63// effect on any other libraries or modules\r
64//\r
65// Values:\r
66// FALSE : debug off\r
67// any TRUE value : debug on\r
68//\r
69#define EDKII_GLUE_LIBRARY_DEBUG_ENABLE 0\r
70\r
71\r
72//\r
73// max unicode string length\r
74//\r
75#define EDKII_GLUE_MaximumUnicodeStringLength 1000000\r
76\r
77//\r
78// max ascii string length\r
79//\r
80#define EDKII_GLUE_MaximumAsciiStringLength 1000000\r
81\r
82//\r
83// spin lock timeout\r
84//\r
85#define EDKII_GLUE_SpinLockTimeout 10000000\r
86\r
87//\r
88// max linked list length\r
89//\r
90#define EDKII_GLUE_MaximumLinkedListLength 1000000\r
91\r
92//\r
93// debug print level\r
3eb9473e 94//\r
af257d50 95#define EDKII_GLUE_DebugPrintErrorLevel (EFI_D_ERROR|EFI_D_INFO)\r
3eb9473e 96\r
97//\r
98// debug propery mask\r
c7f33ca4 99//\r
100#define EDKII_GLUE_DebugPropertyMask ( DEBUG_PROPERTY_DEBUG_ASSERT_ENABLED \\r
101 | DEBUG_PROPERTY_DEBUG_PRINT_ENABLED \\r
102 | DEBUG_PROPERTY_DEBUG_CODE_ENABLED \\r
103 | DEBUG_PROPERTY_CLEAR_MEMORY_ENABLED \\r
c7f33ca4 104 | DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED \\r
105 )\r
3eb9473e 106\r
107//\r
108// clear memory value\r
109//\r
110#define EDKII_GLUE_DebugClearMemoryValue 0xAF\r
111\r
112//\r
204529a3 113// pci express base address.\r
114// "PCD_EDKII_GLUE_PciExpressBaseAddress" is required to be defined explicitly: \r
115// e.g. in EDK II DSC file to build EDK modules: \r
116// [BuildOptions]\r
117// *_*_*_CC_FLAGS = /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xC0000000\r
3eb9473e 118//\r
af1b1036 119#ifndef EDKII_GLUE_PciExpressBaseAddress\r
204529a3 120#define EDKII_GLUE_PciExpressBaseAddress PCD_EDKII_GLUE_PciExpressBaseAddress\r
af1b1036 121#endif\r
3eb9473e 122\r
123//\r
124//\r
125// This value is FSB Clock frequency. Its unit is Hz and its \r
126// default value is 200000000, that means FSB frequency is 200Mhz.\r
127//\r
3e99020d 128#ifndef EDKII_GLUE_FSBClock\r
c7f33ca4 129#define EDKII_GLUE_FSBClock 200000000\r
3e99020d 130#endif\r
3eb9473e 131\r
132//\r
133// post code property mask\r
134//\r
135#define EDKII_GLUE_PostCodePropertyMask ( POST_CODE_PROPERTY_POST_CODE_ENABLED \\r
c7f33ca4 136 | POST_CODE_PROPERTY_POST_CODE_DESCRIPTION_ENABLED \\r
3eb9473e 137 )\r
138\r
139//\r
140// status code property mask\r
141//\r
142#define EDKII_GLUE_ReportStatusCodePropertyMask ( REPORT_STATUS_CODE_PROPERTY_PROGRESS_CODE_ENABLED \\r
c7f33ca4 143 | REPORT_STATUS_CODE_PROPERTY_ERROR_CODE_ENABLED \\r
144 | REPORT_STATUS_CODE_PROPERTY_DEBUG_CODE_ENABLED \\r
145 )\r
3eb9473e 146\r
147//\r
148// for IPF only\r
149// The base address of IPF IO Block\r
150//\r
151#ifdef MDE_CPU_IPF\r
3e99020d 152#ifndef EDKII_GLUE_IoBlockBaseAddressForIpf\r
3eb9473e 153#define EDKII_GLUE_IoBlockBaseAddressForIpf 0x0ffffc000000\r
154#endif\r
3e99020d 155#endif\r
3eb9473e 156\r
157#endif\r