summaryrefslogtreecommitdiff
path: root/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
diff options
context:
space:
mode:
Diffstat (limited to 'UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c')
-rw-r--r--UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
index 50b2f7bc0a..f176f9b52b 100644
--- a/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
+++ b/UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume.c
@@ -696,10 +696,6 @@ S3ResumeExecuteBootScript (
}
if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
- //
- // Need reconstruct page table here, since we do not trust ACPINvs.
- //
- RestoreS3PageTables ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
AsmWriteCr3 ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
}
@@ -906,6 +902,13 @@ S3RestoreConfig2 (
CpuDeadLoop ();
}
+ if (FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
+ //
+ // Need reconstruct page table here, since we do not trust ACPINvs.
+ //
+ RestoreS3PageTables ((UINTN)AcpiS3Context->S3NvsPageTableAddress);
+ }
+
//
// Attempt to use content from SMRAM first
//