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 */