17#ifndef SSDT_CPU_TOPOLOGY_GENERATOR_H_
18#define SSDT_CPU_TOPOLOGY_GENERATOR_H_
23#define PPTT_PROCESSOR_MASK ( \
24 (EFI_ACPI_6_3_PPTT_PACKAGE_PHYSICAL) | \
25 (EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID << 1) | \
26 (EFI_ACPI_6_3_PPTT_NODE_IS_LEAF << 3))
29#define PPTT_CPU_PROCESSOR_MASK ( \
30 (EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL) | \
31 (EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID << 1) | \
32 (EFI_ACPI_6_3_PPTT_NODE_IS_LEAF << 3))
38#define PPTT_CLUSTER_PROCESSOR_MASK ( \
39 (EFI_ACPI_6_3_PPTT_PACKAGE_NOT_PHYSICAL) | \
40 (EFI_ACPI_6_3_PPTT_PROCESSOR_ID_INVALID << 1) | \
41 (EFI_ACPI_6_3_PPTT_NODE_IS_NOT_LEAF << 3))
44#define PPTT_LEAF_MASK ((EFI_ACPI_6_3_PPTT_PROCESSOR_ID_VALID << 1) | \
45 (EFI_ACPI_6_3_PPTT_NODE_IS_LEAF << 3))
50#define SB_SCOPE "\\_SB_"
51#define SB_SCOPE_PREFIX SB_SCOPE "."
53#define SB_SCOPE_PREFIX_SIZE sizeof (SB_SCOPE_PREFIX)
56#define ACPI_HID_PROCESSOR_DEVICE "ACPI0007"
59#define ACPI_HID_ET_DEVICE "ARMHC500"
62#define ACPI_HID_PROCESSOR_CONTAINER_DEVICE "ACPI0010"
68#define MAX_NODE_COUNT (1 << 12)
168 IN OUT CHAR8 *AslName
197 OUT UINT32 *AcpiProcessorUid,
289 IN UINT32 AcpiProcessorUid,
void * AML_OBJECT_NODE_HANDLE
EFI_STATUS EFIAPI CreateTopologyFromIntC(IN ACPI_CPU_TOPOLOGY_GENERATOR *Generator, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN AML_OBJECT_NODE_HANDLE ScopeNode)
EFI_STATUS EFIAPI GetIntCInfo(IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN CM_OBJECT_TOKEN AcpiIdObjectToken, OUT UINT32 *AcpiProcessorUid, OUT CM_OBJECT_TOKEN *CpcToken, OUT CM_OBJECT_TOKEN *PsdToken)
struct TokenTable TOKEN_TABLE
EFI_STATUS EFIAPI AddArchAmlCpuInfo(IN ACPI_CPU_TOPOLOGY_GENERATOR *Generator, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN CM_OBJECT_TOKEN AcpiIdObjectToken, IN UINT32 CpuName, OUT AML_OBJECT_NODE_HANDLE *CpuNode)
EFI_STATUS EFIAPI CreateAmlCpu(IN ACPI_CPU_TOPOLOGY_GENERATOR *Generator, IN AML_NODE_HANDLE ParentNode, IN UINT32 AcpiProcessorUid, IN UINT32 CpuName, OUT AML_OBJECT_NODE_HANDLE *CpuNodePtr OPTIONAL)
EFI_STATUS EFIAPI WriteAslName(IN CHAR8 LeadChar, IN UINT32 Value, IN OUT CHAR8 *AslName)
EFI_STATUS EFIAPI CreateAmlCpcNode(IN ACPI_CPU_TOPOLOGY_GENERATOR *Generator, IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL *CONST CfgMgrProtocol, IN CM_OBJECT_TOKEN CpcToken, IN AML_OBJECT_NODE_HANDLE *Node)
struct AcpiCpuTopologyGenerator ACPI_CPU_TOPOLOGY_GENERATOR
TOKEN_TABLE TokenTable
Private object used to handle token referencing.
ACPI_TABLE_GENERATOR Header
ACPI Table generator header.
UINT32 ProcNodeCount
Count of CM_ARCH_COMMON_PROC_HIERARCHY_INFO CM objects.
CM_ARCH_COMMON_PROC_HIERARCHY_INFO * ProcNodeList
List of CM_ARCH_COMMON_PROC_HIERARCHY_INFO CM objects.