mirror of
https://github.com/tianocore/edk2.git
synced 2025-08-30 20:28:10 +00:00

The ACPI specification v6.5, sTable 5.158: Processor Structure Flags states that: """ The processor container will have a matching ID value returned through the _UID method. As not every pro- cessor hierarchy node structure in PPTT may have a matching processor container, this flag indicates whether the ACPI pro- cessor ID points to valid entry. Where a valid entry is possible the ACPI Processor ID and _UID method are mandatory. """ And in: Table 5.157: Processor Hierarchy Node Structure """ If the processor structure rep- resents a group of associated processors, the structure might match a processor container in the name space. In that case this entry will match the value of the _UID method of the as- sociated processor container. Where there is a match it must be represented. The flags field, described in Processor Struc- ture Flags, includes a bit to describe whether the ACPI pro- cessor ID is valid. """ The DynamicTablesPkg currently creates a processor container: - in the SSDT CPU Topology generator, with the _HID=ACPI0010, and with a valid _UID - in the PPTT table for each CM_ARCH_COMMON_PROC_HIERARCHY_INFO structure. Thus: - all the processor containers should have the VALID bit set if the SSDT CPU Topology table is present. - if the SSDT CPU Topology table is present, but there is no PPTT table, then the state of the VALID bit is ignored. A contrario, an example where the VALID bit should not be set would be if: - the SSDT CPU Topology generator is absent - no processor container is created in the SSDT topology, i.e. if a flat hierarchy is created. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
33 lines
723 B
INI
33 lines
723 B
INI
## @file
|
|
# PPTT Table Generator
|
|
#
|
|
# Copyright (c) 2019, ARM Limited. All rights reserved.
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x0001001B
|
|
BASE_NAME = AcpiPpttLib
|
|
FILE_GUID = FA102D52-5A92-4F95-A097-1D53F9CF5959
|
|
VERSION_STRING = 1.0
|
|
MODULE_TYPE = DXE_DRIVER
|
|
LIBRARY_CLASS = NULL|DXE_DRIVER
|
|
CONSTRUCTOR = AcpiPpttLibConstructor
|
|
DESTRUCTOR = AcpiPpttLibDestructor
|
|
|
|
[Sources]
|
|
PpttGenerator.c
|
|
PpttGenerator.h
|
|
|
|
[Packages]
|
|
EmbeddedPkg/EmbeddedPkg.dec
|
|
DynamicTablesPkg/DynamicTablesPkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
CmObjHelperLib
|
|
MetadataHandlerLib
|