summaryrefslogtreecommitdiffstats
path: root/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
diff options
context:
space:
mode:
authorAbdul Lateef Attar <AbdulLateef.Attar@amd.com>2025-01-27 10:27:23 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-02-07 15:24:03 +0000
commit2b3ea9334f46a457ab4f22f2cfe67bc3e5916c1b (patch)
tree495febab8076f7ac33e66e572fe78626b595961b /DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
parent1f1182c396466300ad6659c42b517542c61706d9 (diff)
downloadedk2-2b3ea9334f46a457ab4f22f2cfe67bc3e5916c1b.tar.gz
DynamicTablesPkg: Adds X64 support to SRAT table generator
Adds X64 support to the SRAT table generator library. Adds EX64ObjLocalApicX2ApicAffinity CM object to get platform configuration information. Update the parser with newly added CM object. Cc: Sami Mujawar <Sami.Mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Diffstat (limited to 'DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c')
-rw-r--r--DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
index fd83a92dda..95c439986f 100644
--- a/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Common/AcpiSratLib/SratGenerator.c
@@ -2,6 +2,8 @@
SRAT Table Generator
Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.
+ Copyright (C) 2025 Advanced Micro Devices, Inc. All rights reserved.
+
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -140,9 +142,9 @@ AddMemoryAffinity (
MemAff->ProximityDomain = MemAffInfo->ProximityDomain;
MemAff->Reserved1 = EFI_ACPI_RESERVED_WORD;
MemAff->AddressBaseLow = (UINT32)(MemAffInfo->BaseAddress & MAX_UINT32);
- MemAff->AddressBaseHigh = (UINT32)(MemAffInfo->BaseAddress >> 32);
+ MemAff->AddressBaseHigh = (UINT32)RShiftU64 (MemAffInfo->BaseAddress, 32);
MemAff->LengthLow = (UINT32)(MemAffInfo->Length & MAX_UINT32);
- MemAff->LengthHigh = (UINT32)(MemAffInfo->Length >> 32);
+ MemAff->LengthHigh = (UINT32)RShiftU64 (MemAffInfo->Length, 32);
MemAff->Reserved2 = EFI_ACPI_RESERVED_DWORD;
MemAff->Flags = MemAffInfo->Flags;
MemAff->Reserved3 = EFI_ACPI_RESERVED_QWORD;