]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
UefiCpuPkg/PiSmmCpuDxeSmm: patch "gSmbase" with PatchInstructionX86()
[mirror_edk2.git] / IntelFrameworkModulePkg / IntelFrameworkModulePkg.dec
index 3054bb732a6b4241d1694ca216e02eae130a744a..5327242172b5f6d7b3d610761118eeecbcc81b30 100644 (file)
@@ -1,8 +1,10 @@
 ## @file\r
-# Intel Framework Module Package contains the definitions and module implementation\r
+# Intel Framework Module Package.\r
+#\r
+# This package contains the definitions and module implementation\r
 # which follows Intel EFI Framework Specification.\r
 #\r
-# Copyright (c) 2007 - 2012, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
@@ -17,8 +19,9 @@
 [Defines]\r
   DEC_SPECIFICATION              = 0x00010005\r
   PACKAGE_NAME                   = IntelFrameworkModulePkg\r
+  PACKAGE_UNI_FILE               = IntelFrameworkModulePkg.uni\r
   PACKAGE_GUID                   = 88894582-7553-4822-B484-624E24B6DECF\r
-  PACKAGE_VERSION                = 0.92\r
+  PACKAGE_VERSION                = 0.96\r
 \r
 [Includes]\r
   Include                        # Root include for the package\r
   #  Include/Guid/TianoDecompress.h\r
   gTianoCustomDecompressGuid     = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}\r
 \r
-  ## GUID indicates the LZMA custom compress/decompress algorithm.\r
-  #  Include/Guid/LzmaDecompress.h\r
-  gLzmaCustomDecompressGuid      = { 0xEE4E5898, 0x3914, 0x4259, { 0x9D, 0x6E, 0xDC, 0x7B, 0xD7, 0x94, 0x03, 0xCF }}\r
-  gLzmaF86CustomDecompressGuid     = { 0xD42AE6BD, 0x1352, 0x4bfb, { 0x90, 0x9A, 0xCA, 0x72, 0xA6, 0xEA, 0xE8, 0x89 }}\r
-\r
   ## Include/Guid/AcpiVariable.h\r
   gEfiAcpiVariableCompatiblityGuid   = { 0xc020489e, 0x6db2, 0x4ef2, { 0x9a, 0xa5, 0xca, 0x6,  0xfc, 0x11, 0xd3, 0x6a }}\r
 \r
   #  Include/Protocol/IsaAcpi.h\r
   gEfiIsaAcpiProtocolGuid        = { 0x64a892dc, 0x5561, 0x4536, { 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55 }}\r
 \r
-  ## PS/2 policy protocol abstracts the specific platform initialization and setting.\r
-  #  Include/Protocol/Ps2Policy.h\r
-  gEfiPs2PolicyProtocolGuid      = { 0x4DF19259, 0xDC71, 0x4D46, { 0xBE, 0xF1, 0x35, 0x7B, 0xB5, 0x78, 0xC4, 0x18 }}\r
-\r
   ## OEM Badging Protocol defines the interface to get the OEM badging image with the dispaly attribute.\r
   #  Include/Protocol/OEMBadging.h\r
   gEfiOEMBadgingProtocolGuid     = { 0x170E13C0, 0xBF1B, 0x4218, { 0x87, 0x1D, 0x2A, 0xBD, 0xC6, 0xF8, 0x87, 0xBC }}\r
   ## Include/Protocol/ExitPmAuth.h\r
   gExitPmAuthProtocolGuid        = { 0xd088a413, 0xa70, 0x4217, { 0xba, 0x55, 0x9a, 0x3c, 0xb6, 0x5c, 0x41, 0xb3 }}\r
 \r
+#\r
+# [Error.gEfiIntelFrameworkModulePkgTokenSpaceGuid]\r
+#   0x80000001 | Invalid value provided.\r
+#   0x80000002 | Reserved bits must be set to zero.\r
+#\r
+\r
 [PcdsFeatureFlag]\r
-  ## This PCD specifies whether StatusCode is reported via OEM device.\r
+  ## Indicates if OEM device is enabled as StatusCode report device.\r
+  #  It is only used in Framework StatusCode implementation. <BR><BR>\r
+  #   TRUE  - Enable OEM device.<BR>\r
+  #   FALSE - Disable OEM device.<BR>\r
+  # @Prompt Report StatusCode via OEM Device\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseOEM|FALSE|BOOLEAN|0x00010024\r
 \r
