|
@@ -399,8 +399,13 @@ NEXT_PAGE(level3_ident_pgt)
|
|
|
.quad level2_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC
|
|
|
.fill 511, 8, 0
|
|
|
NEXT_PAGE(level2_ident_pgt)
|
|
|
- /* Since I easily can, map the first 1G.
|
|
|
+ /*
|
|
|
+ * Since I easily can, map the first 1G.
|
|
|
* Don't set NX because code runs from these pages.
|
|
|
+ *
|
|
|
+ * Note: This sets _PAGE_GLOBAL despite whether
|
|
|
+ * the CPU supports it or it is enabled. But,
|
|
|
+ * the CPU should ignore the bit.
|
|
|
*/
|
|
|
PMDS(0, __PAGE_KERNEL_IDENT_LARGE_EXEC, PTRS_PER_PMD)
|
|
|
#else
|
|
@@ -431,6 +436,10 @@ NEXT_PAGE(level2_kernel_pgt)
|
|
|
* (NOTE: at +512MB starts the module area, see MODULES_VADDR.
|
|
|
* If you want to increase this then increase MODULES_VADDR
|
|
|
* too.)
|
|
|
+ *
|
|
|
+ * This table is eventually used by the kernel during normal
|
|
|
+ * runtime. Care must be taken to clear out undesired bits
|
|
|
+ * later, like _PAGE_RW or _PAGE_GLOBAL in some cases.
|
|
|
*/
|
|
|
PMDS(0, __PAGE_KERNEL_LARGE_EXEC,
|
|
|
KERNEL_IMAGE_SIZE/PMD_SIZE)
|