summaryrefslogtreecommitdiff
path: root/UefiCpuPkg
diff options
context:
space:
mode:
authorJeff Fan <jeff.fan@intel.com>2015-07-15 03:30:01 +0000
committervanjeff <vanjeff@Edk2>2015-07-15 03:30:01 +0000
commita56f6f455f88fd9cc532bdc085163095c0022a5f (patch)
tree9b55f881a9bd3165b93262c92ac61ad74a102061 /UefiCpuPkg
parent05e107f8f2101dbb2de74b2d3bcd6b102227c011 (diff)
downloadedk2-platforms-a56f6f455f88fd9cc532bdc085163095c0022a5f.tar.xz
UefiCpuPkg/CpuMpPei: Add MP exchange structure definition
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@17990 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UefiCpuPkg')
-rw-r--r--UefiCpuPkg/CpuMpPei/CpuMpPei.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
index da01fdac87..3f4fa92fc1 100644
--- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h
+++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h
@@ -23,6 +23,7 @@
#include <Library/PeimEntryPoint.h>
#pragma pack(1)
+
typedef union {
struct {
UINT32 LimitLow : 16;
@@ -41,6 +42,24 @@ typedef union {
} Bits;
UINT64 Uint64;
} IA32_GDT;
+
+//
+// MP CPU exchange information for AP reset code
+//
+typedef struct {
+ UINTN Lock;
+ UINTN StackStart;
+ UINTN StackSize;
+ UINTN CFunction;
+ IA32_DESCRIPTOR GdtrProfile;
+ IA32_DESCRIPTOR IdtrProfile;
+ UINTN BufferStart;
+ UINTN PmodeOffset;
+ UINTN NumApsExecuting;
+ UINTN LmodeOffset;
+ UINTN Cr3;
+} MP_CPU_EXCHANGE_INFO;
+
#pragma pack()
/**
Assembly code to load GDT table and update segment accordingly.