diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Core/EM/FirmwareManagement/FirmwareManagement.c | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Core/EM/FirmwareManagement/FirmwareManagement.c')
-rw-r--r-- | Core/EM/FirmwareManagement/FirmwareManagement.c | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/Core/EM/FirmwareManagement/FirmwareManagement.c b/Core/EM/FirmwareManagement/FirmwareManagement.c new file mode 100644 index 0000000..8ea4a8f --- /dev/null +++ b/Core/EM/FirmwareManagement/FirmwareManagement.c @@ -0,0 +1,178 @@ +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//********************************************************************** + +//********************************************************************** +// $Header: /Alaska/SOURCE/Core/Modules/FirmwareManagement/FirmwareManagement.c 2 4/11/12 5:03p Artems $ +// +// $Revision: 2 $ +// +// $Date: 4/11/12 5:03p $ +//********************************************************************** +// Revision History +// ---------------- +// $Log: /Alaska/SOURCE/Core/Modules/FirmwareManagement/FirmwareManagement.c $ +// +// 2 4/11/12 5:03p Artems +// [TAG] EIP87144 +// [Category] Bug Fix +// [Severity] Minor +// [Symptom] Aptio4.6.5.3...SCT Execution test failed.(Firmware +// Management Test\Firmware Management Protocol) +// [RootCause] Firmware management protocol is not supported +// [Solution] Added fix to pass conformance SCT test +// [Files] FirmwareManagement.c +// +// 1 5/02/11 5:49p Artems +// +//********************************************************************** +//<AMI_FHDR_START> +// +// Name: FirmwareManagement.c +// +// Description: +// +//<AMI_FHDR_END> +//********************************************************************** +#include <Token.h> +#include <AmiDxeLib.h> +#include <Protocol\FirmwareManagement.h> + +EFI_STATUS FmGetImageInfo ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + IN OUT UINTN *ImageInfoSize, + IN OUT EFI_FIRMWARE_IMAGE_DESCRIPTOR *ImageInfo, + OUT UINT32 *DescriptorVersion, + OUT UINT8 *DescriptorCount, + OUT UINTN *DescriptorSize, + OUT UINT32 *PackageVersion, + OUT CHAR16 **PackageVersionName +) +{ + if(ImageInfoSize == NULL) { + return EFI_INVALID_PARAMETER; + } + + if(*ImageInfoSize < sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR)) { + *ImageInfoSize = sizeof(EFI_FIRMWARE_IMAGE_DESCRIPTOR); + return EFI_BUFFER_TOO_SMALL; + } + + return EFI_UNSUPPORTED; +} + +EFI_STATUS FmGetImage ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + IN UINT8 ImageIndex, + IN OUT VOID *Image, + IN OUT UINTN *ImageSize +) +{ + return EFI_UNSUPPORTED; +} + +EFI_STATUS FmSetImage ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + IN UINT8 ImageIndex, + IN CONST VOID *Image, + IN UINTN ImageSize, + IN CONST VOID *VendorCode, + IN EFI_FIRMWARE_MANAGEMENT_UPDATE_IMAGE_PROGRESS Progress, + OUT CHAR16 **AbortReason +) +{ + return EFI_UNSUPPORTED; +} + +EFI_STATUS FmCheckImage ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + IN UINT8 ImageIndex, + IN CONST VOID *Image, + IN UINTN ImageSize, + OUT UINT32 *ImageUpdatable +) +{ + return EFI_UNSUPPORTED; +} + +EFI_STATUS FmGetPackageInfo ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + OUT UINT32 *PackageVersion, + OUT CHAR16 **PackageVersionName, + OUT UINT32 *PackageVersionNameMaxLen, + OUT UINT64 *AttributesSupported, + OUT UINT64 *AttributesSetting +) +{ + return EFI_UNSUPPORTED; +} + +EFI_STATUS FmSetPackageInfo ( + IN EFI_FIRMWARE_MANAGEMENT_PROTOCOL *This, + IN CONST VOID *Image, + IN UINTN ImageSize, + IN CONST VOID *VendorCode, + IN UINT32 PackageVersion, + IN CONST CHAR16 *PackageVersionName +) +{ + return EFI_UNSUPPORTED; +} + + +EFI_FIRMWARE_MANAGEMENT_PROTOCOL EfiFirmwareManagementProtocol = { + FmGetImageInfo, + FmGetImage, + FmSetImage, + FmCheckImage, + FmGetPackageInfo, + FmSetPackageInfo +}; + +EFI_STATUS FirmwareManagementEntryPoint( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable +) +{ + EFI_STATUS Status; + EFI_HANDLE Handle = NULL; + + InitAmiLib(ImageHandle,SystemTable); + + Status = pBS->InstallMultipleProtocolInterfaces( + &Handle, + &gEfiFirmwareManagementProtocolGuid, + &EfiFirmwareManagementProtocol, + NULL); + + + return Status; +} + + + + + +//********************************************************************** +//********************************************************************** +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//********************************************************************** +//**********************************************************************
\ No newline at end of file |