mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-25 14:44:28 +02:00
FmpDevicePkg: Add FmpDependencyDevice library class and NULL instance
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2696 This library provides firmware device specific services to support saving dependency to firmware device and getting dependency from firmware device. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
6c4966423b
commit
ba86bb2c4d
@ -43,6 +43,11 @@
|
|||||||
# check during update of firmware image.
|
# check during update of firmware image.
|
||||||
FmpDependencyCheckLib|Include/Library/FmpDependencyCheckLib.h
|
FmpDependencyCheckLib|Include/Library/FmpDependencyCheckLib.h
|
||||||
|
|
||||||
|
## @libraryclass Provides firmware device specific services to support
|
||||||
|
# saving dependency to firmware device and getting dependency
|
||||||
|
# from firmware device.
|
||||||
|
FmpDependencyDeviceLib|Include/Library/FmpDependencyDeviceLib.h
|
||||||
|
|
||||||
[LibraryClasses.Common.Private]
|
[LibraryClasses.Common.Private]
|
||||||
## @libraryclass Provides services to retrieve values from a capsule's FMP
|
## @libraryclass Provides services to retrieve values from a capsule's FMP
|
||||||
# Payload Header. The structure is not included in the
|
# Payload Header. The structure is not included in the
|
||||||
|
@ -64,6 +64,7 @@
|
|||||||
FmpDeviceLib|FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf
|
FmpDeviceLib|FmpDevicePkg/Library/FmpDeviceLibNull/FmpDeviceLibNull.inf
|
||||||
FmpDependencyLib|FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
|
FmpDependencyLib|FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
|
||||||
FmpDependencyCheckLib|FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.inf
|
FmpDependencyCheckLib|FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.inf
|
||||||
|
FmpDependencyDeviceLib|FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.inf
|
||||||
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
||||||
|
|
||||||
[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
||||||
@ -95,6 +96,7 @@
|
|||||||
FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
|
FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.inf
|
||||||
FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDependencyCheckLib.inf
|
FmpDevicePkg/Library/FmpDependencyCheckLib/FmpDependencyCheckLib.inf
|
||||||
FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.inf
|
FmpDevicePkg/Library/FmpDependencyCheckLibNull/FmpDependencyCheckLibNull.inf
|
||||||
|
FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.inf
|
||||||
FmpDevicePkg/FmpDxe/FmpDxeLib.inf
|
FmpDevicePkg/FmpDxe/FmpDxeLib.inf
|
||||||
|
|
||||||
#
|
#
|
||||||
|
51
FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h
Normal file
51
FmpDevicePkg/Include/Library/FmpDependencyDeviceLib.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/** @file
|
||||||
|
Provides firmware device specific services to support saving dependency to
|
||||||
|
firmware device and getting dependency from firmware device.
|
||||||
|
|
||||||
|
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
#ifndef __FMP_DEPENDENCY_DEVICE_LIB__
|
||||||
|
#define __FMP_DEPENDENCY_DEVICE_LIB__
|
||||||
|
|
||||||
|
#include <PiDxe.h>
|
||||||
|
#include <Protocol/FirmwareManagement.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
Save dependency to Fmp device.
|
||||||
|
|
||||||
|
@param[in] Depex Fmp dependency.
|
||||||
|
@param[in] DepexSize Size, in bytes, of the Fmp dependency.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS Save Fmp dependency succeeds.
|
||||||
|
@retval EFI_UNSUPPORTED Save Fmp dependency is not supported.
|
||||||
|
@retval Others Save Fmp dependency fails.
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
SaveFmpDependency (
|
||||||
|
IN EFI_FIRMWARE_IMAGE_DEP *Depex,
|
||||||
|
IN UINT32 DepexSize
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Get dependency from the Fmp device.
|
||||||
|
This caller is responsible for freeing the dependency buffer.
|
||||||
|
|
||||||
|
@param[out] DepexSize Size, in bytes, of the dependency.
|
||||||
|
|
||||||
|
@retval The pointer to dependency.
|
||||||
|
@retval NULL
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_FIRMWARE_IMAGE_DEP*
|
||||||
|
EFIAPI
|
||||||
|
GetFmpDependency (
|
||||||
|
OUT UINT32 *DepexSize
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,50 @@
|
|||||||
|
/** @file
|
||||||
|
Null instance of FmpDependencyDeviceLib.
|
||||||
|
|
||||||
|
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
**/
|
||||||
|
#include <PiDxe.h>
|
||||||
|
#include <Library/FmpDependencyDeviceLib.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
Save dependency to Fmp device.
|
||||||
|
|
||||||
|
@param[in] Depex Fmp dependency.
|
||||||
|
@param[in] DepexSize Size, in bytes, of the Fmp dependency.
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS Save Fmp dependency succeeds.
|
||||||
|
@retval EFI_UNSUPPORTED Save Fmp dependency is not supported.
|
||||||
|
@retval Others Save Fmp dependency fails.
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
SaveFmpDependency (
|
||||||
|
IN EFI_FIRMWARE_IMAGE_DEP *Depex,
|
||||||
|
IN UINT32 DepexSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return EFI_UNSUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Get dependency from the Fmp device.
|
||||||
|
This caller is responsible for freeing the dependency buffer.
|
||||||
|
|
||||||
|
@param[out] DepexSize Size, in bytes, of the dependency.
|
||||||
|
|
||||||
|
@retval The pointer to dependency.
|
||||||
|
@retval NULL
|
||||||
|
|
||||||
|
**/
|
||||||
|
EFI_FIRMWARE_IMAGE_DEP*
|
||||||
|
EFIAPI
|
||||||
|
GetFmpDependency (
|
||||||
|
OUT UINT32 *DepexSize
|
||||||
|
)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
## @file
|
||||||
|
# Fmp Dependency Device Library Null instance.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
##
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 0x00010005
|
||||||
|
BASE_NAME = FmpDependencyDeviceLibNull
|
||||||
|
MODULE_UNI_FILE = FmpDependencyDeviceLibNull.uni
|
||||||
|
FILE_GUID = 05BE67B1-0748-4022-97E6-7C0D2F992AA6
|
||||||
|
MODULE_TYPE = DXE_DRIVER
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
LIBRARY_CLASS = FmpDependencyDeviceLib|DXE_DRIVER UEFI_DRIVER
|
||||||
|
|
||||||
|
#
|
||||||
|
# The following information is for reference only and not required by the build tools.
|
||||||
|
#
|
||||||
|
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
|
||||||
|
#
|
||||||
|
|
||||||
|
[Sources]
|
||||||
|
FmpDependencyDeviceLib.c
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
FmpDevicePkg/FmpDevicePkg.dec
|
@ -0,0 +1,12 @@
|
|||||||
|
// /** @file
|
||||||
|
// Fmp Dependency Device Library Null instance.
|
||||||
|
//
|
||||||
|
// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
//
|
||||||
|
// **/
|
||||||
|
|
||||||
|
#string STR_MODULE_ABSTRACT #language en-US "Fmp Dependency Device Library Null instance."
|
||||||
|
|
||||||
|
#string STR_MODULE_DESCRIPTION #language en-US "Null instance that does not support saving and getting dependency for Fmp device."
|
Loading…
x
Reference in New Issue
Block a user