TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuHotEjectData.h
Go to the documentation of this file.
1
17#ifndef CPU_HOT_EJECT_DATA_H_
18#define CPU_HOT_EJECT_DATA_H_
19
30typedef
31VOID
32(EFIAPI *CPU_HOT_EJECT_HANDLER)(
33 IN UINTN ProcessorNum
34 );
35
36//
37// CPU_EJECT_QEMU_SELECTOR_INVALID marks CPUs not being ejected in
38// CPU_HOT_EJECT_DATA->QemuSelectorMap.
39//
40// QEMU CPU Selector is UINT32, so we choose an invalid value larger
41// than that type.
42//
43#define CPU_EJECT_QEMU_SELECTOR_INVALID (MAX_UINT64)
44
45typedef struct {
46 //
47 // Maps ProcessorNum -> QemuSelector for pending hot-ejects
48 //
49 volatile UINT64 *QemuSelectorMap;
50 //
51 // Handler to do the CPU ejection
52 //
53 volatile CPU_HOT_EJECT_HANDLER Handler;
54 //
55 // Entries in the QemuSelectorMap
56 //
57 UINT32 ArrayLength;
59
60#endif // CPU_HOT_EJECT_DATA_H_
UINT64 UINTN
VOID(EFIAPI * CPU_HOT_EJECT_HANDLER)(IN UINTN ProcessorNum)
#define IN
Definition: Base.h:279