UefiCpuPkg: Add Cpuid.h include files for CPUID related defines
Move CPUID related defines from LocalApic.h to Cpuid.h
Update LocalApicLib instances to include Cpuid.h
Update CpuMpPei module to include Cpuid.h
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18633 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
index 19e649e..9325a12 100644
--- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h
+++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
@@ -22,6 +22,7 @@
#include <Ppi/SecPlatformInformation2.h>
#include <Ppi/EndOfPeiPhase.h>
+#include <Register/Cpuid.h>
#include <Register/LocalApic.h>
#include <Library/BaseLib.h>
diff --git a/UefiCpuPkg/Include/Register/Cpuid.h b/UefiCpuPkg/Include/Register/Cpuid.h
new file mode 100644
index 0000000..6730551
--- /dev/null
+++ b/UefiCpuPkg/Include/Register/Cpuid.h
@@ -0,0 +1,51 @@
+/** @file
+CPUID Definitions.
+
+CPUID definitions based on contents of the Intel(R) 64 and IA-32 Architectures
+Software Developer's Manual, Volume 2A, CPUID instruction.
+
+Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+
+#ifndef __CPUID_H__
+#define __CPUID_H__
+
+//
+// Definitions for CPUID instruction
+//
+#define CPUID_SIGNATURE 0x0
+
+#define CPUID_VERSION_INFO 0x1
+
+#define CPUID_CACHE_INFO 0x2
+
+#define CPUID_SERIAL_NUMBER 0x3
+
+#define CPUID_CACHE_PARAMS 0x4
+
+#define CPUID_EXTENDED_TOPOLOGY 0xB
+#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_INVALID 0x0
+#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_SMT 0x1
+#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_CORE 0x2
+
+#define CPUID_EXTENDED_FUNCTION 0x80000000
+
+#define CPUID_EXTENDED_CPU_SIG 0x80000001
+
+#define CPUID_BRAND_STRING1 0x80000002
+
+#define CPUID_BRAND_STRING2 0x80000003
+
+#define CPUID_BRAND_STRING3 0x80000004
+
+#define CPUID_VIR_PHY_ADDRESS_SIZE 0x80000008
+
+#endif
diff --git a/UefiCpuPkg/Include/Register/LocalApic.h b/UefiCpuPkg/Include/Register/LocalApic.h
index cf335a6..346cce6 100644
--- a/UefiCpuPkg/Include/Register/LocalApic.h
+++ b/UefiCpuPkg/Include/Register/LocalApic.h
@@ -21,19 +21,6 @@
#define MSR_IA32_APIC_BASE_ADDRESS 0x1B
//
-// Definitions for CPUID instruction
-//
-#define CPUID_SIGNATURE 0x0
-#define CPUID_VERSION_INFO 0x1
-#define CPUID_CACHE_PARAMS 0x4
-#define CPUID_EXTENDED_TOPOLOGY 0xB
-#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_INVALID 0x0
-#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_SMT 0x1
-#define CPUID_EXTENDED_TOPOLOGY_LEVEL_TYPE_CORE 0x2
-#define CPUID_EXTENDED_FUNCTION 0x80000000
-#define CPUID_VIR_PHY_ADDRESS_SIZE 0x80000008
-
-//
// Definition for Local APIC registers and related values
//
#define XAPIC_ID_OFFSET 0x20
diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
index 08bcef7..6cf36cb 100644
--- a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
+++ b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
@@ -14,6 +14,7 @@
**/
+#include <Register/Cpuid.h>
#include <Register/LocalApic.h>
#include <Library/BaseLib.h>
diff --git a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
index 1a91116..0503942 100644
--- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
+++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
@@ -15,6 +15,7 @@
**/
+#include <Register/Cpuid.h>
#include <Register/LocalApic.h>
#include <Library/BaseLib.h>