-#define PAGE_TABLE_ADDR 0xFD000000
-#define PAGE_DIR_ADDR 0xFD3F4000
-#define PAGE_CR3_ADDR 0xFD3F4FD0
-#define TMP_CR3_ADDR 0xFD3F4FD4 // Part of core instead of temp
-#define TMP_DIR_ADDR 0xFD3F5000 // Same
-#define TMP_TABLE_ADDR 0xFD400000
-#define HW_MAP_ADDR 0xFD800000
-#define HW_MAP_MAX 0xFEFF0000
+
+#define PAE_PAGE_TABLE_ADDR 0xFC000000 // 16 MiB
+#define PAE_PAGE_DIR_ADDR 0xFCFC0000 // 16 KiB
+#define PAE_PAGE_PDPT_ADDR 0xFCFC3F00 // 32 bytes
+#define PAE_TMP_PDPT_ADDR 0xFCFC3F20 // 32 bytes
+#define PAE_TMP_DIR_ADDR 0xFCFE0000 // 16 KiB
+#define PAE_TMP_TABLE_ADDR 0xFD000000 // 16 MiB
+
+#define PAGE_TABLE_ADDR 0xFC000000
+#define PAGE_DIR_ADDR 0xFC3F0000
+#define PAGE_CR3_ADDR 0xFC3F0FC0
+#define TMP_CR3_ADDR 0xFC3F0FC4 // Part of core instead of temp
+#define TMP_DIR_ADDR 0xFC3F1000 // Same
+#define TMP_TABLE_ADDR 0xFC400000
+
+#define HW_MAP_ADDR 0xFE000000
+#define HW_MAP_MAX 0xFFEF0000