#include <Library/HobLib.h>\r
\r
\r
+#pragma pack(1)\r
+\r
+//\r
+// MP CPU exchange information for AP reset code\r
+// This structure is required to be packed because fixed field offsets\r
+// into this structure are used in assembly code in this module\r
+//\r
+typedef struct {\r
+ UINTN Lock;\r
+ UINTN StackStart;\r
+ UINTN StackSize;\r
+ UINTN CFunction;\r
+ IA32_DESCRIPTOR GdtrProfile;\r
+ IA32_DESCRIPTOR IdtrProfile;\r
+ UINTN BufferStart;\r
+ UINTN ModeOffset;\r
+ UINTN NumApsExecuting;\r
+ UINTN CodeSegment;\r
+ UINTN DataSegment;\r
+ UINTN Cr3;\r
+ PEI_CPU_MP_DATA *PeiCpuMpData;\r
+} MP_CPU_EXCHANGE_INFO;\r
+\r
+#pragma pack()\r
#endif\r
\r