+#include "PiSmmCpuDxeSmm.h"\r
+\r
+typedef struct {\r
+ UINT64 Signature; // Offset 0x00\r
+ UINT16 Reserved1; // Offset 0x08\r
+ UINT16 Reserved2; // Offset 0x0A\r
+ UINT16 Reserved3; // Offset 0x0C\r
+ UINT16 SmmCs; // Offset 0x0E\r
+ UINT16 SmmDs; // Offset 0x10\r
+ UINT16 SmmSs; // Offset 0x12\r
+ UINT16 SmmOtherSegment; // Offset 0x14\r
+ UINT16 Reserved4; // Offset 0x16\r
+ UINT64 Reserved5; // Offset 0x18\r
+ UINT64 Reserved6; // Offset 0x20\r
+ UINT64 Reserved7; // Offset 0x28\r
+ UINT64 SmmGdtPtr; // Offset 0x30\r
+ UINT32 SmmGdtSize; // Offset 0x38\r
+ UINT32 Reserved8; // Offset 0x3C\r
+ UINT64 Reserved9; // Offset 0x40\r
+ UINT64 Reserved10; // Offset 0x48\r
+ UINT16 Reserved11; // Offset 0x50\r
+ UINT16 Reserved12; // Offset 0x52\r
+ UINT32 Reserved13; // Offset 0x54\r
+ UINT64 Reserved14; // Offset 0x58\r
+} PROCESSOR_SMM_DESCRIPTOR;\r
+\r
+extern CONST PROCESSOR_SMM_DESCRIPTOR gcPsd;\r
+\r