summaryrefslogtreecommitdiffstats
path: root/OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c
diff options
context:
space:
mode:
authorPierre Gondois <pierre.gondois@arm.com>2023-03-09 16:32:49 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-04-25 10:52:24 +0000
commit18f463edbaa911b6e2c32a3e783bf6c2c9997512 (patch)
tree46edcf7ec52466017056a88c58234b1ef2265e6c /OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c
parent6127bf1f30a97e8135905d921d7745eb13554815 (diff)
downloadedk2-18f463edbaa911b6e2c32a3e783bf6c2c9997512.tar.gz
edk2-18f463edbaa911b6e2c32a3e783bf6c2c9997512.tar.bz2
edk2-18f463edbaa911b6e2c32a3e783bf6c2c9997512.zip
DynamicTablesPkg/SsdtCpuTopology: Allow multi-packages topologies
The topology of a platform is represented in ACPI using the PPTT table. It is possible to append information to CPUs/processor containers using their associated AML nodes in a SSDT table. A platform might have multiple 'physical packages' (or top-level nodes) in their PPTT topology representation. It can be assumed from [1] that a 'physical packages' is always a 'top-level node', and conversely. The SSDT topology generator doesn't support having multiple top-level nodes. The top-level node is also not generated in the SSDT topology representation. Add support to generate multiple top-level nodes in the SSDT topology generator and generate an AML node for this top-level node. This will allow to have matching PPTT and SSDT topology representations. Prior to this patch, this top-level AML node was not generated. Also factorize the flag checking in CheckProcNode() and add more checks. This patch takes inspiration from the discussion at: - v1: https://edk2.groups.io/g/devel/message/99410 - v2: https://edk2.groups.io/g/devel/message/99615 [1] ACPI 6.5, 5.2.30.1 Processor hierarchy node structure (Type 0): - "Multiple trees may be described, covering for example multiple packages. For the root of a tree, the parent pointer should be 0."" - "Each valid processor must belong to exactly one package. That is, the leaf must itself be a physical package or have an ancestor marked as a physical package." Suggested-by: Jeff Brasen <jbrasen@nvidia.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Jeff Brasen <jbrasen@nvidia.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
Diffstat (limited to 'OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.c')
0 files changed, 0 insertions, 0 deletions