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>
57 lines
1.2 KiB
C
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
|