TianoCore EDK2 master
|
#include "MpLib.h"
Go to the source code of this file.
Functions | |
VOID | MicrocodeDetect (IN CPU_MP_DATA *CpuMpData, IN UINTN ProcessorNumber) |
VOID | ShadowMicrocodePatchWorker (IN OUT CPU_MP_DATA *CpuMpData, IN MICROCODE_PATCH_INFO *Patches, IN UINTN PatchCount, IN UINTN TotalLoadSize) |
VOID | ShadowMicrocodePatchByPcd (IN OUT CPU_MP_DATA *CpuMpData) |
VOID | ShadowMicrocodeUpdatePatch (IN OUT CPU_MP_DATA *CpuMpData) |
BOOLEAN | GetMicrocodePatchInfoFromHob (UINT64 *Address, UINT64 *RegionSize) |
Implementation of loading microcode on processors.
Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Microcode.c.
BOOLEAN GetMicrocodePatchInfoFromHob | ( | UINT64 * | Address, |
UINT64 * | RegionSize | ||
) |
Get the cached microcode patch base address and size from the microcode patch information cache HOB.
[out] | Address | Base address of the microcode patches data. It will be updated if the microcode patch information cache HOB is found. |
[out] | RegionSize | Size of the microcode patches data. It will be updated if the microcode patch information cache HOB is found. |
TRUE | The microcode patch information cache HOB is found. |
FALSE | The microcode patch information cache HOB is not found. |
Definition at line 358 of file Microcode.c.
VOID MicrocodeDetect | ( | IN CPU_MP_DATA * | CpuMpData, |
IN UINTN | ProcessorNumber | ||
) |
Detect whether specified processor can find matching microcode patch and load it.
[in] | CpuMpData | The pointer to CPU MP Data structure. |
[in] | ProcessorNumber | The handle number of the processor. The range is from 0 to the total number of logical processors minus 1. |
Definition at line 20 of file Microcode.c.
VOID ShadowMicrocodePatchByPcd | ( | IN OUT CPU_MP_DATA * | CpuMpData | ) |
Shadow the required microcode patches data into memory according to PCD PcdCpuMicrocodePatchAddress and PcdCpuMicrocodePatchRegionSize.
[in,out] | CpuMpData | The pointer to CPU MP Data structure. |
Definition at line 188 of file Microcode.c.
VOID ShadowMicrocodePatchWorker | ( | IN OUT CPU_MP_DATA * | CpuMpData, |
IN MICROCODE_PATCH_INFO * | Patches, | ||
IN UINTN | PatchCount, | ||
IN UINTN | TotalLoadSize | ||
) |
Actual worker function that shadows the required microcode patches into memory.
[in,out] | CpuMpData | The pointer to CPU MP Data structure. |
[in] | Patches | The pointer to an array of information on the microcode patches that will be loaded into memory. |
[in] | PatchCount | The number of microcode patches that will be loaded into memory. |
[in] | TotalLoadSize | The total size of all the microcode patches to be loaded. |
Definition at line 134 of file Microcode.c.
VOID ShadowMicrocodeUpdatePatch | ( | IN OUT CPU_MP_DATA * | CpuMpData | ) |
Shadow the required microcode patches data into memory.
[in,out] | CpuMpData | The pointer to CPU MP Data structure. |
Definition at line 330 of file Microcode.c.