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