forked from tianocore/edk2
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Cc: Liming Gao <[email protected]> Cc: Sean Brogan <[email protected]> Signed-off-by: Wei6 Xu <[email protected]> Reviewed-by: Sean Brogan <[email protected]> Reviewed-by: Liming Gao <[email protected]>
- Loading branch information
1 parent
6c49664
commit ba86bb2
Showing
6 changed files
with
149 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
50 changes: 50 additions & 0 deletions
50
FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLib.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; | ||
} |
29 changes: 29 additions & 0 deletions
29
FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.inf
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
12 changes: 12 additions & 0 deletions
12
FmpDevicePkg/Library/FmpDependencyDeviceLibNull/FmpDependencyDeviceLibNull.uni
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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." |