OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CpuHotEjectData.h File Reference

Data Structures

struct  CPU_HOT_EJECT_DATA
 

Macros

#define CPU_EJECT_QEMU_SELECTOR_INVALID   (MAX_UINT64)
 

Functions

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

Macro Definition Documentation

#define CPU_EJECT_QEMU_SELECTOR_INVALID   (MAX_UINT64)

Function Documentation

typedef VOID ( EFIAPI *  XENBUS_UNREGISTER_WATCH)

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.

Unregister a XenStore watch.

Parameters
ThisA pointer to the XENBUS_PROTOCOL.
TokenAn token previously returned by a successful call to RegisterWatch ().