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)
 {

Reply via email to