1 /*++ 2 3 Copyright (c) 2004 - 2011, 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 // 152 // for IPF only 153 // The base address of IPF IO Block 154 // 155 #ifdef MDE_CPU_IPF 156 #ifndef EDKII_GLUE_IoBlockBaseAddressForIpf 157 #define EDKII_GLUE_IoBlockBaseAddressForIpf 0x0ffffc000000 158 #endif 159 #endif 160 161 #endif 162