summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
index 76f2199c96..247c398c4f 100644
--- a/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
+++ b/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c
@@ -621,6 +621,7 @@ AddTableToList (
//
if ((UINT64)(UINTN)AcpiTableInstance->Facs3 < BASE_4GB) {
AcpiTableInstance->Fadt3->FirmwareCtrl = (UINT32) (UINTN) AcpiTableInstance->Facs3;
+ ZeroMem (&AcpiTableInstance->Fadt3->XFirmwareCtrl, sizeof (UINT64));
} else {
Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Facs3;
CopyMem (
@@ -628,6 +629,7 @@ AddTableToList (
&Buffer64,
sizeof (UINT64)
);
+ AcpiTableInstance->Fadt3->FirmwareCtrl = 0;
}
AcpiTableInstance->Fadt3->Dsdt = (UINT32) (UINTN) AcpiTableInstance->Dsdt3;
Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Dsdt3;
@@ -750,6 +752,7 @@ AddTableToList (
//
if ((UINT64)(UINTN)AcpiTableInstance->Facs3 < BASE_4GB) {
AcpiTableInstance->Fadt3->FirmwareCtrl = (UINT32) (UINTN) AcpiTableInstance->Facs3;
+ ZeroMem (&AcpiTableInstance->Fadt3->XFirmwareCtrl, sizeof (UINT64));
} else {
Buffer64 = (UINT64) (UINTN) AcpiTableInstance->Facs3;
CopyMem (
@@ -757,6 +760,7 @@ AddTableToList (
&Buffer64,
sizeof (UINT64)
);
+ AcpiTableInstance->Fadt3->FirmwareCtrl = 0;
}
//