summaryrefslogtreecommitdiff
path: root/Core/EM/FirmwareManagement
diff options
context:
space:
mode:
authorraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
committerraywu <raywu0301@gmail.com>2018-06-15 00:00:50 +0800
commitb7c51c9cf4864df6aabb99a1ae843becd577237c (patch)
treeeebe9b0d0ca03062955223097e57da84dd618b9a /Core/EM/FirmwareManagement
downloadzprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz
init. 1AQQW051HEADmaster
Diffstat (limited to 'Core/EM/FirmwareManagement')
-rw-r--r--Core/EM/FirmwareManagement/FirmwareManagement.c178
-rw-r--r--Core/EM/FirmwareManagement/FirmwareManagement.cif10
-rw-r--r--Core/EM/FirmwareManagement/FirmwareManagement.mak57
-rw-r--r--Core/EM/FirmwareManagement/FirmwareManagement.sdl25
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