Files
system76-edk2/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h
Michael Kubacki e542e05d4f UefiCpuPkg/SmmCpuFeaturesLib: Abstract PcdCpuMaxLogicalProcessorNumber
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3218

Adds a new function called GetCpuMaxLogicalProcessorNumber() to
return the number of maximum CPU logical processors (currently
gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber).

This allows the the mechanism used to retrieve the CPU maximum
logical processor number to be abstracted from the logic that
needs the value.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20210217213227.1277-5-mikuback@linux.microsoft.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
2021-03-08 18:07:32 +00:00

49 lines
1008 B
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_
/**
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