|
@@ -120,9 +120,14 @@
|
|
#endif
|
|
#endif
|
|
#define FIRST_USER_ADDRESS 0UL
|
|
#define FIRST_USER_ADDRESS 0UL
|
|
|
|
|
|
-#define VMALLOC_START MAP_BASE
|
|
|
|
|
|
+/*
|
|
|
|
+ * TLB refill handlers also map the vmalloc area into xuseg. Avoid
|
|
|
|
+ * the first couple of pages so NULL pointer dereferences will still
|
|
|
|
+ * reliably trap.
|
|
|
|
+ */
|
|
|
|
+#define VMALLOC_START (MAP_BASE + (2 * PAGE_SIZE))
|
|
#define VMALLOC_END \
|
|
#define VMALLOC_END \
|
|
- (VMALLOC_START + \
|
|
|
|
|
|
+ (MAP_BASE + \
|
|
min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \
|
|
min(PTRS_PER_PGD * PTRS_PER_PMD * PTRS_PER_PTE * PAGE_SIZE, \
|
|
(1UL << cpu_vmbits)) - (1UL << 32))
|
|
(1UL << cpu_vmbits)) - (1UL << 32))
|
|
|
|
|