From e00e0dd7228c00b27cea5de9ed061576d2cd85b5 Mon Sep 17 00:00:00 2001 From: Ruiyu Ni Date: Mon, 23 Oct 2017 13:11:40 +0800 Subject: [PATCH] UefiCpuPkg/MtrrLib: Use SetMem instead of SetMem64 to fix hang ClearMasks and OrMasks are not 8-byte aligned. But SetMem64 requires the input address is 8-byte aligned. If the input is not 8-byte aligned, assertion is hit. Use SetMem instead. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni Reviewed-by: Eric Dong --- UefiCpuPkg/Library/MtrrLib/MtrrLib.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c index 200becdd4a..8e46e46cd4 100644 --- a/UefiCpuPkg/Library/MtrrLib/MtrrLib.c +++ b/UefiCpuPkg/Library/MtrrLib/MtrrLib.c @@ -2123,8 +2123,8 @@ MtrrLibSetBelow1MBMemoryAttribute ( // // (Value & ~0 | 0) still equals to (Value) // - SetMem64 (ClearMasks, sizeof (ClearMasks), 0); - SetMem64 (OrMasks, sizeof (OrMasks), 0); + SetMem (ClearMasks, sizeof (ClearMasks), 0); + SetMem (OrMasks, sizeof (OrMasks), 0); MsrIndex = (UINT32)-1; while ((BaseAddress < BASE_1MB) && (Length != 0)) {