-  ## This PCD specifies whether StatusCode is loged into DataHub.\r
+  ## Indicates if StatusCode report is loged into DataHub.<BR><BR>\r
+  #   TRUE  - Log StatusCode report into DataHub.<BR>\r
+  #   FALSE - Does not log StatusCode report into DataHub.<BR>\r
+  # @Prompt Log StatusCode into DataHub\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseDataHub|FALSE|BOOLEAN|0x00010029\r
 \r
-  ## This PCD specifies whether Serial device use half hand shake.\r
+  ## Indicates if Serial device uses half hand shake.<BR><BR>\r
+  #   TRUE  - Serial device uses half hand shake.<BR>\r
+  #   FALSE - Serial device doesn't use half hand shake.<BR>\r
+  # @Prompt Enable Serial device Half Hand Shake\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSerialUseHalfHandshake|FALSE|BOOLEAN|0x00010043\r
 \r
-  ## Indicates if CSM support is needed for ACPI S3 Save.\r
-  #  If TRUE, CSM support is enclosed for ACPI S3 Save.\r
+  ## Indicates if Legacy support is needed for ACPI S3 Save.<BR><BR>\r
+  #   TRUE  - Support Legacy OS with S3 boot.<BR>\r
+  #   FALSE - Does not support Legacy OS with S3 boot.<BR>\r
+  # @Prompt Turn on Legacy Support in S3 Boot\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformCsmSupport|TRUE|BOOLEAN|0x00010044\r
 \r
-  ## This PCD specifies whether PS2 keyboard does a extended verification during start.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2KbdExtendedVerification|TRUE|BOOLEAN|0x00010045\r
-\r
-  ## If TRUE, ACPI Support Protocol will be installed.\r
+  ## Indicates if Framework Acpi Support protocol is installed.<BR><BR>  \r
+  #   TRUE  - Install Framework Acpi Support protocol.<BR>\r
+  #   FALSE - Doesn't install Framework Acpi Support protocol.<BR>\r
+  # @Prompt Enable Framework Acpi Support\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdInstallAcpiSupportProtocol|TRUE|BOOLEAN|0x00010046\r
 \r
-  ## This PCD specifies whether PS2 mouse does a extended verification during start.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPs2MouseExtendedVerification|TRUE|BOOLEAN|0x00010047\r
-\r
-  ## This PCD specifies whether only Boot logo is showed and all message output is disabled in BDS \r
+  ## Indicates if only Boot logo is showed and all message output is disabled in BDS.<BR><BR>\r
+  #   TRUE  - Only Boot Logo is showed in boot.<BR>\r
+  #   FALSE - All messages and Boot Logo are showed in boot.<BR>\r
+  # @Prompt Enable Boot Logo only\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootlogoOnlyEnable|FALSE|BOOLEAN|0x00010048\r
 \r
-[PcdsFixedAtBuild]\r
+[PcdsFixedAtBuild, PcdsPatchableInModule]\r
   ## FFS filename to find the default BMP Logo file.\r
+  # @Prompt FFS Name of Boot Logo File\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile |{ 0x99, 0x8b, 0xB2, 0x7B, 0xBB, 0x61, 0xD5, 0x11, 0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D }|VOID*|0x40000003\r
 \r
   ## FFS filename to find the shell application.\r
+  # @Prompt FFS Name of Shell Application\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0xB7, 0xD6, 0x7A, 0xC5, 0x15, 0x05, 0xA8, 0x40, 0x9D, 0x21, 0x55, 0x16, 0x52, 0x85, 0x4E, 0x37 }|VOID*|0x40000004\r
 \r
-  ## ISA bus related PCD to support DMA, SlaveDMA and ISA Memory features.\r
-  #  BIT0 indicates if DMA is supported\r
-  #  BIT1 indicates if only slave DMA is supported\r
-  #  BIT2 indicates if ISA memory is supported\r
+  ## ISA Bus features to support DMA, SlaveDMA and ISA Memory. <BR><BR>\r
+  #  BIT0 indicates if DMA is supported<BR>\r
+  #  BIT1 indicates if only slave DMA is supported<BR>\r
+  #  BIT2 indicates if ISA memory is supported<BR>\r
+  #  Other BITs are reseved and must be zero.\r
+  #  If more than one features are supported, the different BIT will be enabled at the same time.\r
+  # @Prompt ISA Bus Features\r
+  # @Expression 0x80000002 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures & 0xF8) == 0\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures|0x05|UINT8|0x00010040\r
 \r
 [PcdsDynamic, PcdsDynamicEx]\r
