Files
system76-edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h
Wu, Jiaxin f6b86eec5a UefiCpuPkg/SmmCpuFeaturesLib: Skip SMBASE configuration
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4337

This patch is to avoid configure SMBASE if SmBase relocation has been
done. If gSmmBaseHobGuid found, means SmBase info has been relocated
and recorded in the SmBase array. No need to do the relocation in
SmmCpuFeaturesInitializeProcessor().

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
2023-03-06 06:07:48 +00:00

57 lines
1.2 KiB
C

/** @file
Internal library function definitions.
Copyright (c) Microsoft Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef CPU_FEATURES_LIB_H_
#define CPU_FEATURES_LIB_H_
#include <Guid/SmmBaseHob.h>
#include <Library/SmmCpuFeaturesLib.h>
#include <Library/BaseLib.h>
#include <Library/PcdLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/DebugLib.h>
#include <Library/HobLib.h>
/**
Performs library initialization.
This initialization function contains common functionality shared betwen all
library instance constructors.
**/
VOID
CpuFeaturesLibInitialization (
VOID
);
/**
Internal worker function that is called to complete CPU initialization at the
end of SmmCpuFeaturesInitializeProcessor().
**/
VOID
FinishSmmCpuFeaturesInitializeProcessor (
VOID
);
/**
Gets the maximum number of logical processors from the PCD PcdCpuMaxLogicalProcessorNumber.
This access is abstracted from the PCD services to enforce that the PCD be
FixedAtBuild in the Standalone MM build of this driver.
@return The value of PcdCpuMaxLogicalProcessorNumber.
**/
UINT32
GetCpuMaxLogicalProcessorNumber (
VOID
);
#endif