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 | |
download | zprj-master.tar.xz |
Diffstat (limited to 'Core/EM/FirmwareManagement')
-rw-r--r-- | Core/EM/FirmwareManagement/FirmwareManagement.c | 178 | ||||
-rw-r--r-- | Core/EM/FirmwareManagement/FirmwareManagement.cif | 10 | ||||
-rw-r--r-- | Core/EM/FirmwareManagement/FirmwareManagement.mak | 57 | ||||
-rw-r--r-- | Core/EM/FirmwareManagement/FirmwareManagement.sdl | 25 |
4 files changed, 270 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 diff --git a/Core/EM/FirmwareManagement/FirmwareManagement.cif b/Core/EM/FirmwareManagement/FirmwareManagement.cif new file mode 100644 index 0000000..b275d80 --- /dev/null +++ b/Core/EM/FirmwareManagement/FirmwareManagement.cif @@ -0,0 +1,10 @@ +<component> + name = "FirmwareManagement" + category = ModulePart + LocalRoot = "Core\EM\FirmwareManagement" + RefName = "FirmwareManagement" +[files] +"FirmwareManagement.sdl" +"FirmwareManagement.mak" +"FirmwareManagement.c" +<endComponent> diff --git a/Core/EM/FirmwareManagement/FirmwareManagement.mak b/Core/EM/FirmwareManagement/FirmwareManagement.mak new file mode 100644 index 0000000..7e35d84 --- /dev/null +++ b/Core/EM/FirmwareManagement/FirmwareManagement.mak @@ -0,0 +1,57 @@ +#********************************************************************** +#********************************************************************** +#** ** +#** (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.mak 1 5/02/11 5:49p Artems $ +# +# $Revision: 1 $ +# +# $Date: 5/02/11 5:49p $ +#********************************************************************** +# Revision History +# ---------------- +# $Log: /Alaska/SOURCE/Core/Modules/FirmwareManagement/FirmwareManagement.mak $ +# +# 1 5/02/11 5:49p Artems +# +#********************************************************************** +#<AMI_FHDR_START> +# +# Name: FirmwareManagement.mak +# +# Description: Make file to create FirmwareManagement Driver +# +#<AMI_FHDR_END> +#********************************************************************** + +CORE_DXEBin : $(BUILD_DIR)\FirmwareManagement.obj + +$(BUILD_DIR)\FirmwareManagement.obj : $(FirmwareManagement_DIR)\FirmwareManagement.c + +{$(FirmwareManagement_DIR)}.c{$(BUILD_DIR)}.obj:: + $(CC) $(CFLAGS) /Fo$(BUILD_DIR)\ $< + +#********************************************************************** +#********************************************************************** +#** ** +#** (C)Copyright 1985-2011, American Megatrends, Inc. ** +#** ** +#** All Rights Reserved. ** +#** ** +#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +#** ** +#** Phone: (770)-246-8600 ** +#** ** +#********************************************************************** +#********************************************************************** diff --git a/Core/EM/FirmwareManagement/FirmwareManagement.sdl b/Core/EM/FirmwareManagement/FirmwareManagement.sdl new file mode 100644 index 0000000..f24feb3 --- /dev/null +++ b/Core/EM/FirmwareManagement/FirmwareManagement.sdl @@ -0,0 +1,25 @@ +TOKEN + Name = "FirmwareManagementr_SUPPORT" + Value = "1" + Help = "Main switch to enable FirmwareManagement support in Project" + TokenType = Boolean + TargetMAK = Yes + TargetH = Yes + Master = Yes +End + +PATH + Name = "FirmwareManagement_DIR" + Help = "Path to FirmwareManagement Module in Project" +End + +MODULE + Help = "Includes FirmwareManagement.mak to Project" + File = "FirmwareManagement.mak" +End + +ELINK + Name = "FirmwareManagementEntryPoint," + Parent = "BdsEntryInitialize" + InvokeOrder = AfterParent +End |