]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/CpuMpPei.h
UefiCpuPkg/CpuMpPei: Add CPU_VOLATILE_REGISTERS & worker functions
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / CpuMpPei.h
index 9325a12d4ceb0d032491da34e681486faa3d33c9..f2286b990ee9181b5377b5aece474e7ffbe96416 100644 (file)
@@ -113,17 +113,31 @@ typedef struct {
 \r
 #pragma pack()\r
 \r
+typedef struct {\r
+  UINTN                          Cr0;\r
+  UINTN                          Cr3;\r
+  UINTN                          Cr4;\r
+  UINTN                          Dr0;\r
+  UINTN                          Dr1;\r
+  UINTN                          Dr2;\r
+  UINTN                          Dr3;\r
+  UINTN                          Dr6;\r
+  UINTN                          Dr7;\r
+} CPU_VOLATILE_REGISTERS;\r
+\r
 typedef struct {\r
   UINT32                         ApicId;\r
   EFI_HEALTH_FLAGS               Health;\r
   CPU_STATE                      State;\r
   BOOLEAN                        CpuHealthy;\r
+  CPU_VOLATILE_REGISTERS         VolatileRegisters;\r
 } PEI_CPU_DATA;\r
 \r
 //\r
 // PEI CPU MP Data save in memory\r
 //\r
 struct _PEI_CPU_MP_DATA {\r
+  SPIN_LOCK                      MpLock;\r
   UINT32                         CpuCount;\r
   UINT32                         BspNumber;\r
   UINTN                          Buffer;\r
@@ -137,6 +151,7 @@ struct _PEI_CPU_MP_DATA {
   volatile UINT32                FinishedCount;\r
   BOOLEAN                        EndOfPeiFlag;\r
   BOOLEAN                        InitFlag;\r
+  BOOLEAN                        X2ApicEnable;\r
   CPU_EXCHANGE_ROLE_INFO         BSPInfo;\r
   CPU_EXCHANGE_ROLE_INFO         APInfo;\r
   MTRR_SETTINGS                  MtrrTable;\r