Module Name: src
Committed By: skrll
Date: Wed Jul 8 09:50:45 UTC 2020
Modified Files:
src/sys/arch/arm/include/arm32: vmparam.h
src/sys/arch/evbarm/fdt: platform.h
Log Message:
Provide some KVA layout #defines in arm32/vmparam.h and simplify
fdt/platform.h as a nice side effect
To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/arm/include/arm32/vmparam.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbarm/fdt/platform.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/include/arm32/vmparam.h
diff -u src/sys/arch/arm/include/arm32/vmparam.h:1.48 src/sys/arch/arm/include/arm32/vmparam.h:1.49
--- src/sys/arch/arm/include/arm32/vmparam.h:1.48 Wed Jul 8 07:59:49 2020
+++ src/sys/arch/arm/include/arm32/vmparam.h Wed Jul 8 09:50:45 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: vmparam.h,v 1.48 2020/07/08 07:59:49 skrll Exp $ */
+/* $NetBSD: vmparam.h,v 1.49 2020/07/08 09:50:45 skrll Exp $ */
/*
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -94,4 +94,31 @@
#define VM_MIN_KERNEL_ADDRESS ((vaddr_t) KERNEL_BASE)
#define VM_MAX_KERNEL_ADDRESS ((vaddr_t) -(PAGE_SIZE+1))
+#ifdef ARM_MMU_EXTENDED
+/*
+ * kernel virtual space layout without direct map (common case)
+ *
+ * 0x8000_0000 - 256MB kernel text/data/bss
+ * 0x9000_0000 - 1536MB Kernel VM Space
+ * 0xf000_0000 - 256MB IO
+ *
+ * kernel virtual space layout with direct map (1GB limited)
+ * 0x8000_0000 - 1024MB kernel text/data/bss and direct map start
+ * 0xc000_0000 - 768MB Kernel VM Space
+ * 0xf000_0000 - 256MB IO
+ *
+ */
+#define VM_KERNEL_IO_ADDRESS 0xf0000000
+#define VM_KERNEL_IO_SIZE (VM_MAX_KERNEL_ADDRESS - VM_KERNEL_IO_ADDRESS)
+
+#ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS
+#define KERNEL_VM_BASE 0xc0000000
+#else
+#define KERNEL_VM_BASE 0x90000000
+#endif
+
+#define KERNEL_VM_SIZE (KERNEL_IO_VBASE - KERNEL_VM_BASE)
+
+#endif
+
#endif /* _ARM_ARM32_VMPARAM_H_ */
Index: src/sys/arch/evbarm/fdt/platform.h
diff -u src/sys/arch/evbarm/fdt/platform.h:1.5 src/sys/arch/evbarm/fdt/platform.h:1.6
--- src/sys/arch/evbarm/fdt/platform.h:1.5 Mon Jan 21 07:49:45 2019
+++ src/sys/arch/evbarm/fdt/platform.h Wed Jul 8 09:50:45 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: platform.h,v 1.5 2019/01/21 07:49:45 skrll Exp $ */
+/* $NetBSD: platform.h,v 1.6 2020/07/08 09:50:45 skrll Exp $ */
/*-
* Copyright (c) 2015-2017 Jared McNeill <[email protected]>
@@ -33,25 +33,13 @@
void fdt_add_reserved_memory_range(uint64_t, uint64_t);
#endif
-#ifdef __aarch64__
-
#define KERNEL_IO_VBASE VM_KERNEL_IO_ADDRESS
-
-#define KERNEL_VM_BASE VM_MIN_KERNEL_ADDRESS
-#define KERNEL_VM_SIZE (VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS)
-
-#else /* __aarch64__ */
-
-#define KERNEL_IO_VBASE 0xf0000000
#define KERNEL_IO_VSIZE (KERNEL_IO_VBASE - VM_MAX_KERNEL_ADDRESS)
-#ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS
-#define KERNEL_VM_BASE 0xc0000000
-#else
-#define KERNEL_VM_BASE 0x90000000
-#endif
+#ifdef __aarch64__
-#define KERNEL_VM_SIZE (KERNEL_IO_VBASE - KERNEL_VM_BASE)
+#define KERNEL_VM_BASE VM_MIN_KERNEL_ADDRESS
+#define KERNEL_VM_SIZE (VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS)
#endif /* !__aarch64 */