TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuHotEjectData.h File Reference

Go to the source code of this file.

Data Structures

struct  CPU_HOT_EJECT_DATA
 

Macros

#define CPU_EJECT_QEMU_SELECTOR_INVALID   (MAX_UINT64)
 

Typedefs

typedef VOID(EFIAPI * CPU_HOT_EJECT_HANDLER) (IN UINTN ProcessorNum)
 

Detailed Description

Definition for the CPU_HOT_EJECT_DATA structure, which shares CPU hot-eject state between OVMF's SmmCpuFeaturesLib instance in PiSmmCpuDxeSmm, and CpuHotplugSmm.

CPU_HOT_EJECT_DATA is allocated in SMRAM, and pointed-to by PcdCpuHotEjectDataAddress.

PcdCpuHotEjectDataAddress is valid when SMM_REQUIRE is TRUE and PcdCpuMaxLogicalProcessorNumber > 1.

Copyright (C) 2021, Oracle Corporation.

SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file CpuHotEjectData.h.

Macro Definition Documentation

◆ CPU_EJECT_QEMU_SELECTOR_INVALID

#define CPU_EJECT_QEMU_SELECTOR_INVALID   (MAX_UINT64)

Definition at line 43 of file CpuHotEjectData.h.

Typedef Documentation

◆ CPU_HOT_EJECT_HANDLER

typedef VOID(EFIAPI * CPU_HOT_EJECT_HANDLER) (IN UINTN ProcessorNum)

CPU Hot-eject handler, called from SmmCpuFeaturesRendezvousExit() on each CPU at exit from SMM.

Parameters
[in]ProcessorNumProcessorNum denotes the CPU exiting SMM, and will be used as an index into CPU_HOT_EJECT_DATA->QemuSelectorMap. It is identical to the processor handle in EFI_SMM_CPU_SERVICE_PROTOCOL.

Definition at line 31 of file CpuHotEjectData.h.