## @file
#  Component description file for QEMU Flash Firmware Volume Block DXE driver
#  module.
#
#  This DXE runtime driver implements and produces the Firmware Volue Block
#  Protocol for a QEMU flash device.
#
#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = FvbServicesRuntimeDxe
  FILE_GUID                      = 733cbac2-b23f-4b92-bc8e-fb01ce5907b7
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = FvbInitialize

#
# The following information is for reference only and not required by the build
# tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  FvbInfo.c
  FwBlockService.c
  FwBlockService.h
  FwBlockServiceDxe.c
  QemuFlash.c
  QemuFlash.h
  QemuFlashDxe.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  UefiCpuPkg/UefiCpuPkg.dec
  QemuPkg/QemuPkg.dec
  QemuQ35Pkg/QemuQ35Pkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  CcExitLib
  DebugLib
  DevicePathLib
  DxeServicesTableLib
  MemEncryptSevLib
  MemoryAllocationLib
  PcdLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint
  UefiRuntimeLib

[Guids]
  gEfiEventVirtualAddressChangeGuid   # ALWAYS_CONSUMED
  # gEfiEventVirtualAddressChangeGuid # Create Event: EVENT_GROUP_GUID

[Protocols]
  gEfiFirmwareVolumeBlockProtocolGuid           # PROTOCOL SOMETIMES_PRODUCED
  gEfiDevicePathProtocolGuid                    # PROTOCOL SOMETIMES_PRODUCED

[FixedPcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwWorkingBase
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFlashNvStorageFtwSpareBase
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFdBaseAddress
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFirmwareFdSize
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64
  gUefiQemuQ35PkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable

[FeaturePcd]
  gQemuPkgTokenSpaceGuid.PcdSmmSmramRequire

[Depex]
  TRUE
