]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/MdeModulePkg.dec
Add full version FaultTolerantWrite Dxe driver.
[mirror_edk2.git] / MdeModulePkg / MdeModulePkg.dec
index c7b1f17fa3cf75435c209a8ff21c096b969531b8..c8ecd0e3565fc5f7d19d638de7f6888e7fd8dcc9 100644 (file)
   ## Tcg addtional services to measure PeImage and ActionString.\r
   ## Include/Protocol/TcgPlatform.h\r
   gEfiTcgPlatformProtocolGuid    = { 0x8c4c9a41, 0xbf56, 0x4627, { 0x9e, 0xa, 0xc8, 0x38, 0x6d, 0x66, 0x11, 0x5c }}\r
+\r
+  ## Fault Tolerant Write protocol provides boot-time service to do fault tolerant write capability for block devices.\r
+  #  Include/Protocol/FaultTolerantWrite.h\r
+  gEfiFaultTolerantWriteProtocolGuid = { 0x3EBD9E82, 0x2C78, 0x4DE6, { 0x97, 0x86, 0x8D, 0x4B, 0xFC, 0xB7, 0xC8, 0x81 }}\r
+  \r
+  ## This protocol is used to abstract the swap operation of boot block and backup block of boot FV.\r
+  #  Include/Protocol/SwapAddressRange.h\r
+  gEfiSwapAddressRangeProtocolGuid = { 0x1259F60D, 0xB754, 0x468E, { 0xA7, 0x89, 0x4D, 0xB8, 0x5D, 0x55, 0xE8, 0x7E }}\r
   \r
-[PcdsFeatureFlag.common]\r
+[PcdsFeatureFlag]\r
   ## Indicate whether platform can support update capsule across a system reset\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d\r
  \r
   ##\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintEnable|TRUE|BOOLEAN|0x0001200a\r
 \r
-[PcdsFixedAtBuild.common]\r
+  ##\r
+  #  If TRUE, FULL FTW protocol services (total six APIs) will be produced.\r
+  #  If FASLE, only FTW Write service is available.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable|TRUE|BOOLEAN|0x0001200a\r
+\r
+[PcdsFixedAtBuild]\r
   ## Dynamic type PCD can be registered callback function for Pcd setting action.\r
   #  PcdMaxPeiPcdCallBackNumberPerPcdEntry indicate maximum number of callback function\r
   #  for a dynamic PCD used in PEI phase.\r
   #  The default max size is 10MB (0xa00000) for the casule image without populated flag setting.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0xa00000|UINT32|0x0001001f\r
   \r
-  ## Maximun number of performance log entries during PEI phase.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r
-  \r
   ## Maximum number of FV is supported by PeiCore's dispatching.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported|6|UINT32|0x00010030\r
 \r
   ## RTC Update Timeout Value\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdRealTimeClockUpdateTimeout|100000|UINT32|0x00010034\r
   \r
-  ## Base address of the NV variable range in flash device.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r
-  \r
   ## Size of the NV variable range.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002\r
   \r
   \r
   ## Maximum buffer for the total variable store.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005\r
-  \r
-  ## Base address of the FTW spare block range in flash device.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013\r
-  \r
+   \r
   ## Size of the FTW spare block range.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014\r
-  \r
-  ## Base address of the FTW working block range in flash device.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r
-  \r
+    \r
   ## Size of the FTW working block range.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0|UINT32|0x30000011\r
 \r
-  ## Default timeout value for displaying progressing bar in before boot OS.\r
-  #  This value can be changed in BDS.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
-\r
-  ## Error level for hardware recorder.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r
-  \r
-  ##\r
-  #  This PCD defines the print string.\r
-  #  This PCD is a sample to explain FixedAtBuild String PCD usage.\r
-  ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004\r
-\r
-  ##\r
-  #  This PCD defines the times to print hello world string.\r
-  #  This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.\r
-  ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r
-\r
 [PcdsFixedAtBuild.IA32]\r
   ## Default EFI boot path name for IA32 architecture, this path is relative to \r
   #  EFI boot disk.\r
   ## Default EFI boot path name for EBC architecture, this path is relative to \r
   #  EFI boot disk.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdDefaultBootFileName|L"\EFI\BOOT\BOOTEBC.EFI"|VOID*|0x40000003\r
-  \r
-[PcdsDynamic.common]\r
-  ## Base address of the NV variable range in flash device \r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r
-\r
-  ## Base address of the FTW spare block range in flash device.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013\r
-\r
-  ## Base address of the FTW working block range in flash device.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010\r
-\r
+   \r
+[PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic]\r
   ## Default timeout value for displaying progressing bar in before boot OS.\r
   #  This value can be changed in BDS.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
-\r
-  ## Error level for hardware recorder.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r
-\r
-  ##\r
-  #  This PCD defines the print string.\r
-  #  This PCD is a sample to explain Dynamic PCD usage.\r
-  ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004\r
-\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001  \r
+  \r
   ##\r
   #  This PCD defines the times to print hello world string.\r
-  #  This PCD is a sample to explain Dynamic UINT32 PCD usage.\r
+  #  This PCD is a sample to explain FixedAtBuild UINT32 PCD usage.\r
   ##\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r
-\r
-  ##\r
-  #  This PCD defines the Console output column and the default value is 25 according to UEFI spec\r
-  ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|25|UINT32|0x40000006\r
   \r
-  ##\r
-  #  This PCD defines the Console output row and the default value is 80 according to UEFI spec\r
-  ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007\r
-\r
-[PcdsPatchableInModule.common]\r
+  ## Error level for hardware recorder.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002 \r
+  \r
+[PcdsFixedAtBuild,PcdsPatchableInModule]\r
   ## Maximun number of performance log entries during PEI phase.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxPeiPerformanceLogEntries|40|UINT8|0x0001002f\r
-\r
-  ## Default timeout value for displaying progressing bar in before boot OS.\r
-  #  This value can be changed in BDS.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdPlatformBootTimeOutDefault|0xffff|UINT16|0x40000001\r
-\r
-  ## Error level for hardware recorder.\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1|UINT16|0x40000002\r
-\r
+  \r
+[PcdsPatchableInModule,PcdsDynamic]\r
   ##\r
   #  This PCD defines the Console output column and the default value is 25 according to UEFI spec\r
   ##\r
   ##\r
   #  This PCD defines the Console output row and the default value is 80 according to UEFI spec\r
   ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|80|UINT32|0x40000007  \r
+  \r
+[PcdsFixedAtBuild,PcdsDynamic]\r
+  ## Base address of the NV variable range in flash device \r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0|UINT32|0x30000001\r
+  \r
+  ## Base address of the FTW spare block range in flash device.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0|UINT32|0x30000013 \r
+  \r
+  ## Base address of the FTW working block range in flash device.\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0|UINT32|0x30000010 \r
+  \r
   ##\r
-  #  This PCD defines the times to print hello world string.\r
-  #  This PCD is a sample to explain Patchable UINT32 PCD usage.\r
+  #  This PCD defines the print string.\r
+  #  This PCD is a sample to explain FixedAtBuild String PCD usage.\r
   ##\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintTimes|1|UINT32|0x40000005\r
-\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdHelloWorldPrintString|L"UEFI Hello World!\n"|VOID*|0x40000004 \r
+  \r
 [PcdsFeatureFlag.IA32]\r
   ## If TRUE, the DXE IPL will load a 64-bit DxeCore.\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE|BOOLEAN|0x0001003b\r