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 <jmcne...@invisible.ca>
@@ -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 */
 

Reply via email to