Home | History | Annotate | Download | only in Include
      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