Module Name: src Committed By: pooka Date: Fri Apr 17 12:43:16 UTC 2015
Modified Files: src/sys/rump/include/machine: pmap.h src/sys/rump/librump/rumpkern: rump_private.h vm.c src/sys/rump/librump/rumpkern/arch/generic: rump_generic_pmap.c src/sys/rump/librump/rumpkern/arch/x86: rump_x86_pmap.c Log Message: Give the kernel/local pmaps actual storage. That way friendly neighborhood macros won't go scribbling in the wrong places. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/rump/include/machine/pmap.h cvs rdiff -u -r1.89 -r1.90 src/sys/rump/librump/rumpkern/rump_private.h cvs rdiff -u -r1.163 -r1.164 src/sys/rump/librump/rumpkern/vm.c cvs rdiff -u -r1.3 -r1.4 \ src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c cvs rdiff -u -r1.2 -r1.3 \ src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/include/machine/pmap.h diff -u src/sys/rump/include/machine/pmap.h:1.6 src/sys/rump/include/machine/pmap.h:1.7 --- src/sys/rump/include/machine/pmap.h:1.6 Thu Jun 17 08:19:32 2010 +++ src/sys/rump/include/machine/pmap.h Fri Apr 17 12:43:15 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.6 2010/06/17 08:19:32 pooka Exp $ */ +/* $NetBSD: pmap.h,v 1.7 2015/04/17 12:43:15 pooka Exp $ */ /* * Copyright (c) 2010 Antti Kantee. All Rights Reserved. @@ -28,6 +28,10 @@ #ifndef _SYS_RUMP_PMAP_H_ #define _SYS_RUMP_PMAP_H_ +struct pmap { + int vac_me_not_at_all; +}; + #define pmap_update(v) #define pmap_is_modified(a) (true) #define pmap_is_referenced(a) (true) Index: src/sys/rump/librump/rumpkern/rump_private.h diff -u src/sys/rump/librump/rumpkern/rump_private.h:1.89 src/sys/rump/librump/rumpkern/rump_private.h:1.90 --- src/sys/rump/librump/rumpkern/rump_private.h:1.89 Fri Apr 3 16:46:39 2015 +++ src/sys/rump/librump/rumpkern/rump_private.h Fri Apr 17 12:43:16 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_private.h,v 1.89 2015/04/03 16:46:39 pooka Exp $ */ +/* $NetBSD: rump_private.h,v 1.90 2015/04/17 12:43:16 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -118,10 +118,9 @@ do { \ extern unsigned long rump_physmemlimit; extern struct vmspace *rump_vmspace_local; +extern struct pmap rump_pmap_local; #define RUMP_LOCALPROC_P(p) \ (p->p_vmspace == vmspace_kernel() || p->p_vmspace == rump_vmspace_local) -#define RUMP_PMAP_KERNEL ((struct pmap *const)-1) -#define RUMP_PMAP_LOCAL ((struct pmap *)-2) void rump_component_load(const struct rump_component *); void rump_component_init(enum rump_component_type); Index: src/sys/rump/librump/rumpkern/vm.c diff -u src/sys/rump/librump/rumpkern/vm.c:1.163 src/sys/rump/librump/rumpkern/vm.c:1.164 --- src/sys/rump/librump/rumpkern/vm.c:1.163 Fri Apr 3 16:46:39 2015 +++ src/sys/rump/librump/rumpkern/vm.c Fri Apr 17 12:43:16 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: vm.c,v 1.163 2015/04/03 16:46:39 pooka Exp $ */ +/* $NetBSD: vm.c,v 1.164 2015/04/17 12:43:16 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.163 2015/04/03 16:46:39 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm.c,v 1.164 2015/04/17 12:43:16 pooka Exp $"); #include <sys/param.h> #include <sys/atomic.h> @@ -88,6 +88,10 @@ struct vm_map *kernel_map = &kernel_map_ static struct vm_map module_map_store; extern struct vm_map *module_map; +static struct pmap pmap_kernel; +struct pmap rump_pmap_local; +struct pmap *const kernel_pmap_ptr = &pmap_kernel; + vmem_t *kmem_arena; vmem_t *kmem_va_arena; @@ -395,7 +399,7 @@ uvm_init(void) /* create vmspace used by local clients */ rump_vmspace_local = kmem_zalloc(sizeof(*rump_vmspace_local), KM_SLEEP); - uvmspace_init(rump_vmspace_local, RUMP_PMAP_LOCAL, 0, 0, false); + uvmspace_init(rump_vmspace_local, &rump_pmap_local, 0, 0, false); } void Index: src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c diff -u src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c:1.3 src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c:1.4 --- src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c:1.3 Fri Apr 3 16:46:39 2015 +++ src/sys/rump/librump/rumpkern/arch/generic/rump_generic_pmap.c Fri Apr 17 12:43:16 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_generic_pmap.c,v 1.3 2015/04/03 16:46:39 pooka Exp $ */ +/* $NetBSD: rump_generic_pmap.c,v 1.4 2015/04/17 12:43:16 pooka Exp $ */ /* * Copyright (c) 2010 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_generic_pmap.c,v 1.3 2015/04/03 16:46:39 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_generic_pmap.c,v 1.4 2015/04/17 12:43:16 pooka Exp $"); #include <sys/param.h> @@ -39,8 +39,6 @@ __KERNEL_RCSID(0, "$NetBSD: rump_generic * architectures which do not conform to the kernel ABI. */ -struct pmap *const kernel_pmap_ptr = RUMP_PMAP_KERNEL; - void pmap_kenter_pa(vaddr_t va, paddr_t pa, vm_prot_t prot, u_int fl) { Index: src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c diff -u src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c:1.2 src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c:1.3 --- src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c:1.2 Fri Apr 3 16:46:39 2015 +++ src/sys/rump/librump/rumpkern/arch/x86/rump_x86_pmap.c Fri Apr 17 12:43:16 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: rump_x86_pmap.c,v 1.2 2015/04/03 16:46:39 pooka Exp $ */ +/* $NetBSD: rump_x86_pmap.c,v 1.3 2015/04/17 12:43:16 pooka Exp $ */ /* * Copyright (c) 2010 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_x86_pmap.c,v 1.2 2015/04/03 16:46:39 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_x86_pmap.c,v 1.3 2015/04/17 12:43:16 pooka Exp $"); #include <sys/param.h> @@ -34,8 +34,6 @@ __KERNEL_RCSID(0, "$NetBSD: rump_x86_pma #include "rump_private.h" -struct pmap *const kernel_pmap_ptr = RUMP_PMAP_KERNEL; - void pmap_kenter_pa(vaddr_t va, paddr_t pa, vm_prot_t prot, u_int fl) {