X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FCpuMpPei%2FCpuMpPei.h;h=f2286b990ee9181b5377b5aece474e7ffbe96416;hp=9325a12d4ceb0d032491da34e681486faa3d33c9;hb=ef1fdb809886ddfeb9e4107919b14414a2fea020;hpb=28a7ddf0311f8557360b4f8d042e558b938f6e8c diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h index 9325a12d4c..f2286b990e 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h @@ -113,17 +113,31 @@ typedef struct { #pragma pack() +typedef struct { + UINTN Cr0; + UINTN Cr3; + UINTN Cr4; + UINTN Dr0; + UINTN Dr1; + UINTN Dr2; + UINTN Dr3; + UINTN Dr6; + UINTN Dr7; +} CPU_VOLATILE_REGISTERS; + typedef struct { UINT32 ApicId; EFI_HEALTH_FLAGS Health; CPU_STATE State; BOOLEAN CpuHealthy; + CPU_VOLATILE_REGISTERS VolatileRegisters; } PEI_CPU_DATA; // // PEI CPU MP Data save in memory // struct _PEI_CPU_MP_DATA { + SPIN_LOCK MpLock; UINT32 CpuCount; UINT32 BspNumber; UINTN Buffer; @@ -137,6 +151,7 @@ struct _PEI_CPU_MP_DATA { volatile UINT32 FinishedCount; BOOLEAN EndOfPeiFlag; BOOLEAN InitFlag; + BOOLEAN X2ApicEnable; CPU_EXCHANGE_ROLE_INFO BSPInfo; CPU_EXCHANGE_ROLE_INFO APInfo; MTRR_SETTINGS MtrrTable;