MdePkg: Update structures for MpServices Protocol
Added EXTENDED_PROCESSOR_INFORMATION structure and supporting structures and definitions. The intent is to support updated topology layout for CPUs. (PI 1.7a Mantis 2071) Signed-off-by: Robert Phelps <robert@ami.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
4ac2457673
commit
15ac284815
|
@ -47,6 +47,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08} \
|
0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Value used in the NumberProcessors parameter of the GetProcessorInfo function
|
||||||
|
///
|
||||||
|
#define CPU_V2_EXTENDED_TOPOLOGY BIT24
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Forward declaration for the EFI_MP_SERVICES_PROTOCOL.
|
/// Forward declaration for the EFI_MP_SERVICES_PROTOCOL.
|
||||||
///
|
///
|
||||||
|
@ -96,6 +101,47 @@ typedef struct {
|
||||||
UINT32 Thread;
|
UINT32 Thread;
|
||||||
} EFI_CPU_PHYSICAL_LOCATION;
|
} EFI_CPU_PHYSICAL_LOCATION;
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Structure that defines the 6-level physical location of the processor
|
||||||
|
///
|
||||||
|
typedef struct {
|
||||||
|
///
|
||||||
|
/// Package Zero-based physical package number that identifies the cartridge of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Package;
|
||||||
|
///
|
||||||
|
/// Module Zero-based physical module number within package of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Module;
|
||||||
|
///
|
||||||
|
/// Tile Zero-based physical tile number within module of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Tile;
|
||||||
|
///
|
||||||
|
/// Die Zero-based physical die number within tile of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Die;
|
||||||
|
///
|
||||||
|
/// Core Zero-based physical core number within die of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Core;
|
||||||
|
///
|
||||||
|
/// Thread Zero-based logical thread number within core of the processor.
|
||||||
|
///
|
||||||
|
UINT32 Thread;
|
||||||
|
} EFI_CPU_PHYSICAL_LOCATION2;
|
||||||
|
|
||||||
|
|
||||||
|
typedef union {
|
||||||
|
/// The 6-level physical location of the processor, including the
|
||||||
|
/// physical package number that identifies the cartridge, the physical
|
||||||
|
/// module number within package, the physical tile number within the module,
|
||||||
|
/// the physical die number within the tile, the physical core number within
|
||||||
|
/// package, and logical thread number within core.
|
||||||
|
EFI_CPU_PHYSICAL_LOCATION2 Location2;
|
||||||
|
} EXTENDED_PROCESSOR_INFORMATION;
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Structure that describes information about a logical CPU.
|
/// Structure that describes information about a logical CPU.
|
||||||
///
|
///
|
||||||
|
@ -132,6 +178,10 @@ typedef struct {
|
||||||
/// logical thread number within core.
|
/// logical thread number within core.
|
||||||
///
|
///
|
||||||
EFI_CPU_PHYSICAL_LOCATION Location;
|
EFI_CPU_PHYSICAL_LOCATION Location;
|
||||||
|
///
|
||||||
|
/// The extended information of the processor. This field is filled only when
|
||||||
|
/// CPU_V2_EXTENDED_TOPOLOGY is set in parameter ProcessorNumber.
|
||||||
|
EXTENDED_PROCESSOR_INFORMATION ExtendedInformation;
|
||||||
} EFI_PROCESSOR_INFORMATION;
|
} EFI_PROCESSOR_INFORMATION;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue