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