BZ# 4093: Abstract SmmCpuFeaturesLib for sharing common code This change stripped away the code that can be shared with other archs or vendors from Intel implementation and put in to the common file, leaves the Intel X86 implementation in the IntelSmmCpuFeatureLib. Also updates the header file and INF file. Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Abdul Lateef Attar <abdattar@amd.com> Cc: Garrett Kirkendall <garrett.kirkendall@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
55 lines
1.2 KiB
C
55 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 <Library/SmmCpuFeaturesLib.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/PcdLib.h>
|
|
#include <Library/MemoryAllocationLib.h>
|
|
#include <Library/DebugLib.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
|