TianoCore EDK2 master
Loading...
Searching...
No Matches
MpInformation2.h
Go to the documentation of this file.
1
16#ifndef MP_INFORMATION2_H_
17#define MP_INFORMATION2_H_
18
19#include <Protocol/MpService.h>
20#include <PiPei.h>
22
23#define MP_INFORMATION2_HOB_REVISION 1
24
25#define MP_INFORMATION2_GUID \
26 { \
27 0x417a7f64, 0xf4e9, 0x4b32, {0x84, 0x6a, 0x5c, 0xc4, 0xd8, 0x62, 0x18, 0x79} \
28 }
29
30typedef struct {
31 EFI_PROCESSOR_INFORMATION ProcessorInfo;
32 UINT8 CoreType;
33 UINT8 Reserved[7];
34 //
35 // Add more fields in future
36 //
38
39typedef struct {
40 UINT16 NumberOfProcessors;
41 UINT16 EntrySize;
42 UINT8 Version;
43 UINT8 Reserved[3];
44 UINT64 ProcessorIndex;
45 MP_INFORMATION2_ENTRY Entry[0];
47
48//
49// Producer of MP_INFORMATION2_HOB_DATA should assign sizeof (MP_INFORMATION2_ENTRY) to MP_INFORMATION2_HOB_DATA.EntrySize
50// Consumer of MP_INFORMATION2_HOB_DATA should use below macro or similar logic to get the individual entry
51// as the entry structure might be updated to include more information.
52//
53#define GET_MP_INFORMATION_ENTRY(MpInfoHobData, Index) \
54 (MP_INFORMATION2_ENTRY *)((UINTN)&((MP_INFORMATION2_HOB_DATA *)(MpInfoHobData))->Entry + (MpInfoHobData)->EntrySize * Index)
55
56extern EFI_GUID gMpInformation2HobGuid;
57
58#endif
Definition: Base.h:213