mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-20 04:04:27 +02:00
UefiCpuPkg: Remove alignment check when calculate microcode size.
This patch removes the unnecessary alignment check on microcode patch TotalSize introduced by commit d786a172. The TotalSize has already been checked with 1K alignment and MAX_ADDRESS in previous code as below: if ( (UINTN)MicrocodeEntryPoint > (MAX_ADDRESS - TotalSize) || ((UINTN)MicrocodeEntryPoint + TotalSize) > MicrocodeEnd || (DataSize & 0x3) != 0 || (TotalSize & (SIZE_1KB - 1)) != 0 || TotalSize < DataSize ) { Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Signed-off-by: Siyuan Fu <siyuan.fu@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
This commit is contained in:
parent
70911f1f4a
commit
08a475df10
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implementation of loading microcode on processors.
|
||||
|
||||
Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
@ -397,16 +397,7 @@ LoadMicrocodePatchWorker (
|
||||
Patches[Index].Size
|
||||
);
|
||||
|
||||
//
|
||||
// Zero-fill the padding area
|
||||
// Please note that AlignedSize will be no less than Size
|
||||
//
|
||||
ZeroMem (
|
||||
Walker + Patches[Index].Size,
|
||||
Patches[Index].AlignedSize - Patches[Index].Size
|
||||
);
|
||||
|
||||
Walker += Patches[Index].AlignedSize;
|
||||
Walker += Patches[Index].Size;
|
||||
}
|
||||
|
||||
//
|
||||
@ -578,14 +569,9 @@ LoadMicrocodePatch (
|
||||
//
|
||||
// Store the information of this microcode patch
|
||||
//
|
||||
if (TotalSize > ALIGN_VALUE (TotalSize, SIZE_1KB) ||
|
||||
ALIGN_VALUE (TotalSize, SIZE_1KB) > MAX_UINTN - TotalLoadSize) {
|
||||
goto OnExit;
|
||||
}
|
||||
PatchInfoBuffer[PatchCount - 1].Address = (UINTN) MicrocodeEntryPoint;
|
||||
PatchInfoBuffer[PatchCount - 1].Size = TotalSize;
|
||||
PatchInfoBuffer[PatchCount - 1].AlignedSize = ALIGN_VALUE (TotalSize, SIZE_1KB);
|
||||
TotalLoadSize += PatchInfoBuffer[PatchCount - 1].AlignedSize;
|
||||
PatchInfoBuffer[PatchCount - 1].Address = (UINTN) MicrocodeEntryPoint;
|
||||
PatchInfoBuffer[PatchCount - 1].Size = TotalSize;
|
||||
TotalLoadSize += TotalSize;
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Common header file for MP Initialize Library.
|
||||
|
||||
Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.<BR>
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
@ -54,7 +54,6 @@
|
||||
typedef struct {
|
||||
UINTN Address;
|
||||
UINTN Size;
|
||||
UINTN AlignedSize;
|
||||
} MICROCODE_PATCH_INFO;
|
||||
|
||||
//
|
||||
|
Loading…
x
Reference in New Issue
Block a user