UefiCpuPkg: Add a new GUID to store the processors resource

On a multi-processor system, if the BSP dose not know how many APs are
online or cannot wake up the AP via broadcast, it can collect AP
resouces before wakeing up the AP and add a new HOB to save the
processor resouces.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Chao Li <lichao@loongson.cn>
Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
Chao Li 2024-04-12 10:38:19 +08:00 committed by mergify[bot]
parent 032830e968
commit 392a368533
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,29 @@
/** @file
Processor resource HOB
If BSP does not known how many cores are online or the platform cannot
wake up AP via broadcast, this HOB can be used to store the processor
resource data that may come from ACPI or FDT, etc.
Copyright (c) 2024, Loongson Technology Corporation Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef PROCESSOR_RESOURCE_HOB_H_
#define PROCESSOR_RESOURCE_HOB_H_
#define PROCESSOR_RESOURCE_HOB_GUID \
{ \
0xb855c7fe, 0xa758, 0x701f, { 0xa7, 0x30, 0x87, 0xf3, 0x9c, 0x03, 0x46, 0x7e } \
}
typedef struct {
UINT32 NumberOfProcessor;
UINTN ApicId[];
} PROCESSOR_RESOURCE_DATA;
extern EFI_GUID gProcessorResourceHobGuid;
#endif

View File

@ -96,6 +96,9 @@
## Include/Guid/MpInformation2.h
gMpInformation2HobGuid = { 0x417a7f64, 0xf4e9, 0x4b32, {0x84, 0x6a, 0x5c, 0xc4, 0xd8, 0x62, 0x18, 0x79 }}
## Include/Guid/ProcessorResourceHob.h
gProcessorResourceHobGuid = { 0xb855c7fe, 0xa758, 0x701f, { 0xa7, 0x30, 0x87, 0xf3, 0x9c, 0x03, 0x46, 0x7e }}
[Protocols]
## Include/Protocol/SmmCpuService.h
gEfiSmmCpuServiceProtocolGuid = { 0x1d202cab, 0xc8ab, 0x4d5c, { 0x94, 0xf7, 0x3c, 0xfc, 0xc0, 0xd3, 0xd3, 0x35 }}