]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/PlatformPkg.fdf
Vlv2TbltDevicePkg: Use CpuDxe from UefiCpuPkg
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformPkg.fdf
index a49900668db0046cda2220a91b802cb064f1754b..c725cdcf31f35ae4ebf44ae9b711405a683f3459 100644 (file)
@@ -1,15 +1,9 @@
 #/** @file\r
 # FDF file of Platform.\r
 #\r
-# Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2008 - 2019, Intel Corporation. All rights reserved.<BR>\r
 #\r
-# This program and the accompanying materials are licensed and made available under\r
-# the terms and conditions of the BSD License that accompanies this distribution.\r
-# The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php.\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 #\r
 #**/\r
@@ -82,6 +76,9 @@ NumBlocks     = $(FLASH_NUM_BLOCKS)          #The number of blocks in 3Mb FLASH
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaBaseAddress            = $(FLASH_AREA_BASE_ADDRESS)\r
 SET gPlatformModuleTokenSpaceGuid.PcdFlashAreaSize                   = $(FLASH_AREA_SIZE)\r
 \r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress = $(FLASH_REGION_VLVMICROCODE_BASE) + 0x60\r
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize = $(FLASH_REGION_VLVMICROCODE_SIZE) - 0x60\r
+\r
 !if $(MINNOW2_FSP_BUILD) == TRUE\r
 # put below PCD value setting into dsc file\r
 #SET gFspWrapperTokenSpaceGuid.PcdCpuMicrocodePatchAddress                = $(FLASH_REGION_VLVMICROCODE_BASE)\r
@@ -180,7 +177,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTok
 \r
   $(FLASH_REGION_FSPBIN_OFFSET)|$(FLASH_REGION_FSPBIN_SIZE)\r
   gFspWrapperTokenSpaceGuid.PcdFlashFvFspBase|gFspWrapperTokenSpaceGuid.PcdFlashFvFspSize\r
-  FILE = Vlv2MiscBinariesPkg/FspBinary/FvFsp.bin\r
+  FILE = Vlv2SocBinPkg/FspBinary/FvFsp.bin\r
 \r
 \r
   $(FLASH_REGION_AZALIABIN_OFFSET)|$(FLASH_REGION_AZALIABIN_SIZE)\r
@@ -239,9 +236,37 @@ READ_LOCK_CAP      = TRUE
 READ_LOCK_STATUS   = TRUE\r
 \r
 FILE RAW = 197DB236-F856-4924-90F8-CDF12FB875F3 {\r
-  $(OUTPUT_DIRECTORY)\$(TARGET)_$(TOOL_CHAIN_TAG)\$(DXE_ARCHITECTURE)\MicrocodeUpdates.bin\r
+  $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_ARCHITECTURE)/MicrocodeUpdates.bin\r
 }\r
 \r
+!if $(RECOVERY_ENABLE)\r
+[FV.FVRECOVERY_COMPONENTS]\r
+FvAlignment        = 16         #FV alignment and FV attributes setting.\r
+ERASE_POLARITY     = 1\r
+MEMORY_MAPPED      = TRUE\r
+STICKY_WRITE       = TRUE\r
+LOCK_CAP           = TRUE\r
+LOCK_STATUS        = TRUE\r
+WRITE_DISABLED_CAP = TRUE\r
+WRITE_ENABLED_CAP  = TRUE\r
+WRITE_STATUS       = TRUE\r
+WRITE_LOCK_CAP     = TRUE\r
+WRITE_LOCK_STATUS  = TRUE\r
+READ_DISABLED_CAP  = TRUE\r
+READ_ENABLED_CAP   = TRUE\r
+READ_STATUS        = TRUE\r
+READ_LOCK_CAP      = TRUE\r
+READ_LOCK_STATUS   = TRUE\r
+\r
+INF  RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PchUsb.inf\r
+INF  MdeModulePkg/Bus/Pci/EhciPei/EhciPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBusPei/UsbBusPei.inf\r
+INF  MdeModulePkg/Bus/Usb/UsbBotPei/UsbBotPei.inf\r
+INF  FatPkg/FatPei/FatPei.inf\r
+INF  MdeModulePkg/Universal/Disk/CdExpressPei/CdExpressPei.inf\r
+INF  SignedCapsulePkg/Universal/RecoveryModuleLoadPei/RecoveryModuleLoadPei.inf\r
+!endif\r
+\r
 ################################################################################\r
 #\r
 # FV Section\r
@@ -285,17 +310,16 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PeiSmmControl.inf\r
 INF UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf\r
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/MpS3.inf\r
-INF EdkCompatibilityPkg/Compatibility/AcpiVariableHobOnSmramReserveHobThunk/AcpiVariableHobOnSmramReserveHobThunk.inf\r
 !endif\r
 \r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
+INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/PiSmmCommunicationPei.inf\r
 !if $(TPM_ENABLED) == TRUE\r
-INF SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf\r
+INF SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf\r
 INF SecurityPkg/Tcg/TcgPei/TcgPei.inf\r
 INF SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf\r
 !endif\r
 !if $(FTPM_ENABLE) == TRUE\r
-INF  SecurityPkg/Tcg/TrEEPei/TrEEPei.inf #use PCD config\r
+INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf #use PCD config\r
 !endif\r
 INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
 \r
@@ -306,6 +330,15 @@ INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
 !endif\r
 \r
+!if $(RECOVERY_ENABLE)\r
+FILE FV_IMAGE = 1E9D7604-EF45-46a0-BD8A-71AC78C17AC1 {\r
+  SECTION PEI_DEPEX_EXP = {gEfiPeiMemoryDiscoveredPpiGuid AND gEfiPeiBootInRecoveryModePpiGuid}\r
+  SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF {    # LZMA COMPRESS GUID\r
+    SECTION FV_IMAGE = FVRECOVERY_COMPONENTS\r
+  }\r
+}\r
+!endif\r
+\r
 [FV.FVRECOVERY]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16         #FV alignment and FV attributes setting.\r
@@ -425,9 +458,14 @@ INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRou
 INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
 INF MdeModulePkg/Universal/ReportStatusCodeRouter/Smm/ReportStatusCodeRouterSmm.inf\r
 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MpCpu.inf\r
+INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
 INF $(PLATFORM_PACKAGE)/Metronome/Metronome.inf\r
 INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
+!if $(ARCH) == IA32\r
+INF USE=IA32 MdeModulePkg/Logo/Logo.inf\r
+!else\r
+INF USE=X64 MdeModulePkg/Logo/Logo.inf\r
+!endif\r
 INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
 INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
 INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf\r
@@ -511,7 +549,7 @@ INF RuleOverride = DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/Tpm2DeviceSeCPei.inf\r
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf\r
 INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf\r
-INF SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf\r
+INF SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf\r
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/FtpmSmm.inf\r
 !endif\r
 \r
@@ -531,7 +569,7 @@ INF $(PLATFORM_PACKAGE)/SmramSaveInfoHandlerSmm/SmramSaveInfoHandlerSmm.inf
  INF $(PLATFORM_PACKAGE)/PlatformGopPolicy/PlatformGopPolicy.inf\r
  FILE DRIVER = FF0C8745-3270-4439-B74F-3E45F8C77064 {\r
   SECTION DXE_DEPEX_EXP = {gPlatformGOPPolicyGuid}\r
-  SECTION PE32 = Vlv2MiscBinariesPkg/GOP/7.2.1011/RELEASE_VS2008x86/$(DXE_ARCHITECTURE)/IntelGopDriver.efi\r
+  SECTION PE32 = Vlv2SocBinPkg/GOP/7.2.1011/RELEASE_VS2008x86/$(DXE_ARCHITECTURE)/IntelGopDriver.efi\r
   SECTION UI = "IntelGopDriver"\r
 }\r
 !endif\r
@@ -542,15 +580,19 @@ INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET
   #\r
 INF MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf\r
 INF MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PiSmmCpuDxeSmm.inf\r
+INF UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf\r
 \r
 INF UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf\r
 INF MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PiSmmCommunicationSmm.inf\r
+INF UefiCpuPkg/PiSmmCommunication/PiSmmCommunicationSmm.inf\r
 INF $(PLATFORM_PACKAGE)/SmmSwDispatch2OnSmmSwDispatchThunk/SmmSwDispatch2OnSmmSwDispatchThunk.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PowerManagement2.inf\r
-# INF Vlv2DeviceRefCodePkg/ValleyView2Soc/CPU/Dts/Smm/DigitalThermalSensor.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/DigitalThermalSensor.inf\r
+\r
+#\r
+# Remove the following two SMM binary modules that prevent platform from booting to UEFI Shell\r
+#\r
+#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/PowerManagement2.inf\r
+#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/DigitalThermalSensor.inf\r
+\r
   #\r
   # ACPI\r
   #\r
@@ -563,6 +605,8 @@ INF RuleOverride = ACPITABLE $(PLATFORM_RC_PACKAGE)/AcpiTablesPCAT/AcpiTables.in
 \r
 INF $(PLATFORM_PACKAGE)/AcpiPlatform/AcpiPlatform.inf\r
 \r
+INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf\r
+\r
   #\r
   # PCI\r
   #\r
@@ -586,8 +630,8 @@ INF  IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf
 #\r
 # SDIO\r
 #\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcHost.inf\r
-INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcMediaDevice.inf\r
+#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcHost.inf\r
+#INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/MmcMediaDevice.inf\r
 #\r
 # IDE/SCSI/AHCI\r
 #\r
@@ -632,15 +676,7 @@ INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
 INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
 !endif\r
 \r
-  #\r
-  #  ECP\r
-  #\r
-INF EdkCompatibilityPkg/Compatibility/LegacyRegion2OnLegacyRegionThunk/LegacyRegion2OnLegacyRegionThunk.inf\r
-INF EdkCompatibilityPkg/Compatibility/SmmBaseOnSmmBase2Thunk/SmmBaseOnSmmBase2Thunk.inf\r
-INF EdkCompatibilityPkg/Compatibility/SmmBaseHelper/SmmBaseHelper.inf\r
-INF EdkCompatibilityPkg/Compatibility/SmmAccess2OnSmmAccessThunk/SmmAccess2OnSmmAccessThunk.inf\r
-INF EdkCompatibilityPkg/Compatibility/SmmControl2OnSmmControlThunk/SmmControl2OnSmmControlThunk.inf\r
-INF EdkCompatibilityPkg/Compatibility/FvOnFv2Thunk/FvOnFv2Thunk.inf\r
+\r
   #\r
   # SMBIOS\r
   #\r
@@ -649,10 +685,6 @@ INF $(PLATFORM_PACKAGE)/SmBiosMiscDxe/SmBiosMiscDxe.inf
 \r
 INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/SmbiosMemory.inf\r
 \r
-  #\r
-  # Legacy Modules\r
-  #\r
-INF PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
 \r
 #\r
 # FAT file system\r
@@ -662,16 +694,18 @@ INF FatPkg/EnhancedFatDxe/Fat.inf
 #\r
 # UEFI Shell\r
 #\r
-FILE APPLICATION = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile) {\r
-#    SECTION PE32 = EdkShellBinPkg/FullShell/$(EDK_DXE_ARCHITECTURE)/Shell_Full.efi\r
-    SECTION PE32 = ShellBinPkg/UefiShell/$(EDK_DXE_ARCHITECTURE)/Shell.efi\r
-  }\r
-\r
+INF  ShellPkg/Application/Shell/Shell.inf\r
 \r
+#\r
+# dp command\r
+#\r
+!if $(PERFORMANCE_ENABLE) == TRUE\r
+INF ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf\r
+!endif\r
 \r
 !if $(GOP_DRIVER_ENABLE) == TRUE\r
 FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {\r
-  SECTION RAW = Vlv2MiscBinariesPkg/GOP/7.2.1011/VBT/MNW2/Vbt.bin\r
+  SECTION RAW = Vlv2SocBinPkg/GOP/7.2.1011/VBT/MNW2/Vbt.bin\r
   SECTION UI = "IntelGopVbt"\r
 }\r
 !endif\r
@@ -681,7 +715,7 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
 #\r
 !if $(NETWORK_ENABLE) == TRUE\r
   FILE DRIVER = 22DE1691-D65D-456a-993E-A253DD1F308C {\r
-    SECTION PE32 = Vlv2MiscBinariesPkg/UNDI/RtkUndiDxe/$(DXE_ARCHITECTURE)/RtkUndiDxe.efi\r
+    SECTION PE32 = Vlv2SocBinPkg/UNDI/RtkUndiDxe/$(DXE_ARCHITECTURE)/RtkUndiDxe.efi\r
     SECTION UI = "UNDI"\r
   }\r
   INF  MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf\r
