VOID *mOriginalHandler;\r
UINTN mS3NvsPageTableAddress;\r
\r
+/**\r
+ Page fault handler.\r
+\r
+**/\r
VOID\r
EFIAPI\r
PageFaultHandlerHook (\r
VOID\r
);\r
\r
+/**\r
+ Hook IDT with our page fault handler so that the on-demand paging works on page fault.\r
+\r
+ @param IdtEntry a pointer to IDT entry\r
+\r
+**/\r
VOID\r
HookPageFaultHandler (\r
IN INTERRUPT_GATE_DESCRIPTOR *IdtEntry\r
AsmWriteIdtr (IdtDescriptor);\r
}\r
\r
+/**\r
+ Get new page address.\r
+\r
+ @param PageNum new page number needed\r
+\r
+ @return new page address\r
+**/\r
UINTN\r
GetNewPage (\r
IN UINTN PageNum\r
return NewPage;\r
}\r
\r
+/**\r
+ The page fault handler that on-demand read >4G memory/MMIO.\r
+ \r
+ @retval TRUE The page fault is correctly handled.\r
+ @retval FALSE The page fault is not handled and is passed through to original handler.\r
+\r
+**/\r
BOOLEAN\r
EFIAPI\r
PageFaultHandler (\r