summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/CpuMpPei/CpuMpPei.h
diff options
context:
space:
mode:
authorJeff Fan <jeff.fan@intel.com>2015-07-15 03:44:16 +0000
committervanjeff <vanjeff@Edk2>2015-07-15 03:44:16 +0000
commit3798f3513380fd225614d25947a4fb2977705a45 (patch)
treee9b3eec65ef8e64f29a27ed4ec619f9183f3657a /UefiCpuPkg/CpuMpPei/CpuMpPei.h
parentd11bbfff1f14239d7b78c6c522a4a6a9a00058cf (diff)
downloadedk2-3798f3513380fd225614d25947a4fb2977705a45.tar.gz
edk2-3798f3513380fd225614d25947a4fb2977705a45.tar.bz2
edk2-3798f3513380fd225614d25947a4fb2977705a45.zip
UefiCpuPkg/CpuMpPei: Implementation of PeiSwitchBSP ()
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18010 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UefiCpuPkg/CpuMpPei/CpuMpPei.h')
-rw-r--r--UefiCpuPkg/CpuMpPei/CpuMpPei.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
index ed6cf05986..d8ee2ee5fb 100644
--- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h
+++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
@@ -58,6 +58,16 @@ typedef struct {
UINTN RendezvousFunnelSize;
} MP_ASSEMBLY_ADDRESS_MAP;
+//
+// CPU exchange information for switch BSP
+//
+typedef struct {
+ UINT8 State; // offset 0
+ UINTN StackPointer; // offset 4 / 8
+ IA32_DESCRIPTOR Gdtr; // offset 8 / 16
+ IA32_DESCRIPTOR Idtr; // offset 14 / 26
+} CPU_EXCHANGE_ROLE_INFO;
+
typedef struct _PEI_CPU_MP_DATA PEI_CPU_MP_DATA;
#pragma pack()
@@ -124,6 +134,8 @@ struct _PEI_CPU_MP_DATA {
UINTN ApFunctionArgument;
volatile UINT32 FinishedCount;
BOOLEAN InitFlag;
+ CPU_EXCHANGE_ROLE_INFO BSPInfo;
+ CPU_EXCHANGE_ROLE_INFO APInfo;
MTRR_SETTINGS MtrrTable;
PEI_CPU_DATA *CpuData;
volatile MP_CPU_EXCHANGE_INFO *MpCpuExchangeInfo;