@@ -692,32 +726,50 @@ FILE FREEFORM = 878AC2CC-5343-46F2-B563-51F89DAF56BA {
   INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
   INF  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
+  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
+  INF  NetworkPkg/TcpDxe/TcpDxe.inf\r
   !if $(NETWORK_IP6_ENABLE) == TRUE\r
   INF  NetworkPkg/Ip6Dxe/Ip6Dxe.inf\r
   INF  NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf\r
-  INF  NetworkPkg/IpSecDxe/IpSecDxe.inf\r
   INF  NetworkPkg/Udp6Dxe/Udp6Dxe.inf\r
   INF  NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf\r
   !endif\r
-  !if $(NETWORK_IP6_ENABLE) == TRUE\r
-  INF  NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
-  INF  NetworkPkg/TcpDxe/TcpDxe.inf\r
-  !else\r
-  INF  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf\r
-  INF  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
-  !endif\r
   !if $(NETWORK_VLAN_ENABLE) == TRUE\r
   INF  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf\r
   !endif\r
   !if $(NETWORK_ISCSI_ENABLE) == TRUE\r
-  !if $(NETWORK_IP6_ENABLE) == TRUE\r
     INF  NetworkPkg/IScsiDxe/IScsiDxe.inf\r
-  !else\r
-    INF  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf\r
-  !endif\r
   !endif\r
 !endif\r
 \r
+!if $(CAPSULE_ENABLE)\r
+INF  MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmpDxe.inf\r
+\r
+#\r
+# Minnow Max System Firmware FMP\r
+#\r
+INF  FILE_GUID = $(FMP_MINNOW_MAX_SYSTEM) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
+\r
+#\r
+# Sample Device FMP\r
+#\r
+INF  FILE_GUID = $(FMP_GREEN_SAMPLE_DEVICE) FmpDevicePkg/FmpDxe/FmpDxe.inf\r
+INF  FILE_GUID = $(FMP_BLUE_SAMPLE_DEVICE)  FmpDevicePkg/FmpDxe/FmpDxe.inf\r
+INF  FILE_GUID = $(FMP_RED_SAMPLE_DEVICE)   FmpDevicePkg/FmpDxe/FmpDxe.inf\r
+\r
+!endif\r
+\r
+!if $(MICOCODE_CAPSULE_ENABLE)\r
+INF  IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdateDxe.inf\r
+!endif\r
+\r
+!if $(RECOVERY_ENABLE)\r
+FILE FREEFORM = PCD(gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiRsa2048Sha256TestPublicKeyFileGuid) {\r
+     SECTION RAW = BaseTools/Source/Python/Rsa2048Sha256Sign/TestSigningPublicKey.bin\r
+     SECTION UI = "Rsa2048Sha256TestSigningPublicKey"\r
+     }\r
+!endif\r
+\r
 [FV.FVMAIN_COMPACT]\r
 BlockSize          = $(FLASH_BLOCK_SIZE)\r
 FvAlignment        = 16\r
@@ -780,92 +832,6 @@ READ_STATUS        = TRUE
 READ_LOCK_CAP      = TRUE\r
 READ_LOCK_STATUS   = TRUE\r
 \r
-\r
-[FV.Update_Data]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-FILE RAW = 88888888-8888-8888-8888-888888888888 {\r
-       FD = Vlv\r
-     }\r
-\r
-[FV.BiosUpdateCargo]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-\r
-\r
-[FV.BiosUpdate]\r
-BlockSize          = $(FLASH_BLOCK_SIZE)\r
-FvAlignment        = 16\r
-ERASE_POLARITY     = 1\r
-MEMORY_MAPPED      = TRUE\r
-STICKY_WRITE       = TRUE\r
-LOCK_CAP           = TRUE\r
-LOCK_STATUS        = TRUE\r
-WRITE_DISABLED_CAP = TRUE\r
-WRITE_ENABLED_CAP  = TRUE\r
-WRITE_STATUS       = TRUE\r
-WRITE_LOCK_CAP     = TRUE\r
-WRITE_LOCK_STATUS  = TRUE\r
-READ_DISABLED_CAP  = TRUE\r
-READ_ENABLED_CAP   = TRUE\r
-READ_STATUS        = TRUE\r
-READ_LOCK_CAP      = TRUE\r
-READ_LOCK_STATUS   = TRUE\r
-\r
-[Capsule.Capsule_Boot]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
-\r
-FV = BiosUpdate\r
-\r
-[Capsule.Capsule_Reset]\r
-#\r
-# gEfiCapsuleGuid supported by platform\r
-# { 0x3B6686BD, 0x0D76, 0x4030, { 0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 }}\r
-#\r
-CAPSULE_GUID  = 3B6686BD-0D76-4030-B70E-B5519E2FC5A0\r
-CAPSULE_FLAGS = PersistAcrossReset\r
-CAPSULE_HEADER_SIZE = 0x20\r
-\r
-FV = BiosUpdate\r
-\r
 ################################################################################\r
 #\r
 # Rules are use with the [FV] section's module INF type to define\r
@@ -1073,6 +1039,12 @@ FV = BiosUpdate
     RAW BIN                |.bin\r
   }\r
 \r
+[Rule.Common.USER_DEFINED.BINARY]\r
+  FILE FREEFORM = $(NAMED_GUID) {\r
+    UI  STRING="$(MODULE_NAME)" Optional\r
+    RAW BIN                |.bin\r
+  }\r
+\r
 [Rule.Common.USER_DEFINED.ACPITABLE]\r
   FILE FREEFORM = $(NAMED_GUID) {\r
     RAW ACPI  Optional            |.acpi\r
@@ -1090,3 +1062,11 @@ FV = BiosUpdate
     RAW ASL   Optional            |.aml\r
   }\r
 \r
+[Rule.Common.PEIM.FMP_IMAGE_DESC]\r
+  FILE PEIM = $(NAMED_GUID) {\r
+     RAW BIN                  |.acpi\r
+     PEI_DEPEX PEI_DEPEX Optional        $(INF_OUTPUT)/$(MODULE_NAME).depex\r
+     PE32      PE32    Align=4K          $(INF_OUTPUT)/$(MODULE_NAME).efi\r
+     UI       STRING="$(MODULE_NAME)" Optional\r
+     VERSION  STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)\r
+  }\r