]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuDxe/CpuDxe.h
UefiCpuPkg/CpuDxe: clear NX attr for page directory
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / CpuDxe.h
index 6dd0ad3f01f273d2c3e627d641dd2411b0e786cf..540f5f2dbf0fe4e8a4671c3e77d183f5ef281429 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   CPU DXE Module to produce CPU ARCH Protocol and CPU MP Protocol.\r
 \r
-  Copyright (c) 2008 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -19,6 +19,7 @@
 \r
 #include <Protocol/Cpu.h>\r
 #include <Protocol/MpService.h>\r
+#include <Register/Msr.h>\r
 \r
 #include <Ppi/SecPlatformInformation.h>\r
 #include <Ppi/SecPlatformInformation2.h>\r
@@ -39,6 +40,7 @@
 #include <Library/HobLib.h>\r
 #include <Library/ReportStatusCodeLib.h>\r
 #include <Library/MpInitLib.h>\r
+#include <Library/TimerLib.h>\r
 \r
 #include <Guid/IdleLoopEvent.h>\r
 #include <Guid/VectorHandoffTable.h>\r
                                        EFI_MEMORY_UCE   \\r
                                        )\r
 \r
+#define EFI_MEMORY_PAGETYPE_MASK      (EFI_MEMORY_RP  | \\r
+                                       EFI_MEMORY_XP  | \\r
+                                       EFI_MEMORY_RO    \\r
+                                       )\r
 \r
 /**\r
   Flush CPU data cache. If the instruction cache is fully coherent\r
@@ -259,5 +265,15 @@ SetDataSelectors (
   UINT16 Selector\r
   );\r
 \r
+/**\r
+  Update GCD memory space attributes according to current page table setup.\r
+**/\r
+VOID\r
+RefreshGcdMemoryAttributesFromPaging (\r
+  VOID\r
+  );\r
+\r
+extern BOOLEAN mIsAllocatingPageTable;\r
+\r
 #endif\r
 \r