-  ## PCD is used to mark if the machine has complete one boot cycle before.\r
-  #  After the complete boot, the variable BootState will be set to TRUE.\r
+  ## Indicates if the machine has completed one boot cycle before.\r
+  #  After the complete boot, BootState will be set to FALSE.<BR><BR>\r
+  #   TRUE  - The complete boot cycle has not happened before.<BR>\r
+  #   FALSE - The complete boot cycle has happened before.<BR>\r
+  # @Prompt Boot State Flag\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBootState|TRUE|BOOLEAN|0x0001002f\r
 \r
-  ## Timeout value for displaying progressing bar in before boot OS.\r
-  #  According to UEFI 2.0 spec, the default TimeOut should be 0xffff.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0xffff|UINT16|0x40000001\r
-\r
-  ## Error level for hardware recorder. If value 0, platform does not support feature of hardware error record.\r
-  #  This PCD should be set as HII type PCD by platform integrator mapped to variable L"HwErrRecSupport"\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|0|UINT16|0x40000002\r
-\r
-[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]\r
-  ## The 4 PCDs below are used to specify the video resolution and text mode of text setup.\r
-  #  To make text setup work in this resolution, PcdVideoHorizontalResolution, PcdVideoVerticalResolution,\r
-  #  PcdConOutColumn and PcdConOutRow in MdeModulePkg.dec should be created as PcdsDynamic or PcdsDynamicEx\r
-  #  in platform DSC file. Then BDS setup will update these PCDs defined in MdeModulePkg.dec and reconnect\r
-  #  console drivers (GraphicsConsole, Terminal, Consplitter) to make the video resolution and text mode work\r
-  #  for text setup.\r
-\r
-  ## The PCD is used to specify the video horizontal resolution of text setup.   \r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|800|UINT32|0x50000001\r
-  \r
-  ## The PCD is used to specify the video vertical resolution of text setup.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|600|UINT32|0x50000002\r
-\r
-  ## The PCD is used to specify the console output column of text setup.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupConOutColumn|80|UINT32|0x50000003\r
-  \r
-  ## The PCD is used to specify the console output column of text setup.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x50000004\r
-\r
 [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule]\r
   ## I/O Base address of floppy device controller.\r
+  # @Prompt I/O Base Address of Floppy Device Controller\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFdcBaseAddress|0x3f0|UINT16|0x30000000\r
 \r
-  ## If TRUE, BiosVideo will switch to 80x25 Text VGA Mode when exiting boot service.\r
+  ## Indicates if BiosVideo driver will switch to 80x25 Text VGA Mode when exiting boot service.<BR><BR>\r
+  #   TRUE  - Switch to Text VGA Mode.<BR>\r
+  #   FALSE - Does not switch to Text VGA Mode.<BR>\r
+  # @Prompt Switch to Text VGA Mode on UEFI Boot\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoSetTextVgaModeEnable|FALSE|BOOLEAN|0x30000001\r
 \r
-  ## If TRUE, BiosVideo will check for VESA BIOS Extension service support.\r
+  ## Indicates if BiosVideo driver will check for VESA BIOS Extension service support.<BR><BR>\r
+  #   TRUE  - Check for VESA BIOS Extension service.<BR>\r
+  #   FALSE - Does not check for VESA BIOS Extension service.<BR>\r
+  # @Prompt Enable Check for VESA BIOS Extension Service\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVbeEnable|TRUE|BOOLEAN|0x30000002\r
 \r
-  ## If TRUE, BiosVideo will check for VGA service support.\r
+  ## Indicates if BiosVideo driver will check for VGA service support.\r
   #  NOTE: If both PcdBiosVideoCheckVbeEnable and PcdBiosVideoCheckVgaEnable are set to FALSE,\r
-  #  that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.\r
+  #  that means Graphics Output protocol will not be installed, the VGA miniport protocol will be installed instead.<BR><BR>\r
+  #   TRUE  - Check for VGA service.<BR>\r
+  #   FALSE - Does not check for VGA service.<BR>\r
+  # @Prompt Enable Check for VGA Service\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdBiosVideoCheckVgaEnable|TRUE|BOOLEAN|0x30000003\r
 \r
-  ## If TRUE, memory space for legacy region will be set as cacheable.\r
+  ## Indicates if memory space for legacy region will be set as cacheable.<BR><BR>\r
+  #   TRUE  - Set cachebility for legacy region.<BR>\r
+  #   FALSE - Does not set cachebility for legacy region.<BR>\r
+  # @Prompt Enable Cachebility for Legacy Region\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLegacyBiosCacheLegacyRegion|TRUE|BOOLEAN|0x00000004\r
 \r
