Home | History | Annotate | Download | only in IntelFrameworkModulePkg
      1 ## @file

      2 # Intel Framework Module Package.

      3 #

      4 # This package contains the definitions and module implementation

      5 # which follows Intel EFI Framework Specification.

      6 #

      7 # Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>

      8 #

      9 # This program and the accompanying materials

     10 # are licensed and made available under the terms and conditions of the BSD License

     11 # which accompanies this distribution. The full text of the license may be found at

     12 # http://opensource.org/licenses/bsd-license.php

     13 #

     14 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     15 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     16 #

     17 ##

     18 
     19 [Defines]
     20   DEC_SPECIFICATION              = 0x00010005
     21   PACKAGE_NAME                   = IntelFrameworkModulePkg
     22   PACKAGE_UNI_FILE               = IntelFrameworkModulePkg.uni
     23   PACKAGE_GUID                   = 88894582-7553-4822-B484-624E24B6DECF
     24   PACKAGE_VERSION                = 0.96
     25 
     26 [Includes]
     27   Include                        # Root include for the package

     28 
     29 [LibraryClasses]
     30   ##  @libraryclass  Platform BDS library definition about platform specific behavior.

     31   PlatformBdsLib|Include/Library/PlatformBdsLib.h
     32 
     33   ##  @libraryclass  Generic BDS library definition, include the data structure and function.

     34   GenericBdsLib|Include/Library/GenericBdsLib.h
     35 
     36 [Guids]
     37   ## IntelFrameworkModule package token space guid

     38   #  Include/Guid/IntelFrameworkModulePkgTokenSpace.h

     39   gEfiIntelFrameworkModulePkgTokenSpaceGuid = { 0xD3705011, 0xBC19, 0x4af7, { 0xBE, 0x16, 0xF6, 0x80, 0x30, 0x37, 0x8C, 0x15 }}
     40 
     41   ## GUID identifies Data Hub records logged by Status Code Runtime Protocol.

     42   #  Include/Guid/DataHubStatusCodeRecord.h

     43   gEfiDataHubStatusCodeRecordGuid = { 0xD083E94C, 0x6560, 0x42E4, { 0xB6, 0xD4, 0x2D, 0xF7, 0x5A, 0xDF, 0x6A, 0x2A }}
     44 
     45   ## GUID indicates the tiano custom compress/decompress algorithm.

     46   #  Include/Guid/TianoDecompress.h

     47   gTianoCustomDecompressGuid     = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}
     48 
     49   ## Include/Guid/AcpiVariable.h

     50   gEfiAcpiVariableCompatiblityGuid   = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6,  0xfc, 0x11, 0xd3, 0x6a }}
     51 
     52   ## Include/Guid/LegacyBios.h

     53   gEfiLegacyBiosGuid                 = { 0x2E3044AC, 0x879F, 0x490F, { 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50 }}
     54   
     55   ## Include/Guid/LegacyDevOrder.h

     56   gEfiLegacyDevOrderVariableGuid     = { 0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52 }}
     57 
     58   ## Include/Guid/CapsuleDataFile.h

     59   gEfiUpdateDataFileGuid             = { 0x283fa2ee, 0x532c, 0x484d, { 0x93, 0x83, 0x9f, 0x93, 0xb3, 0x6f, 0xb, 0x7e }}
     60   
     61   ## Include/Guid/BlockIoVendor.h

     62   gBlockIoVendorGuid                 = { 0xcf31fac5, 0xc24e, 0x11d2,  {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b }}
     63   
     64   ## Include/Guid/BdsHii.h

     65   gFrontPageFormSetGuid              = { 0x9e0c30bc, 0x3f06, 0x4ba6, {0x82, 0x88, 0x9, 0x17, 0x9b, 0x85, 0x5d, 0xbe }}
     66   gBootManagerFormSetGuid            = { 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b }}
     67   gDeviceManagerFormSetGuid          = { 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27 }}
     68   gDriverHealthFormSetGuid           = { 0xf76e0a70, 0xb5ed, 0x4c38, {0xac, 0x9a, 0xe5, 0xf5, 0x4b, 0xf1, 0x6e, 0x34 }}
     69   gBootMaintFormSetGuid              = { 0x642237c7, 0x35d4, 0x472d, {0x83, 0x65, 0x12, 0xe0, 0xcc, 0xf2, 0x7a, 0x22 }}
     70   gFileExploreFormSetGuid            = { 0x1f2d63e1, 0xfebd, 0x4dc7, {0x9c, 0xc5, 0xba, 0x2b, 0x1c, 0xef, 0x9c, 0x5b }}
     71   
     72   ## Include/Guid/BdsLibHii.h

     73   gBdsLibStringPackageGuid           = { 0x3b4d9b23, 0x95ac, 0x44f6, {0x9f, 0xcd, 0xe, 0x95, 0x94, 0x58, 0x6c, 0x72 }}
     74   
     75   ## Include/Guid/LastEnumLang.h

     76   gLastEnumLangGuid                  = { 0xe8c545b, 0xa2ee, 0x470d, {0x8e, 0x26, 0xbd, 0xa1, 0xa1, 0x3c, 0xa, 0xa3 }}
     77 
     78   ## Include/Guid/HdBootVariable.h

     79   gHdBootDevicePathVariablGuid       = { 0xfab7e9e1, 0x39dd, 0x4f2b, {0x84, 0x8, 0xe2, 0xe, 0x90, 0x6c, 0xb6, 0xde }}
     80 
     81 [Protocols]
     82   ## Vga Mini port binding for a VGA controller

     83   #  Include/Protocol/VgaMiniPort.h

     84   gEfiVgaMiniPortProtocolGuid    = { 0xc7735a2f, 0x88f5, 0x4882, { 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 }}
     85 
     86   ## ISA I/O Protocol is used to perform ISA device Io/Mem operations.

     87   #  Include/Protocol/IsaIo.h

     88   gEfiIsaIoProtocolGuid          = { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
     89 
     90   ## ISA Acpi Protocol is used to operate and communicate with ISA device.

     91   #  Include/Protocol/IsaAcpi.h

     92   gEfiIsaAcpiProtocolGuid        = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}
     93 
     94   ## PS/2 policy protocol abstracts the specific platform initialization and setting.

     95   #  Include/Protocol/Ps2Policy.h

     96   gEfiPs2PolicyProtocolGuid      = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }}
     97 
     98   ## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute.

     99   #  Include/Protocol/OEMBadging.h

    100   gEfiOEMBadgingProtocolGuid     = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}
    101 
    102   ## Include/Protocol/ExitPmAuth.h

    103   gExitPmAuthProtocolGuid        = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }}
    104 
    105 #

    106 # [Error.gEfiIntelFrameworkModulePkgTokenSpaceGuid]

    107 #   0x80000001 | Invalid value provided.

    108 #   0x80000002 | Reserved bits must be set to zero.

    109 #

    110 
    111 [PcdsFeatureFlag]
    112   ## Indicates if OEM device is enabled as StatusCode report device.

    113   #  It is only used in Framework StatusCode implementation. <BR><BR>

    114   #   TRUE  - Enable OEM device.<BR>

    115   #   FALSE - Disable OEM device.<BR>

    116   # @Prompt Report StatusCode via OEM Device

    117   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024
    118 
    119   ## Indicates if StatusCode report is loged into DataHub.<BR><BR>

    120   #   TRUE  - Log StatusCode report into DataHub.<BR>

    121   #   FALSE - Does not log StatusCode report into DataHub.<BR>

    122   # @Prompt Log StatusCode into DataHub

    123   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029
    124 
    125   ## Indicates if Serial device uses half hand shake.<BR><BR>

    126   #   TRUE  - Serial device uses half hand shake.<BR>

    127   #   FALSE - Serial device doesn't use half hand shake.<BR>

    128   # @Prompt Enable Serial device Half Hand Shake

    129   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043
    130 
    131   ## Indicates if Legacy support is needed for ACPI S3 Save.<BR><BR>

    132   #   TRUE  - Support Legacy OS with S3 boot.<BR>

    133   #   FALSE - Does not support Legacy OS with S3 boot.<BR>

    134   # @Prompt Turn on Legacy Support in S3 Boot

    135   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044
    136 
    137   ## Indicates if PS2 keyboard does a extended verification during start.

    138   #  Extended verification will take some performance. It can be set to FALSE for boot performance.<BR><BR>

    139   #   TRUE  - Turn on PS2 keyboard extended verification.<BR>

    140   #   FALSE - Turn off PS2 keyboard extended verification.<BR>

    141   # @Prompt Turn on PS2 Keyboard Extended Verification

    142   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2KbdExtendedVerification|TRUE|BOOLEAN|0x00010045
    143 
    144   ## Indicates if Framework Acpi Support protocol is installed.<BR><BR>  

    145   #   TRUE  - Install Framework Acpi Support protocol.<BR>

    146   #   FALSE - Doesn't install Framework Acpi Support protocol.<BR>

    147   # @Prompt Enable Framework Acpi Support

    148   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046
    149 
    150 
    151   ## Indicates if PS2 mouse does a extended verification during start.

    152   #  Extended verification will take some performance. It can be set to FALSE for boot performance.<BR><BR>

    153   #   TRUE  - Turn on PS2 mouse extended verification. <BR>

    154   #   FALSE - Turn off PS2 mouse extended verification. <BR>

    155   # @Prompt Turn on PS2 Mouse Extended Verification

    156   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification|TRUE|BOOLEAN|0x00010047
    157 
    158   ## Indicates if only Boot logo is showed and all message output is disabled in BDS.<BR><BR>

    159   #   TRUE  - Only Boot Logo is showed in boot.<BR>

    160   #   FALSE - All messages and Boot Logo are showed in boot.<BR>

    161   # @Prompt Enable Boot Logo only

    162   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048
    163 
    164 [PcdsFixedAtBuild, PcdsPatchableInModule]
    165   ## FFS filename to find the default BMP Logo file.

    166   # @Prompt FFS Name of Boot Logo File

    167   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003
    168 
    169   ## FFS filename to find the shell application.

    170   # @Prompt FFS Name of Shell Application

    171   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004
    172 
    173   ## ISA Bus features to support DMA, SlaveDMA and ISA Memory. <BR><BR>

    174   #  BIT0 indicates if DMA is supported<BR>

    175   #  BIT1 indicates if only slave DMA is supported<BR>

    176   #  BIT2 indicates if ISA memory is supported<BR>

    177   #  Other BITs are reseved and must be zero.

    178   #  If more than one features are supported, the different BIT will be enabled at the same time.

    179   # @Prompt ISA Bus Features

    180   # @Expression 0x80000002 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures & 0xF8) == 0

    181   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040
    182 
    183 [PcdsDynamic, PcdsDynamicEx]
    184   ## Indicates if the machine has completed one boot cycle before.

    185   #  After the complete boot, BootState will be set to FALSE.<BR><BR>

    186   #   TRUE  - The complete boot cycle has not happened before.<BR>

    187   #   FALSE - The complete boot cycle has happened before.<BR>

    188   # @Prompt Boot State Flag

    189   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f
    190 
    191 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]
    192   ## I/O Base address of floppy device controller.

    193   # @Prompt I/O Base Address of Floppy Device Controller

    194   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000
    195 
    196   ## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when exiting boot service.<BR><BR>

    197   #   TRUE  - Switch to Text VGA Mode.<BR>

    198   #   FALSE - Does not switch to Text VGA Mode.<BR>

    199   # @Prompt Switch to Text VGA Mode on UEFI Boot

    200   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001
    201 
    202   ## Indicates if BiosVideo driver will check for VESA BIOS Extension service support.<BR><BR>

    203   #   TRUE  - Check for VESA BIOS Extension service.<BR>

    204   #   FALSE - Does not check for VESA BIOS Extension service.<BR>

    205   # @Prompt Enable Check for VESA BIOS Extension Service

    206   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002
    207 
    208   ## Indicates if BiosVideo driver will check for VGA service support.

    209   #  NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE,

    210   #  that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.<BR><BR>

    211   #   TRUE  - Check for VGA service.<BR>

    212   #   FALSE - Does not check for VGA service.<BR>

    213   # @Prompt Enable Check for VGA Service

    214   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003
    215 
    216   ## Indicates if memory space for legacy region will be set as cacheable.<BR><BR>

    217   #   TRUE  - Set cachebility for legacy region.<BR>

    218   #   FALSE - Does not set cachebility for legacy region.<BR>

    219   # @Prompt Enable Cachebility for Legacy Region

    220   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004
    221 
    222   ## Specify memory size with bytes to reserve EBDA below 640K for OPROM.

    223   # The value should be a multiple of 4KB. 

    224   # @Prompt Reserved EBDA Memory Size

    225   # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize < 0xA0000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize & 0x1000) == 0)

    226   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005
    227 
    228   ## Specify memory base address for OPROM to find free memory.

    229   # Some OPROMs do not use EBDA or PMM to allocate memory for its usage, 

    230   # instead they find the memory filled with zero from 0x20000.

    231   # The value should be a multiple of 4KB.

    232   # The range should be below the EBDA reserved range from 

    233   # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.

    234   # @Prompt Reserved Memory Base Address for OPROM

    235   # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase >= 0x20000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase & 0x1000) == 0)

    236   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c
    237   
    238   ## Specify memory size with bytes for OPROM to find free memory.

    239   #  The value should be a multiple of 4KB. And the range should be below the EBDA reserved range from 

    240   # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.

    241   # @Prompt Reserved Memory Size for OPROM

    242   # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize < 0x80000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize & 0x1000) == 0)

    243   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d
    244 
    245   ## Specify memory size with page number for a pre-allocated reserved memory to be used

    246   #  by PEI in S3 phase. The default size 32K. When changing the value make sure the memory size 

    247   #  is large enough to meet PEI requirement in the S3 phase.

    248   # @Prompt Reserved S3 Boot ACPI Memory Size

    249   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006
    250 
    251   ## Specify memory size for boot script executor stack usage in S3 phase.

    252   #  The default size 32K. When changing the value make sure the memory size is large enough 

    253   #  to meet boot script executor requirement in the S3 phase.

    254   # @Prompt Reserved S3 Boot Script Stack ACPI Memory Size

    255   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize|0x8000|UINT32|0x30000007
    256 
    257   ## Specify the end of address below 1MB for the OPROM.

    258   #  The last shadowed OpROM should not exceed this address.

    259   # @Prompt Top Address of Shadowed Legacy OpROM

    260   # @Expression 0x80000001 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress < 0x100000

    261   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008
    262   
    263   ## Specify the low PMM (Post Memory Manager) size with bytes below 1MB.

    264   #  The value should be a multiple of 4KB.

    265   # @Prompt Low PMM (Post Memory Manager) Size

    266   # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize < 0x100000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize & 0x1000) == 0)

    267   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009
    268   
    269   ## Specify the high PMM (Post Memory Manager) size with bytes above 1MB.

    270   #  The value should be a multiple of 4KB.

    271   # @Prompt High PMM (Post Memory Manager) Size

    272   # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize & 0x1000) == 0

    273   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a
    274 
    275   ## Indicates if to use the optimized timing for best PS2 detection performance.

    276   #  Note this PCD could be set to TRUE for best boot performance and set to FALSE for best device compatibility.<BR><BR>

    277   #   TRUE  - Use the optimized timing for best PS2 detection performance.<BR>

    278   #   FALSE - Use the normal timing to detect PS2.<BR>

    279   # @Prompt Enable fast PS2 detection

    280   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFastPS2Detection|FALSE|BOOLEAN|0x3000000b
    281 
    282 [UserExtensions.TianoCore."ExtraFiles"]
    283   IntelFrameworkModulePkgExtra.uni
    284