X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FCpuMpPei%2FCpuMpPei.h;h=d8ee2ee5fb11a7f110995bc4fd46319de3d584c5;hp=ed6cf0598695463fb5a3c492f9903412a701aeb1;hb=3798f3513380fd225614d25947a4fb2977705a45;hpb=d11bbfff1f14239d7b78c6c522a4a6a9a00058cf diff --git a/UefiCpuPkg/CpuMpPei/CpuMpPei.h b/UefiCpuPkg/CpuMpPei/CpuMpPei.h index ed6cf05986..d8ee2ee5fb 100644 --- a/UefiCpuPkg/CpuMpPei/CpuMpPei.h +++ b/UefiCpuPkg/CpuMpPei/CpuMpPei.h @@ -58,6 +58,16 @@ typedef struct { UINTN RendezvousFunnelSize; } MP_ASSEMBLY_ADDRESS_MAP; +// +// CPU exchange information for switch BSP +// +typedef struct { + UINT8 State; // offset 0 + UINTN StackPointer; // offset 4 / 8 + IA32_DESCRIPTOR Gdtr; // offset 8 / 16 + IA32_DESCRIPTOR Idtr; // offset 14 / 26 +} CPU_EXCHANGE_ROLE_INFO; + typedef struct _PEI_CPU_MP_DATA PEI_CPU_MP_DATA; #pragma pack() @@ -124,6 +134,8 @@ struct _PEI_CPU_MP_DATA { UINTN ApFunctionArgument; volatile UINT32 FinishedCount; BOOLEAN InitFlag; + CPU_EXCHANGE_ROLE_INFO BSPInfo; + CPU_EXCHANGE_ROLE_INFO APInfo; MTRR_SETTINGS MtrrTable; PEI_CPU_DATA *CpuData; volatile MP_CPU_EXCHANGE_INFO *MpCpuExchangeInfo;