-  ## The PCD is used to specify memory size with bytes to reserve EBDA for OPROM.\r
-  ## The value should be a multiple of 4KB.\r
+  ## Specify memory size with bytes to reserve EBDA below 640K for OPROM.\r
+  # The value should be a multiple of 4KB. \r
+  # @Prompt Reserved EBDA Memory Size\r
+  # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize < 0xA0000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize & 0x1000) == 0)\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEbdaReservedMemorySize|0x8000|UINT32|0x30000005\r
 \r
-  ## The PCD is used to specify memory size with page number for a pre-allocated ACPI NVS memory to be used\r
-  #  by PEI in S3 phase. The default size 32K. When changing the value of this PCD, the platform\r
-  #  developer should make sure the memory size is large enough to meet PEI requiremnt in S3 phase.\r
+  ## Specify memory base address for OPROM to find free memory.\r
+  # Some OPROMs do not use EBDA or PMM to allocate memory for its usage, \r
+  # instead they find the memory filled with zero from 0x20000.\r
+  # The value should be a multiple of 4KB.\r
+  # The range should be below the EBDA reserved range from \r
+  # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.\r
+  # @Prompt Reserved Memory Base Address for OPROM\r
+  # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase >= 0x20000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase & 0x1000) == 0)\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemoryBase|0x60000|UINT32|0x3000000c\r
+  \r
+  ## Specify memory size with bytes for OPROM to find free memory.\r
+  #  The value should be a multiple of 4KB. And the range should be below the EBDA reserved range from \r
+  # (CONVENTIONAL_MEMORY_TOP - Reserved EBDA Memory Size) to CONVENTIONAL_MEMORY_TOP.\r
+  # @Prompt Reserved Memory Size for OPROM\r
+  # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize < 0x80000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize & 0x1000) == 0)\r
+  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdOpromReservedMemorySize|0x28000|UINT32|0x3000000d\r
+\r
+  ## Specify memory size with page number for a pre-allocated reserved memory to be used\r
+  #  by PEI in S3 phase. The default size 32K. When changing the value make sure the memory size \r
+  #  is large enough to meet PEI requirement in the S3 phase.\r
+  # @Prompt Reserved S3 Boot ACPI Memory Size\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize|0x8000|UINT32|0x30000006\r
 \r
-  ## The PCD is used to specify memory size for boot script executor stack usage in S3 phase.\r
-  #  The default size 32K. When changing the value of this PCD, the platform developer should\r
-  #  make sure the memory size is large enough to meet boot script executor requiremnt in S3 phase.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize|0x8000|UINT32|0x30000007\r
-\r
-  ## The PCD is used to specify the end of address below 1MB for the OPROM.\r
+  ## Specify the end of address below 1MB for the OPROM.\r
   #  The last shadowed OpROM should not exceed this address.\r
+  # @Prompt Top Address of Shadowed Legacy OpROM\r
+  # @Expression 0x80000001 | gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress < 0x100000\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdEndOpromShadowAddress|0xdffff|UINT32|0x30000008\r
   \r
-  ## The PCD is used to specify the low PMM (Post Memory Manager) size with bytes below 1MB.\r
+  ## Specify the low PMM (Post Memory Manager) size with bytes below 1MB.\r
   #  The value should be a multiple of 4KB.\r
+  # @Prompt Low PMM (Post Memory Manager) Size\r
+  # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize < 0x100000) AND ((gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize & 0x1000) == 0)\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLowPmmMemorySize|0x10000|UINT32|0x30000009\r
   \r
-  ## The PCD is used to specify the high PMM (Post Memory Manager) size with bytes above 1MB.\r
+  ## Specify the high PMM (Post Memory Manager) size with bytes above 1MB.\r
   #  The value should be a multiple of 4KB.\r
+  # @Prompt High PMM (Post Memory Manager) Size\r
+  # @Expression 0x80000001 | (gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize & 0x1000) == 0\r
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdHighPmmMemorySize|0x400000|UINT32|0x3000000a\r
 \r
-  ## This PCD specifies whether to use the optimized timing for best PS2 detection performance.\r
-  #  Note this PCD could be set to TRUE for best boot performance and set to FALSE for best device compatibility.\r
-  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdFastPS2Detection|FALSE|BOOLEAN|0x3000000b
\ No newline at end of file
+[UserExtensions.TianoCore."ExtraFiles"]\r
+  IntelFrameworkModulePkgExtra.uni\r