|
@@ -16,6 +16,23 @@
|
|
|
#include <asm/proc-fns.h>
|
|
|
#include <asm/arch/vmalloc.h>
|
|
|
|
|
|
+/*
|
|
|
+ * Just any arbitrary offset to the start of the vmalloc VM area: the
|
|
|
+ * current 8MB value just means that there will be a 8MB "hole" after the
|
|
|
+ * physical memory until the kernel virtual memory starts. That means that
|
|
|
+ * any out-of-bounds memory accesses will hopefully be caught.
|
|
|
+ * The vmalloc() routines leaves a hole of 4kB between each vmalloced
|
|
|
+ * area for the same reason. ;)
|
|
|
+ *
|
|
|
+ * Note that platforms may override VMALLOC_START, but they must provide
|
|
|
+ * VMALLOC_END. VMALLOC_END defines the (exclusive) limit of this space,
|
|
|
+ * which may not overlap IO space.
|
|
|
+ */
|
|
|
+#ifndef VMALLOC_START
|
|
|
+#define VMALLOC_OFFSET (8*1024*1024)
|
|
|
+#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
|
|
|
+#endif
|
|
|
+
|
|
|
/*
|
|
|
* Hardware-wise, we have a two level page table structure, where the first
|
|
|
* level has 4096 entries, and the second level has 256 entries. Each entry
|