+/**\r
+ Get page table base address and the depth of the page table.\r
+\r
+ @param[out] Base Page table base address.\r
+ @param[out] FiveLevels TRUE means 5 level paging. FALSE means 4 level paging.\r
+**/\r
+VOID\r
+GetPageTable (\r
+ OUT UINTN *Base,\r
+ OUT BOOLEAN *FiveLevels OPTIONAL\r
+ )\r
+{\r
+ *Base = ((mInternalCr3 == 0) ?\r
+ (AsmReadCr3 () & PAGING_4K_ADDRESS_MASK_64) :\r
+ mInternalCr3);\r
+ if (FiveLevels != NULL) {\r
+ *FiveLevels = FALSE;\r
+ }\r
+}\r
+\r