Make "pmaps" (list of non-kernel pmaps) and "pmaps_lock" externally

visible. Required by pmap MD code that could reside in other
files, notably Xen's pmap.
This commit is contained in:
jym 2011-10-18 23:14:28 +00:00
parent 61b0782790
commit 0d68d0e3ba
2 changed files with 13 additions and 10 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.h,v 1.42 2011/09/20 00:12:23 jym Exp $ */
/* $NetBSD: pmap.h,v 1.43 2011/10/18 23:14:28 jym Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@ -118,6 +118,12 @@
LIST_HEAD(pmap_head, pmap); /* struct pmap_head: head of a pmap list */
/*
* linked list of all non-kernel pmaps
*/
extern struct pmap_head pmaps;
extern kmutex_t pmaps_lock; /* protects pmaps */
/*
* the pmap structure
*
@ -245,6 +251,8 @@ u_int x86_mmap_flags(paddr_t);
bool pmap_is_curpmap(struct pmap *);
void pmap_invalidate_pool_caches(void);
vaddr_t reserve_dumppages(vaddr_t); /* XXX: not a pmap fn */
typedef enum tlbwhy {

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.c,v 1.135 2011/10/11 23:53:31 yamt Exp $ */
/* $NetBSD: pmap.c,v 1.136 2011/10/18 23:14:28 jym Exp $ */
/*-
* Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
@ -171,7 +171,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.135 2011/10/11 23:53:31 yamt Exp $");
__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.136 2011/10/18 23:14:28 jym Exp $");
#include "opt_user_ldt.h"
#include "opt_lockdebug.h"
@ -325,7 +325,8 @@ pd_entry_t * const normal_pdes[] = PDES_INITIALIZER;
long nkptp[] = NKPTP_INITIALIZER;
static kmutex_t pmaps_lock;
struct pmap_head pmaps;
kmutex_t pmaps_lock;
static vaddr_t pmap_maxkvaddr;
@ -480,12 +481,6 @@ static bool pmap_initialized __read_mostly = false; /* pmap_init done yet? */
static vaddr_t virtual_avail __read_mostly; /* VA of first free KVA */
static vaddr_t virtual_end __read_mostly; /* VA of last free KVA */
/*
* linked list of all non-kernel pmaps
*/
static struct pmap_head pmaps;
/*
* pool that pmap structures are allocated from
*/