]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/MpInitLib/Microcode.c
UefiCpuPkg/MpInitLib: Avoid call PcdGet* in Ap & Bsp.
[mirror_edk2.git] / UefiCpuPkg / Library / MpInitLib / Microcode.c
index 982995be7d02ddcd1715424ef206827700817ef7..9d61da6c23c779c47ec50d750bf40a4907516a18 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Implementation of loading microcode on processors.\r
 \r
-  Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -42,8 +42,6 @@ MicrocodeDetect (
   IN CPU_MP_DATA             *CpuMpData\r
   )\r
 {\r
-  UINT64                                  MicrocodePatchAddress;\r
-  UINT64                                  MicrocodePatchRegionSize;\r
   UINT32                                  ExtendedTableLength;\r
   UINT32                                  ExtendedTableCount;\r
   CPU_MICROCODE_EXTENDED_TABLE            *ExtendedTable;\r
@@ -61,9 +59,7 @@ MicrocodeDetect (
   VOID                                    *MicrocodeData;\r
   MSR_IA32_PLATFORM_ID_REGISTER           PlatformIdMsr;\r
 \r
-  MicrocodePatchAddress    = PcdGet64 (PcdCpuMicrocodePatchAddress);\r
-  MicrocodePatchRegionSize = PcdGet64 (PcdCpuMicrocodePatchRegionSize);\r
-  if (MicrocodePatchRegionSize == 0) {\r
+  if (CpuMpData->MicrocodePatchRegionSize == 0) {\r
     //\r
     // There is no microcode patches\r
     //\r
@@ -93,8 +89,8 @@ MicrocodeDetect (
 \r
   LatestRevision = 0;\r
   MicrocodeData  = NULL;\r
-  MicrocodeEnd = (UINTN) (MicrocodePatchAddress + MicrocodePatchRegionSize);\r
-  MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (UINTN) MicrocodePatchAddress;\r
+  MicrocodeEnd = (UINTN) (CpuMpData->MicrocodePatchAddress + CpuMpData->MicrocodePatchRegionSize);\r
+  MicrocodeEntryPoint = (CPU_MICROCODE_HEADER *) (UINTN) CpuMpData->MicrocodePatchAddress;\r
   do {\r
     //\r
     // Check if the microcode is for the Cpu and the version is newer\r