summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/Include
diff options
context:
space:
mode:
authorNi, Ray <ray.ni@intel.com>2021-10-19 14:42:21 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-11-10 04:28:08 +0000
commitf826b20811ba6b0a9dbe44ff703b85c2def267df (patch)
treee4ef9067ca7fcd4a33f816b79ec8e911d2a1e57a /UefiCpuPkg/Include
parenta7b35aae13b2d69b9be68874f275f511b1367a5e (diff)
downloadedk2-f826b20811ba6b0a9dbe44ff703b85c2def267df.tar.gz
edk2-f826b20811ba6b0a9dbe44ff703b85c2def267df.tar.bz2
edk2-f826b20811ba6b0a9dbe44ff703b85c2def267df.zip
UefiCpuPkg/UefiCpuLib: Add GetCpuFamilyModel and GetCpuSteppingId
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3698 Lots of code relies on CPU Family/Model/Stepping for different logics. The change adds two APIs for such needs. Signed-off-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com>
Diffstat (limited to 'UefiCpuPkg/Include')
-rw-r--r--UefiCpuPkg/Include/Library/UefiCpuLib.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/UefiCpuPkg/Include/Library/UefiCpuLib.h b/UefiCpuPkg/Include/Library/UefiCpuLib.h
index 5326e72463..092c1d2116 100644
--- a/UefiCpuPkg/Include/Library/UefiCpuLib.h
+++ b/UefiCpuPkg/Include/Library/UefiCpuLib.h
@@ -4,7 +4,7 @@
This library class defines some routines that are generic for IA32 family CPU
to be UEFI specification compliant.
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2021, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2020, AMD Inc. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -43,4 +43,25 @@ StandardSignatureIsAuthenticAMD (
VOID
);
+/**
+ Return the 32bit CPU family and model value.
+
+ @return CPUID[01h].EAX with Processor Type and Stepping ID cleared.
+**/
+UINT32
+EFIAPI
+GetCpuFamilyModel (
+ VOID
+ );
+
+/**
+ Return the CPU stepping ID.
+ @return CPU stepping ID value in CPUID[01h].EAX.
+**/
+UINT8
+EFIAPI
+GetCpuSteppingId (
+ VOID
+ );
+
#endif