|
@@ -379,18 +379,24 @@ 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.
|
|
* Don't set NX because code runs from these pages.
|
|
*/
|
|
*/
|
|
- PMDS(0x0000000000000000, __PAGE_KERNEL_LARGE_EXEC, PTRS_PER_PMD)
|
|
|
|
|
|
+ PMDS(0, __PAGE_KERNEL_LARGE_EXEC, PTRS_PER_PMD)
|
|
|
|
|
|
NEXT_PAGE(level2_kernel_pgt)
|
|
NEXT_PAGE(level2_kernel_pgt)
|
|
- /* 40MB kernel mapping. The kernel code cannot be bigger than that.
|
|
|
|
- When you change this change KERNEL_TEXT_SIZE in page.h too. */
|
|
|
|
- /* (2^48-(2*1024*1024*1024)-((2^39)*511)-((2^30)*510)) = 0 */
|
|
|
|
- PMDS(0x0000000000000000, __PAGE_KERNEL_LARGE_EXEC|_PAGE_GLOBAL, KERNEL_TEXT_SIZE/PMD_SIZE)
|
|
|
|
- /* Module mapping starts here */
|
|
|
|
- .fill (PTRS_PER_PMD - (KERNEL_TEXT_SIZE/PMD_SIZE)),8,0
|
|
|
|
|
|
+ /*
|
|
|
|
+ * 128 MB kernel mapping. We spend a full page on this pagetable
|
|
|
|
+ * anyway.
|
|
|
|
+ *
|
|
|
|
+ * The kernel code+data+bss must not be bigger than that.
|
|
|
|
+ *
|
|
|
|
+ * (NOTE: at +128MB starts the module area, see MODULES_VADDR.
|
|
|
|
+ * If you want to increase this then increase MODULES_VADDR
|
|
|
|
+ * too.)
|
|
|
|
+ */
|
|
|
|
+ PMDS(0, __PAGE_KERNEL_LARGE_EXEC|_PAGE_GLOBAL,
|
|
|
|
+ KERNEL_TEXT_SIZE/PMD_SIZE)
|
|
|
|
|
|
NEXT_PAGE(level2_spare_pgt)
|
|
NEXT_PAGE(level2_spare_pgt)
|
|
- .fill 512,8,0
|
|
|
|
|
|
+ .fill 512, 8, 0
|
|
|
|
|
|
#undef PMDS
|
|
#undef PMDS
|
|
#undef NEXT_PAGE
|
|
#undef NEXT_PAGE
|