diff options
author | Star Zeng <star.zeng@intel.com> | 2017-11-17 14:28:25 +0800 |
---|---|---|
committer | Star Zeng <star.zeng@intel.com> | 2017-11-30 09:25:28 +0800 |
commit | c8a2f3c332e9f3c535520d9b127ca7a54f4083fa (patch) | |
tree | 47e3add7d97ceffcb752bb3a6ad3a1d8901ab67f /IntelSiliconPkg/Include | |
parent | 7ce5af40c98b17aef5a512b7823dd51ecdfbd2fe (diff) | |
download | edk2-c8a2f3c332e9f3c535520d9b127ca7a54f4083fa.tar.gz edk2-c8a2f3c332e9f3c535520d9b127ca7a54f4083fa.tar.bz2 edk2-c8a2f3c332e9f3c535520d9b127ca7a54f4083fa.zip |
IntelSiliconPkg: Move MicrocodeUpdate from UefiCpuPkg
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=540
To consume FIT table for Microcode update,
UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe
needs to be updated to consume
IntelSiliconPkg/Include/IndustryStandard/FirmwareInterfaceTable.h,
but UefiCpuPkg could not depend on IntelSiliconPkg.
Since the Microcode update feature is specific to Intel,
we can first move the Microcode update feature code from
UefiCpuPkg to IntelSiliconPkg [first step], then update
the code to consume FIT table [second step].
This patch series is for the first step.
Note: No any code change in this patch, just move.
Next patch will update MicrocodeUpdate to build with the package.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Regression-tested-by: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'IntelSiliconPkg/Include')
-rw-r--r-- | IntelSiliconPkg/Include/Guid/MicrocodeFmp.h | 21 | ||||
-rw-r--r-- | IntelSiliconPkg/Include/Library/MicrocodeFlashAccessLib.h | 39 |
2 files changed, 60 insertions, 0 deletions
diff --git a/IntelSiliconPkg/Include/Guid/MicrocodeFmp.h b/IntelSiliconPkg/Include/Guid/MicrocodeFmp.h new file mode 100644 index 0000000000..88a19538c8 --- /dev/null +++ b/IntelSiliconPkg/Include/Guid/MicrocodeFmp.h @@ -0,0 +1,21 @@ +/** @file
+
+ Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __MICROCODE_FMP_GUID_H__
+#define __MICROCODE_FMP_GUID_H__
+
+#define MICROCODE_FMP_IMAGE_TYPE_ID_GUID { 0x96d4fdcd, 0x1502, 0x424d, { 0x9d, 0x4c, 0x9b, 0x12, 0xd2, 0xdc, 0xae, 0x5c } }
+
+extern EFI_GUID gMicrocodeFmpImageTypeIdGuid;
+
+#endif
diff --git a/IntelSiliconPkg/Include/Library/MicrocodeFlashAccessLib.h b/IntelSiliconPkg/Include/Library/MicrocodeFlashAccessLib.h new file mode 100644 index 0000000000..0dfc3ef376 --- /dev/null +++ b/IntelSiliconPkg/Include/Library/MicrocodeFlashAccessLib.h @@ -0,0 +1,39 @@ +/** @file
+ Microcode flash device access library.
+
+ Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+ This program and the accompanying materials
+ are licensed and made available under the terms and conditions of the BSD License
+ which accompanies this distribution. The full text of the license may be found at
+ http://opensource.org/licenses/bsd-license.php
+
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+
+#ifndef __MICROCODE_FLASH_ACCESS_LIB_H__
+#define __MICROCODE_FLASH_ACCESS_LIB_H__
+
+/**
+ Perform microcode write opreation.
+
+ @param[in] FlashAddress The address of flash device to be accessed.
+ @param[in] Buffer The pointer to the data buffer.
+ @param[in] Length The length of data buffer in bytes.
+
+ @retval EFI_SUCCESS The operation returns successfully.
+ @retval EFI_WRITE_PROTECTED The flash device is read only.
+ @retval EFI_UNSUPPORTED The flash device access is unsupported.
+ @retval EFI_INVALID_PARAMETER The input parameter is not valid.
+**/
+EFI_STATUS
+EFIAPI
+MicrocodeFlashWrite (
+ IN EFI_PHYSICAL_ADDRESS FlashAddress,
+ IN VOID *Buffer,
+ IN UINTN Length
+ );
+
+#endif
|