## @file
#  Component description file for QEMU Flash Firmware Volume Block SMM driver
#  module.
#
#  This SMM driver implements and produces the SMM Firmware Volue Block Protocol
#  for a QEMU flash device.
#
#  Copyright (C) 2015, Red Hat, Inc.
#  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = FvbServicesSmm
  FILE_GUID                      = 2E7DB7A7-608E-4041-B45F-00359E0766C6
  MODULE_TYPE                    = DXE_SMM_DRIVER
  VERSION_STRING                 = 1.0
  PI_SPECIFICATION_VERSION       = 0x0001000A
  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
  FwBlockServiceSmm.c
  QemuFlash.c
  QemuFlash.h
  QemuFlashSmm.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  DevicePathLib
  DxeServicesTableLib
  MemoryAllocationLib
  MemEncryptSevLib
  PcdLib
  SmmServicesTableLib
  UefiBootServicesTableLib
  UefiDriverEntryPoint

[Guids]

[Protocols]
  gEfiSmmFirmwareVolumeBlockProtocolGuid        # PROTOCOL ALWAYS_PRODUCED
  gEfiDevicePathProtocolGuid                    # PROTOCOL ALWAYS_PRODUCED

[FixedPcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
  gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageVariableBase
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareBlockSize

[Pcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable

[FeaturePcd]
  gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire

[Depex]
  TRUE
