## @file
#
#  Stateful, implicitly initialized fw_cfg library.
#
#  Copyright (C) 2013 - 2014, Red Hat, Inc.
#  Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
#  Copyright (c) 2024 Loongson Technology Corporation Limited. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = QemuFwCfgLib
  FILE_GUID                      = B271F41F-B841-48A9-BA8D-545B4BC2E2BF
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = QemuFwCfgLib|DXE_DRIVER UEFI_DRIVER

  CONSTRUCTOR                    = QemuFwCfgInitialize

#
# The following information is for reference only and not required by the build
# tools.
#
#  VALID_ARCHITECTURES           = ARM AARCH64 RISCV64 LOONGARCH64
#

[Sources]
  QemuFwCfgLibMmio.c
  QemuFwCfgMmioDxe.c

[Packages]
  MdePkg/MdePkg.dec
  OvmfPkg/OvmfPkg.dec
  EmbeddedPkg/EmbeddedPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  HobLib
  IoLib
  UefiBootServicesTableLib

[Protocols]
  gFdtClientProtocolGuid                                ## CONSUMES

[Guids]
  gQemuFirmwareResourceHobGuid

[Depex]
  gFdtClientProtocolGuid
