UefiCpuPkg/MicrocodeUpdate: Fix GetImage API
Current GetImage API forgets to return data to caller.
Add code to fix it.
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
diff --git a/UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c b/UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
index 2b2d3ac..2eb4ae4 100644
--- a/UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
+++ b/UefiCpuPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c
@@ -255,6 +255,16 @@
TotalSize = MicrocodeEntryPoint->TotalSize;
}
+ if (ImageIndex == Count + 1) {
+ if (*ImageSize < TotalSize) {
+ *ImageSize = TotalSize;
+ return EFI_BUFFER_TOO_SMALL;
+ }
+ *ImageSize = TotalSize;
+ CopyMem (Image, MicrocodeEntryPoint, TotalSize);
+ return EFI_SUCCESS;
+ }
+
} else {
//
// It is the padding data between the microcode patches for microcode patches alignment.