]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuDxe/CpuPageTable.c
UefiCpuPkg: restore strict page attributes via #DB in nonstop mode only
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / CpuPageTable.c
index 4bee8c7772b9bf3ac6342c1a49e66f7dcb95983a..812537417d9fc5306f733adad7388e780c0f5360 100644 (file)
@@ -1300,7 +1300,16 @@ PageFaultExceptionHandler (
   // Display ExceptionType, CPU information and Image information\r
   //\r
   DumpCpuContext (ExceptionType, SystemContext);\r
-  if (!NonStopMode) {\r
+  if (NonStopMode) {\r
+    //\r
+    // Set TF in EFLAGS\r
+    //\r
+    if (mPagingContext.MachineType == IMAGE_FILE_MACHINE_I386) {\r
+      SystemContext.SystemContextIa32->Eflags |= (UINT32)BIT8;\r
+    } else {\r
+      SystemContext.SystemContextX64->Rflags |= (UINT64)BIT8;\r
+    }\r
+  } else {\r
     CpuDeadLoop ();\r
   }\r
 }\r