In order to support semaphore related logic, add new definition for it.
Cc: Ruiyu Ni <[email protected]>
Cc: Laszlo Ersek <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Dong <[email protected]>
---
UefiCpuPkg/Include/AcpiCpuData.h | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/UefiCpuPkg/Include/AcpiCpuData.h b/UefiCpuPkg/Include/AcpiCpuData.h
index 9e51145c08..b3cf2f664a 100644
--- a/UefiCpuPkg/Include/AcpiCpuData.h
+++ b/UefiCpuPkg/Include/AcpiCpuData.h
@@ -15,6 +15,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER
EXPRESS OR IMPLIED.
#ifndef _ACPI_CPU_DATA_H_
#define _ACPI_CPU_DATA_H_
+#include <Protocol/MpService.h>
+
//
// Register types in register table
//
@@ -22,9 +24,20 @@ typedef enum {
Msr,
ControlRegister,
MemoryMapped,
- CacheControl
+ CacheControl,
+ Semaphore
} REGISTER_TYPE;
+//
+// CPU information.
+//
+typedef struct {
+ UINT32 PackageCount; // Packages in this CPU.
+ UINT32 CoreCount; // Max Core count in the packages.
+ UINT32 ThreadCount; // MAx thread count in the cores.
+ UINT32 *ValidCoresInPackages; // Valid cores in each package.
+} CPU_STATUS_INFORMATION;
+
//
// Element of register table entry
//
@@ -147,6 +160,14 @@ typedef struct {
// provided.
//
UINT32 ApMachineCheckHandlerSize;
+ //
+ // CPU information which is required when set the register table.
+ //
+ CPU_STATUS_INFORMATION CpuStatus;
+ //
+ // Location info for each ap.
+ //
+ EFI_CPU_PHYSICAL_LOCATION *ApLocation;
} ACPI_CPU_DATA;
#endif
--
2.15.0.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel