summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/vmparam.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-07-13 03:29:10 +0000
committerjake <jake@FreeBSD.org>2002-07-13 03:29:10 +0000
commiteefbe93dbbf7956d09b58f82fabed0c4c58864de (patch)
tree3a348d9790a9f1edede762f89d740764ff9a54cb /sys/sparc64/include/vmparam.h
parent5d4384620653e40bf2c3101011f8aa1d53582453 (diff)
downloadFreeBSD-src-eefbe93dbbf7956d09b58f82fabed0c4c58864de.zip
FreeBSD-src-eefbe93dbbf7956d09b58f82fabed0c4c58864de.tar.gz
Use a fixed address for KERNBASE, so it doesn't change if the size of KVA
is increased. Its confusing for all the kernel addresses to change, and doesn't serve much purpose as far as conserving address space.
Diffstat (limited to 'sys/sparc64/include/vmparam.h')
-rw-r--r--sys/sparc64/include/vmparam.h32
1 files changed, 6 insertions, 26 deletions
diff --git a/sys/sparc64/include/vmparam.h b/sys/sparc64/include/vmparam.h
index 0e7dae5..ec080e6 100644
--- a/sys/sparc64/include/vmparam.h
+++ b/sys/sparc64/include/vmparam.h
@@ -129,33 +129,13 @@
((KVA_PAGES * PAGE_SIZE_4M) << (PAGE_SHIFT - TTE_SHIFT))
/*
- * Lowest kernel virtual address, where the kernel is loaded.
- *
- * If we are using less than 4 super pages for the kernel tsb, the address
- * space is less than 4 gigabytes, so put it at the end of the first 4
- * gigbytes. This allows the kernel and the firmware mappings to be mapped
- * with a single contiguous tsb. Otherwise start at 0, we'll cover them
- * anyway.
- *
- * ie:
- * kva_pages = 1
- * vm_max_kernel_address 0xffffe000
- * openfirmware 0xf0000000
- * kernbase 0xc0000000
- * kva_pages = 8
- * vm_max_kernel_address 0x1ffffe000
- * openfirmware 0xf0000000
- * kernbase 0x0
- *
- * There are at least 4 pages of dynamic linker junk before kernel text begins,
- * so starting at zero is fairly safe (if the firmware will let us).
+ * Lowest kernel virtual address, where the kernel is loaded. This is also
+ * arbitrary. We pick a resonably low address, which allows all of kernel
+ * text, data and bss to be below the 4 gigabyte mark, yet still high enough
+ * to cover the prom addresses with 1 tsb page. This also happens to be the
+ * same as for x86 with default KVA_PAGES...
*/
-#if KVA_PAGES < 4
-#define VM_MIN_KERNEL_ADDRESS ((1UL << 32) - KVA_RANGE)
-#else
-#define VM_MIN_KERNEL_ADDRESS (0)
-#endif
-
+#define VM_MIN_KERNEL_ADDRESS (0xc0000000)
#define VM_MAX_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + KVA_RANGE - PAGE_SIZE)
#define KERNBASE (VM_MIN_KERNEL_ADDRESS)
OpenPOWER on IntegriCloud