summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/alpha/include/vmparam.h4
-rw-r--r--sys/arch/amiga/include/vmparam.h4
-rw-r--r--sys/arch/hp300/include/vmparam.h5
-rw-r--r--sys/arch/hppa/include/vmparam.h3
-rw-r--r--sys/arch/i386/include/vmparam.h4
-rw-r--r--sys/arch/mac68k/include/vmparam.h5
-rw-r--r--sys/arch/mvme68k/include/vmparam.h7
-rw-r--r--sys/arch/mvme68k/mvme68k/machdep.c4
-rw-r--r--sys/arch/mvme68k/mvme68k/pmap.c78
-rw-r--r--sys/arch/mvme88k/include/vmparam.h8
-rw-r--r--sys/arch/mvme88k/mvme88k/machdep.c4
-rw-r--r--sys/arch/mvme88k/mvme88k/pmap.c167
-rw-r--r--sys/arch/mvmeppc/include/vmparam.h2
-rw-r--r--sys/arch/mvmeppc/mvmeppc/pmap.c11
-rw-r--r--sys/arch/powerpc/include/vmparam.h4
-rw-r--r--sys/arch/powerpc/powerpc/pmap.c10
-rw-r--r--sys/arch/sparc/include/vmparam.h4
-rw-r--r--sys/arch/sun3/include/vmparam.h4
-rw-r--r--sys/arch/vax/include/vmparam.h3
-rw-r--r--sys/vm/pmap.h18
20 files changed, 22 insertions, 327 deletions
diff --git a/sys/arch/alpha/include/vmparam.h b/sys/arch/alpha/include/vmparam.h
index 7f0205918b1..c20f8514f13 100644
--- a/sys/arch/alpha/include/vmparam.h
+++ b/sys/arch/alpha/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.6 2000/11/08 21:27:25 ericj Exp $ */
+/* $OpenBSD: vmparam.h,v 1.7 2001/06/27 06:19:42 art Exp $ */
/* $NetBSD: vmparam.h,v 1.18 2000/05/22 17:13:54 thorpej Exp $ */
/*
@@ -129,8 +129,6 @@
/* some Alpha-specific constants */
#define VPTBASE ((vaddr_t)0xfffffffc00000000) /* Virt. pg table */
-#define MACHINE_NEW_NONCONTIG
-
#define VM_PHYSSEG_MAX 16 /* XXX */
#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
#define VM_PHYSSEG_NOADD /* no more after vm_mem_init */
diff --git a/sys/arch/amiga/include/vmparam.h b/sys/arch/amiga/include/vmparam.h
index 8919897b32b..9f8e73a5719 100644
--- a/sys/arch/amiga/include/vmparam.h
+++ b/sys/arch/amiga/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.11 2001/05/06 00:45:48 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.12 2001/06/27 06:19:44 art Exp $ */
/* $NetBSD: vmparam.h,v 1.16 1997/07/12 16:18:36 perry Exp $ */
/*
@@ -154,8 +154,6 @@
#define VM_KMEM_SIZE (NKMEMCLUSTERS*PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
-#define MACHINE_NEW_NONCONTIG
-
#define VM_PHYSSEG_MAX (16)
#define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM
#define VM_PHYSSEG_NOADD /* XXX this should be done right later */
diff --git a/sys/arch/hp300/include/vmparam.h b/sys/arch/hp300/include/vmparam.h
index 4f8154fa8f6..720c25464ca 100644
--- a/sys/arch/hp300/include/vmparam.h
+++ b/sys/arch/hp300/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.5 2001/05/05 20:56:35 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.6 2001/06/27 06:19:44 art Exp $ */
/* $NetBSD: vmparam.h,v 1.16 1998/08/20 08:33:48 kleink Exp $ */
/*
@@ -172,9 +172,6 @@
/* pcb base */
#define pcbb(p) ((u_int)(p)->p_addr)
-/* Use new VM page bootstrap interface. */
-#define MACHINE_NEW_NONCONTIG
-
/*
* Constants which control the way the VM system deals with memory segments.
* The hp300 only has one physical memory segment.
diff --git a/sys/arch/hppa/include/vmparam.h b/sys/arch/hppa/include/vmparam.h
index 3c772e06634..327034c445e 100644
--- a/sys/arch/hppa/include/vmparam.h
+++ b/sys/arch/hppa/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.13 2001/05/06 00:45:49 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.14 2001/06/27 06:19:45 art Exp $ */
/*
* Copyright (c) 1988-1994, The University of Utah and
@@ -126,7 +126,6 @@
#define VM_FREELIST_DEFAULT 0
#define VM_FREELIST_FIRST16 1
-#define MACHINE_NEW_NONCONTIG 1 /* defined this until we rely on vm */
#define PMAP_NEW
#ifdef _KERNEL
diff --git a/sys/arch/i386/include/vmparam.h b/sys/arch/i386/include/vmparam.h
index adfc5d7447a..908bfde26ca 100644
--- a/sys/arch/i386/include/vmparam.h
+++ b/sys/arch/i386/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.19 2001/05/06 00:45:51 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.20 2001/06/27 06:19:45 art Exp $ */
/* $NetBSD: vmparam.h,v 1.15 1994/10/27 04:16:34 cgd Exp $ */
/*-
@@ -137,8 +137,6 @@
#define VM_KMEM_SIZE (NKMEMCLUSTERS*PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
-#define MACHINE_NEW_NONCONTIG /* VM <=> pmap interface modifier */
-
#define VM_PHYSSEG_MAX 4 /* actually we could have this many segments */
#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
#define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */
diff --git a/sys/arch/mac68k/include/vmparam.h b/sys/arch/mac68k/include/vmparam.h
index 5b2ba17ad4d..66489b6c542 100644
--- a/sys/arch/mac68k/include/vmparam.h
+++ b/sys/arch/mac68k/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.6 2001/05/08 17:30:40 aaron Exp $ */
+/* $OpenBSD: vmparam.h,v 1.7 2001/06/27 06:19:46 art Exp $ */
/* $NetBSD: vmparam.h,v 1.8 1996/11/15 14:21:00 briggs Exp $ */
/*
@@ -190,9 +190,6 @@
/* # of kernel PT pages (initial only, can grow dynamically) */
#define VM_KERNEL_PT_PAGES ((vsize_t)2) /* XXX: SYSPTSIZE */
-/* Use new VM page bootstrap interface. */
-#define MACHINE_NEW_NONCONTIG
-
/*
* Constants which control the way the VM system deals with memory segments.
* Most mac68k systems have only 1 physical memory segment, but some have 2.
diff --git a/sys/arch/mvme68k/include/vmparam.h b/sys/arch/mvme68k/include/vmparam.h
index 23c5e83216e..9245a44896b 100644
--- a/sys/arch/mvme68k/include/vmparam.h
+++ b/sys/arch/mvme68k/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.6 2001/06/26 21:35:40 miod Exp $ */
+/* $OpenBSD: vmparam.h,v 1.7 2001/06/27 06:19:47 art Exp $ */
/*
* Copyright (c) 1988 University of Utah.
@@ -167,10 +167,6 @@
/* pcb base */
#define pcbb(p) ((u_int)(p)->p_addr)
-/* Use new VM page bootstrap interface. */
-#define MACHINE_NEW_NONCONTIG
-
-#if defined(MACHINE_NEW_NONCONTIG)
/*
* Constants which control the way the VM system deals with memory segments.
* The mvme68k only has one physical memory segment.
@@ -189,6 +185,5 @@ struct pmap_physseg {
struct pv_entry *pvent; /* pv table for this seg */
char *attrs; /* page attributes for this seg */
};
-#endif /* MACHINE_NEW_NONCONTIG */
#endif /* _MVME68K_VMPARAM_H_ */
diff --git a/sys/arch/mvme68k/mvme68k/machdep.c b/sys/arch/mvme68k/mvme68k/machdep.c
index 1a557ddd1f4..8b3a881466c 100644
--- a/sys/arch/mvme68k/mvme68k/machdep.c
+++ b/sys/arch/mvme68k/mvme68k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.41 2001/06/27 04:19:17 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.42 2001/06/27 06:19:48 art Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -186,7 +186,6 @@ void initvectors(void);
void
mvme68k_init()
{
-#if defined(MACHINE_NEW_NONCONTIG)
extern vm_offset_t avail_start, avail_end;
/*
@@ -198,7 +197,6 @@ mvme68k_init()
uvm_setpagesize();
uvm_page_physload(atop(avail_start), atop(avail_end),
atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT);
-#endif /* MACHINE_NEW_NONCONTIG */
/*
* Put machine specific exception vectors in place.
diff --git a/sys/arch/mvme68k/mvme68k/pmap.c b/sys/arch/mvme68k/mvme68k/pmap.c
index 16c97c333e3..9f8d23476ba 100644
--- a/sys/arch/mvme68k/mvme68k/pmap.c
+++ b/sys/arch/mvme68k/mvme68k/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.23 2001/06/27 04:19:17 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.24 2001/06/27 06:19:49 art Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -279,16 +279,6 @@ void pmap_check_wiring __P((char *, vm_offset_t));
#define PRM_CFLUSH 2
#define PRM_KEEPPTPAGE 4
-#if !defined(MACHINE_NEW_NONCONTIG)
-vm_offset_t vm_first_phys; /* PA of first managed page */
-vm_offset_t vm_last_phys; /* PA just past last managed page */
-
-#define PAGE_IS_MANAGED(pa) (pmap_initialized && \
- (pa) >= vm_first_phys && (pa) < vm_last_phys)
-
-#define pa_to_pvh(pa) (&pv_table[pmap_page_index((pa))])
-#define pa_to_attribute(pa) (&pmap_attributes[pmap_page_index((pa))])
-#else
#define PAGE_IS_MANAGED(pa) (pmap_initialized && \
vm_physseg_find(atop((pa)), NULL) != -1)
@@ -307,42 +297,7 @@ vm_offset_t vm_last_phys; /* PA just past last managed page */
bank_ = vm_physseg_find(atop((pa)), &pg_); \
&vm_physmem[bank_].pmseg.attrs[pg_]; \
})
-#endif /* MACHINE_NEW_NONCONTIG */
-#if !defined(MACHINE_NEW_NONCONTIG)
-/*
- * Bootstrap memory allocator. This function allows for early dynamic
- * memory allocation until the virtual memory system has been bootstrapped.
- * After that point, either kmem_alloc or malloc should be used. This
- * function works by stealing pages from the (to be) managed page pool,
- * stealing virtual address space, then mapping the pages and zeroing them.
- *
- * It should be used from pmap_bootstrap till vm_page_startup, afterwards
- * it cannot be used, and will generate a panic if tried. Note that this
- * memory will never be freed, and in essence it is wired down.
- */
-void *
-pmap_bootstrap_alloc(size)
- int size;
-{
- extern boolean_t vm_page_startup_initialized;
- vm_offset_t val;
-
- if (vm_page_startup_initialized)
- panic("pmap_bootstrap_alloc: called after startup initialized");
- size = round_page(size);
- val = virtual_avail;
-
- virtual_avail = pmap_map(virtual_avail, avail_start,
- avail_start + size, VM_PROT_READ|VM_PROT_WRITE);
- avail_start += size;
-
- bzero((void *)val, size);
- return ((void *) val);
-}
-#endif /* ! MACHINE_NEW_NONCONTIG */
-
-#if defined(MACHINE_NEW_NONCONTIG)
/*
* Routine: pmap_virtual_space
*
@@ -359,7 +314,6 @@ pmap_virtual_space(vstartp, vendp)
*vstartp = virtual_avail;
*vendp = virtual_end;
}
-#endif /* MACHINE_NEW_NONCONTIG */
/*
* Routine: pmap_init
@@ -369,33 +323,21 @@ pmap_virtual_space(vstartp, vendp)
* Called by vm_init, to initialize any structures that the pmap
* system needs to map virtual memory.
*/
-#if defined(MACHINE_NEW_NONCONTIG)
void
pmap_init()
-#else
-void
-pmap_init(phys_start, phys_end)
- vm_offset_t phys_start, phys_end;
-#endif
{
vm_offset_t addr, addr2;
vm_size_t s;
int rv;
int npages;
-#if defined(MACHINE_NEW_NONCONTIG)
struct pv_entry *pv;
char *attr;
int bank;
-#endif
#ifdef DEBUG
if (pmapdebug & PDB_FOLLOW)
-#if defined(MACHINE_NEW_NONCONTIG)
printf("pmap_init()\n");
-#else
- printf("pmap_init(%x, %x)\n", phys_start, phys_end);
-#endif
#endif
/*
* Now that kernel map has been allocated, we can mark as
@@ -437,12 +379,8 @@ pmap_init(phys_start, phys_end)
* Allocate memory for random pmap data structures. Includes the
* initial segment table, pv_head_table and pmap_attributes.
*/
-#if defined(MACHINE_NEW_NONCONTIG)
for (page_cnt = 0, bank = 0; bank < vm_nphysseg; bank++)
page_cnt += vm_physmem[bank].end - vm_physmem[bank].start;
-#else
- page_cnt = atop(phys_end - phys_start);
-#endif
s = M68K_STSIZE; /* Segtabzero */
s += page_cnt * sizeof(struct pv_entry); /* pv table */
s += page_cnt * sizeof(char); /* attribute table */
@@ -479,7 +417,6 @@ pmap_init(phys_start, phys_end)
pv_table, pmap_attributes);
#endif
-#if defined(MACHINE_NEW_NONCONTIG)
/*
* Now that the pv and attribute tables have been allocated,
* assign them to the memory segments.
@@ -493,7 +430,6 @@ pmap_init(phys_start, phys_end)
pv += npages;
attr += npages;
}
-#endif
/*
* Allocate physical memory for kernel PT pages and their management.
@@ -584,10 +520,6 @@ pmap_init(phys_start, phys_end)
/*
* Now it is safe to enable pv_table recording.
*/
-#if !defined(MACHINE_NEW_NONCONTIG)
- vm_first_phys = phys_start;
- vm_last_phys = phys_end;
-#endif
pmap_initialized = TRUE;
}
@@ -1457,11 +1389,7 @@ void
pmap_collect(pmap)
pmap_t pmap;
{
-#if defined(MACHINE_NEW_NONCONTIG)
int bank, s;
-#else
- int s;
-#endif /* MACHINE_NEW_NONCONTIG */
if (pmap != pmap_kernel())
return;
@@ -1471,13 +1399,9 @@ pmap_collect(pmap)
printf("pmap_collect(%p)\n", pmap);
#endif
s = splimp();
-#if defined(MACHINE_NEW_NONCONTIG)
for (bank = 0; bank < vm_nphysseg; bank++)
pmap_collect1(pmap, ptoa(vm_physmem[bank].start),
ptoa(vm_physmem[bank].end));
-#else
- pmap_collect1(pmap, vm_first_phys, vm_last_phys);
-#endif /* MACHINE_NEW_NONCONTIG */
splx(s);
#ifdef notyet
diff --git a/sys/arch/mvme88k/include/vmparam.h b/sys/arch/mvme88k/include/vmparam.h
index 0d85c23b848..1019769c438 100644
--- a/sys/arch/mvme88k/include/vmparam.h
+++ b/sys/arch/mvme88k/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.12 2001/06/14 21:30:40 miod Exp $ */
+/* $OpenBSD: vmparam.h,v 1.13 2001/06/27 06:19:49 art Exp $ */
/*
* Mach Operating System
* Copyright (c) 1992 Carnegie Mellon University
@@ -140,10 +140,6 @@
#define VM_KMEM_SIZE (NKMEMCLUSTERS * PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE)
-/* Use new VM page bootstrap interface. */
-#define MACHINE_NEW_NONCONTIG
-
-#if defined(MACHINE_NEW_NONCONTIG)
/*
* Constants which control the way the VM system deals with memory segments.
* The mvme88k only has one physical memory segment.
@@ -166,6 +162,4 @@ struct pmap_physseg {
};
#endif /* _LOCORE */
-#endif /* MACHINE_NEW_NONCONTIG */
-
#endif _MACHINE_VM_PARAM_
diff --git a/sys/arch/mvme88k/mvme88k/machdep.c b/sys/arch/mvme88k/mvme88k/machdep.c
index 57f6bba2ac5..8a2c484f83e 100644
--- a/sys/arch/mvme88k/mvme88k/machdep.c
+++ b/sys/arch/mvme88k/mvme88k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.42 2001/06/27 04:29:19 art Exp $ */
+/* $OpenBSD: machdep.c,v 1.43 2001/06/27 06:19:50 art Exp $ */
/*
* Copyright (c) 1998, 1999, 2000, 2001 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -2186,14 +2186,12 @@ mvme_bootstrap(void)
&avail_start, &avail_end, &virtual_avail,
&virtual_end);
-#if defined(MACHINE_NEW_NONCONTIG)
/*
* Tell the VM system about available physical memory.
* mvme88k only has one segment.
*/
uvm_page_physload(atop(avail_start), atop(avail_end),
atop(avail_start), atop(avail_end),VM_FREELIST_DEFAULT);
-#endif /* MACHINE_NEW_NONCONTIG */
/*
* Must initialize p_addr before autoconfig or
diff --git a/sys/arch/mvme88k/mvme88k/pmap.c b/sys/arch/mvme88k/mvme88k/pmap.c
index f3db873124a..b7ab9468d8b 100644
--- a/sys/arch/mvme88k/mvme88k/pmap.c
+++ b/sys/arch/mvme88k/mvme88k/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.31 2001/06/27 04:29:20 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.32 2001/06/27 06:19:51 art Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -191,30 +191,6 @@ static struct simplelock *pv_lock_table; /* array */
static pv_entry_t pv_head_table; /* array of entries, one per page */
-#if !defined(MACHINE_NEW_NONCONTIG)
-/*
- * First and last physical address that we maintain any information
- * for. Initialized to zero so that pmap operations done before
- * pmap_init won't touch any non-existent structures.
- */
-static vm_offset_t pmap_phys_start = (vm_offset_t) 0;
-static vm_offset_t pmap_phys_end = (vm_offset_t) 0;
-
-/*
- * Index into pv_head table, its lock bits, and the modify bits
- * starting at pmap_phys_start.
- */
-#define PFIDX(pa) (atop(pa - pmap_phys_start))
-#define PFIDX_TO_PVH(pfidx) (&pv_head_table[pfidx])
-#define PA_TO_PVH(pa) (&pv_head_table[PFIDX(pa)])
-#define PMAP_MANAGED(pa) (pmap_initialized && \
- ((pa) >= pmap_phys_start && (pa) < pmap_phys_end))
-#define LOCK_PVH(pa) simple_lock(&(pv_lock_table[PFIDX(pa)]))
-#define UNLOCK_PVH(pa) simple_unlock(&(pv_lock_table[PFIDX(pa)]))
-#define PA_TO_ATTRIB(pa) (pmap_modify_list[PFIDX(pa)])
-#define SET_ATTRIB(pa, attr) (pmap_modify_list[PFIDX(pa)] = (attr))
-
-#else
#define PMAP_MANAGED(pa) (pmap_initialized && \
vm_physseg_find(atop((pa)), NULL) != -1)
@@ -253,7 +229,6 @@ static vm_offset_t pmap_phys_end = (vm_offset_t) 0;
bank_ = vm_physseg_find(atop((pa)), &pg_); \
vm_physmem[bank_].pmseg.attrs[pg_] = (attr); \
})
-#endif /* !defined(MACHINE_NEW_NONCONTIG) */
/*
* Locking and TLB invalidation primitives
@@ -1299,40 +1274,6 @@ pmap_bootstrap(vm_offset_t load_start,
avail_next = *phys_start;
} /* pmap_bootstrap() */
-/*
- * Bootstrap memory allocator. This function allows for early dynamic
- * memory allocation until the virtual memory system has been bootstrapped.
- * After that point, either uvm_km_zalloc or malloc should be used. This
- * function works by stealing pages from the (to be) managed page pool,
- * stealing virtual address space, then mapping the pages and zeroing them.
- *
- * It should be used from pmap_bootstrap till vm_page_startup, afterwards
- * it cannot be used, and will generate a panic if tried. Note that this
- * memory will never be freed, and in essence it is wired down.
- */
-
-#if !defined(MACHINE_NEW_NONCONTIG)
-void *
-pmap_bootstrap_alloc(int size)
-{
- register void *mem;
-
- size = round_page(size);
- mem = (void *)virtual_avail;
- virtual_avail = pmap_map(virtual_avail, avail_start,
- avail_start + size,
- VM_PROT_READ|VM_PROT_WRITE|(CACHE_GLOBAL << 16));
- avail_start += size;
-#ifdef DEBUG
- if ((pmap_con_dbg & (CD_BOOT | CD_FULL)) == (CD_BOOT | CD_FULL)) {
- printf("pmap_bootstrap_alloc: size %x virtual_avail %x avail_start %x\n",
- size, virtual_avail, avail_start);
- }
-#endif
- bzero((void *)mem, size);
- return (mem);
-}
-#endif /* !defined(MACHINE_NEW_NONCONTIG) */
/*
* Routine: PMAP_INIT
@@ -1373,7 +1314,6 @@ pmap_bootstrap_alloc(int size)
* uvm_km_zalloc() memory for modify_bits
*
*/
-#ifdef MACHINE_NEW_NONCONTIG
void
pmap_init(void)
{
@@ -1448,72 +1388,6 @@ pmap_init(void)
pmap_initialized = TRUE;
} /* pmap_init() */
-#else
-void
-pmap_init(vm_offset_t phys_start, vm_offset_t phys_end)
-{
- register long npages;
- register vm_offset_t addr;
- register vm_size_t s;
- register int i;
- vm_size_t pvl_table_size;
-
-#ifdef DEBUG
- if ((pmap_con_dbg & (CD_INIT | CD_NORM)) == (CD_INIT | CD_NORM))
- printf("(pmap_init) phys_start %x phys_end %x\n", phys_start, phys_end);
-#endif
-
- /*
- * Allocate memory for the pv_head_table and its lock bits,
- * the modify bit array, and the pte_page table.
- */
- npages = atop(phys_end - phys_start);
- s = PV_TABLE_SIZE(npages); /* pv_list */
- s += PV_LOCK_TABLE_SIZE(npages); /* pv_lock_table */
- s += npages * sizeof(char); /* pmap_modify_list */
-
-#ifdef DEBUG
- if ((pmap_con_dbg & (CD_INIT | CD_FULL)) == (CD_INIT | CD_FULL)) {
- printf("(pmap_init) nbr of managed pages = %x\n", npages);
- printf("(pmap_init) size of pv_list = %x\n",
- npages * sizeof(struct pv_entry));
- }
-#endif
- s = round_page(s);
- addr = (vm_offset_t)kmem_alloc(kernel_map, s);
-
- pv_head_table = (pv_entry_t)addr;
- addr += PV_TABLE_SIZE(npages);
-
- /*
- * Assume that 'simple_lock' is used to lock pv_lock_table
- */
- pv_lock_table = (struct simplelock *)addr; /* XXX */
- addr += PV_LOCK_TABLE_SIZE(npages);
-
- pmap_modify_list = (char *)addr;
-
- /*
- * Initialize pv_lock_table
- */
- for (i = 0; i < npages; i++)
- simple_lock_init(&(pv_lock_table[i]));
-
- /*
- * Only now, when all of the data structures are allocated,
- * can we set pmap_phys_start and pmap_phys_end. If we set them
- * too soon, the kmem_alloc above will blow up when it causes
- * a call to pmap_enter, and pmap_enter tries to manipulate the
- * (not yet existing) pv_list.
- */
- pmap_phys_start = phys_start;
- pmap_phys_end = phys_end;
-
- pmap_initialized = TRUE;
-
-} /* pmap_init() */
-#endif
-
/*
* Routine: PMAP_ZERO_PAGE
*
@@ -4137,10 +4011,8 @@ check_map(pmap_t map, vm_offset_t s, vm_offset_t e, char *who)
pt_entry_t *ptep;
boolean_t found;
int loopcnt;
-#if defined(MACHINE_NEW_NONCONTIG)
int bank;
unsigned npages;
-#endif
/*
* for each page in the address space, check to see if there's
@@ -4187,17 +4059,11 @@ check_map(pmap_t map, vm_offset_t s, vm_offset_t e, char *who)
reserved by vm_page_startup */
/* pmap_init also allocate some memory for itself. */
-#if defined(MACHINE_NEW_NONCONTIG)
for (npages = 0, bank = 0; bank < vm_nphysseg; bank++)
npages += vm_physmem[bank].end - vm_physmem[bank].start;
if (map == kernel_pmap &&
va < round_page((vm_offset_t)(pmap_modify_list + npages)))
continue;
-#else
- if (map == kernel_pmap &&
- va < round_page((vm_offset_t)(pmap_modify_list + (pmap_phys_end - pmap_phys_start))))
- continue;
-#endif
pv_h = PA_TO_PVH(phys);
found = FALSE;
@@ -4277,10 +4143,9 @@ check_pmap_consistency(char *who)
vm_offset_t phys;
pv_entry_t pv_h;
int spl;
-#ifdef MACHINE_NEW_NONCONTIG
int bank;
unsigned npages;
-#endif
+
if ((pmap_con_dbg & (CD_CHKPM | CD_NORM)) == (CD_CHKPM | CD_NORM))
printf("check_pmap_consistency (%s :%x) start.\n", who, curproc);
@@ -4306,19 +4171,12 @@ check_pmap_consistency(char *who)
}
/* run through all managed paes, check pv_list for each one */
-#if defined(MACHINE_NEW_NONCONTIG)
for (npages = 0, bank = 0; bank < vm_nphysseg; bank++) {
for (phys = ptoa(vm_physmem[bank].start); phys < ptoa(vm_physmem[bank].end); phys += PAGE_SIZE) {
pv_h = PA_TO_PVH(phys);
check_pv_list(phys, pv_h, who);
}
}
-#else
- for (phys = pmap_phys_start; phys < pmap_phys_end; phys += PAGE_SIZE) {
- pv_h = PA_TO_PVH(phys);
- check_pv_list(phys, pv_h, who);
- }
-#endif /* defined(MACHINE_NEW_NONCONTIG) */
SPLX(spl);
@@ -4359,27 +4217,6 @@ pmap_virtual_space(vm_offset_t *startp, vm_offset_t *endp)
*endp = virtual_end;
}
-#if !defined(MACHINE_NEW_NONCONTIG)
-
-unsigned int
-pmap_free_pages(void)
-{
- return atop(avail_end - avail_next);
-}
-
-boolean_t
-pmap_next_page(vm_offset_t *addrp)
-{
- if (avail_next == avail_end)
- return FALSE;
-
- *addrp = avail_next;
- avail_next += PAGE_SIZE;
- return TRUE;
-}
-
-#endif
-
#ifdef USING_BATC
#ifdef OMRON_PMAP
/*
diff --git a/sys/arch/mvmeppc/include/vmparam.h b/sys/arch/mvmeppc/include/vmparam.h
index 4a7a8d4ee8d..0221406893b 100644
--- a/sys/arch/mvmeppc/include/vmparam.h
+++ b/sys/arch/mvmeppc/include/vmparam.h
@@ -103,8 +103,6 @@ extern vm_offset_t ppc_kvm_size;
#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)((KERNEL_SR << ADDR_SR_SHFT) \
+ VM_KERN_ADDRESS_SIZE))
-#define MACHINE_NEW_NONCONTIG /* VM <=> pmap interface modifier */
-
#define VM_KMEM_SIZE (NKMEMCLUSTERS * PAGE_SIZE)
#define VM_MBUF_SIZE (NMBCLUSTERS * PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE)
diff --git a/sys/arch/mvmeppc/mvmeppc/pmap.c b/sys/arch/mvmeppc/mvmeppc/pmap.c
index 35f67a6a2ff..3c3109f582d 100644
--- a/sys/arch/mvmeppc/mvmeppc/pmap.c
+++ b/sys/arch/mvmeppc/mvmeppc/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.2 2001/06/27 04:32:46 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.3 2001/06/27 06:19:52 art Exp $ */
/* $NetBSD: pmap.c,v 1.1 1996/09/30 16:34:52 ws Exp $ */
/*
@@ -616,13 +616,11 @@ avail_end = npgs * NBPG;
}
}
-#ifdef MACHINE_NEW_NONCONTIG
for (mp = avail; mp->size; mp++) {
uvm_page_physload(atop(mp->start), atop(mp->start + mp->size),
atop(mp->start), atop(mp->start + mp->size),
VM_FREELIST_DEFAULT);
}
-#endif
/*
* Initialize kernel pmap and hardware.
@@ -682,10 +680,8 @@ pmap_init()
vsize_t sz;
vaddr_t addr;
int i, s;
-#ifdef MACHINE_NEW_NONCONTIG
int bank;
char *attr;
-#endif
sz = (vm_size_t)((sizeof(struct pv_entry) + 1) * npgs);
sz = round_page(sz);
@@ -700,7 +696,6 @@ pmap_init()
0, NULL, NULL, M_VMPMAP);
pmap_attrib = (char *)pv;
bzero(pv, npgs);
-#ifdef MACHINE_NEW_NONCONTIG
pv = pv_table;
attr = pmap_attrib;
for (bank = 0; bank < vm_nphysseg; bank++) {
@@ -710,7 +705,6 @@ pmap_init()
pv += sz;
attr += sz;
}
-#endif
pmap_initialized = 1;
splx(s);
}
@@ -734,7 +728,7 @@ pmap_page_index(pa)
}
return -1;
}
-#ifdef MACHINE_NEW_NONCONTIG
+
static __inline struct pv_entry *
pmap_find_pv(paddr_t pa)
{
@@ -757,7 +751,6 @@ pmap_find_attr(paddr_t pa)
}
return NULL;
}
-#endif
vm_offset_t ppc_kvm_size = VM_KERN_ADDR_SIZE_DEF;
diff --git a/sys/arch/powerpc/include/vmparam.h b/sys/arch/powerpc/include/vmparam.h
index 94bf42327b0..ce784b191cf 100644
--- a/sys/arch/powerpc/include/vmparam.h
+++ b/sys/arch/powerpc/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.9 2001/05/05 20:56:50 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.10 2001/06/27 06:19:53 art Exp $ */
/* $NetBSD: vmparam.h,v 1.1 1996/09/30 16:34:38 ws Exp $ */
/*-
@@ -104,8 +104,6 @@ extern vm_offset_t ppc_kvm_size;
#define VM_MAX_KERNEL_ADDRESS ((vm_offset_t)((KERNEL_SR << ADDR_SR_SHFT) \
+ VM_KERN_ADDRESS_SIZE))
-#define MACHINE_NEW_NONCONTIG /* VM <=> pmap interface modifier */
-
#define VM_KMEM_SIZE (NKMEMCLUSTERS * PAGE_SIZE)
#define VM_MBUF_SIZE (NMBCLUSTERS * PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE)
diff --git a/sys/arch/powerpc/powerpc/pmap.c b/sys/arch/powerpc/powerpc/pmap.c
index 3d009ff0c06..4964e604c64 100644
--- a/sys/arch/powerpc/powerpc/pmap.c
+++ b/sys/arch/powerpc/powerpc/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.33 2001/06/27 04:37:21 art Exp $ */
+/* $OpenBSD: pmap.c,v 1.34 2001/06/27 06:19:54 art Exp $ */
/* $NetBSD: pmap.c,v 1.1 1996/09/30 16:34:52 ws Exp $ */
/*
@@ -637,13 +637,11 @@ avail_end = npgs * NBPG;
}
}
-#ifdef MACHINE_NEW_NONCONTIG
for (mp = avail; mp->size; mp++) {
uvm_page_physload(atop(mp->start), atop(mp->start + mp->size),
atop(mp->start), atop(mp->start + mp->size),
VM_FREELIST_DEFAULT);
}
-#endif
/*
* Initialize kernel pmap and hardware.
@@ -703,10 +701,8 @@ pmap_init()
vsize_t sz;
vaddr_t addr;
int i, s;
-#ifdef MACHINE_NEW_NONCONTIG
int bank;
char *attr;
-#endif
sz = (vm_size_t)((sizeof(struct pv_entry) + 1) * npgs);
sz = round_page(sz);
@@ -721,7 +717,6 @@ pmap_init()
0, NULL, NULL, M_VMPMAP);
pmap_attrib = (char *)pv;
bzero(pv, npgs);
-#ifdef MACHINE_NEW_NONCONTIG
pv = pv_table;
attr = pmap_attrib;
for (bank = 0; bank < vm_nphysseg; bank++) {
@@ -731,7 +726,6 @@ pmap_init()
pv += sz;
attr += sz;
}
-#endif
pmap_initialized = 1;
splx(s);
}
@@ -755,7 +749,6 @@ pmap_page_index(pa)
}
return -1;
}
-#ifdef MACHINE_NEW_NONCONTIG
static inline struct pv_entry *
pmap_find_pv(paddr_t pa)
{
@@ -778,7 +771,6 @@ pmap_find_attr(paddr_t pa)
}
return NULL;
}
-#endif
vm_offset_t ppc_kvm_size = VM_KERN_ADDR_SIZE_DEF;
diff --git a/sys/arch/sparc/include/vmparam.h b/sys/arch/sparc/include/vmparam.h
index 80736cf92ce..c0217e6c254 100644
--- a/sys/arch/sparc/include/vmparam.h
+++ b/sys/arch/sparc/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.17 2001/05/06 00:45:55 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.18 2001/06/27 06:19:55 art Exp $ */
/* $NetBSD: vmparam.h,v 1.13 1997/07/12 16:20:03 perry Exp $ */
/*
@@ -135,8 +135,6 @@
#define VM_MBUF_SIZE (NMBCLUSTERS*MCLBYTES)
#define VM_KMEM_SIZE (NKMEMCLUSTERS*PAGE_SIZE)
-#define MACHINE_NEW_NONCONTIG
-
#define VM_PHYSSEG_MAX 32 /* we only have one "hole" */
#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
#define VM_PHYSSEG_NOADD /* can't add RAM after vm_mem_init */
diff --git a/sys/arch/sun3/include/vmparam.h b/sys/arch/sun3/include/vmparam.h
index 49854278139..1c7c7054800 100644
--- a/sys/arch/sun3/include/vmparam.h
+++ b/sys/arch/sun3/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.6 2001/05/06 00:45:56 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.7 2001/06/27 06:19:56 art Exp $ */
/* $NetBSD: vmparam.h,v 1.14 1995/09/26 04:02:10 gwr Exp $ */
/*
@@ -157,8 +157,6 @@
#define VM_KMEM_SIZE (NKMEMCLUSTERS*PAGE_SIZE)
#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
-#define MACHINE_NEW_NONCONTIG
-
#define VM_PHYSSEG_MAX 4
#define VM_PHYSSEG_STRAT VM_PSTRAT_BSEARCH
#define VM_PHYSSEG_NOADD /* can't add memory after vm_mem_init */
diff --git a/sys/arch/vax/include/vmparam.h b/sys/arch/vax/include/vmparam.h
index 850cf9a2525..77896851c95 100644
--- a/sys/arch/vax/include/vmparam.h
+++ b/sys/arch/vax/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.12 2001/05/06 00:45:56 art Exp $ */
+/* $OpenBSD: vmparam.h,v 1.13 2001/06/27 06:19:57 art Exp $ */
/* $NetBSD: vmparam.h,v 1.32 2000/03/07 00:05:59 matt Exp $ */
/*-
@@ -149,5 +149,4 @@ struct pmap_physseg {
#define VM_MBUF_SIZE (NMBCLUSTERS*MCLBYTES)
#define PMAP_NEW
-#define MACHINE_NEW_NONCONTIG 1
#endif
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index f7394f414b6..fae9746cb92 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.17 2001/06/08 08:09:42 art Exp $ */
+/* $OpenBSD: pmap.h,v 1.18 2001/06/27 06:19:58 art Exp $ */
/* $NetBSD: pmap.h,v 1.16 1996/03/31 22:15:32 pk Exp $ */
/*
@@ -162,11 +162,7 @@ boolean_t pmap_extract __P((pmap_t, vaddr_t, paddr_t *));
vaddr_t pmap_growkernel __P((vaddr_t));
#endif
-#if !defined(MACHINE_NONCONTIG) && !defined(MACHINE_NEW_NONCONTIG)
-void pmap_init __P((paddr_t, paddr_t));
-#else
void pmap_init __P((void));
-#endif
#if defined(PMAP_NEW)
void pmap_kenter_pa __P((vaddr_t, paddr_t, vm_prot_t));
@@ -183,12 +179,6 @@ boolean_t pmap_is_modified __P((paddr_t pa));
boolean_t pmap_is_referenced __P((paddr_t pa));
#endif /* PMAP_NEW */
-#if !defined(MACHINE_NEW_NONCONTIG)
-#ifndef pmap_page_index
-int pmap_page_index __P((paddr_t));
-#endif
-#endif /* ! MACHINE_NEW_NONCONTIG */
-
#if defined(PMAP_NEW)
void pmap_page_protect __P((struct vm_page *, vm_prot_t));
#else
@@ -207,11 +197,7 @@ void pmap_remove __P((pmap_t, vaddr_t, vaddr_t));
void pmap_update __P((void));
void pmap_zero_page __P((paddr_t));
-#ifdef MACHINE_NONCONTIG
-u_int pmap_free_pages __P((void));
-boolean_t pmap_next_page __P((paddr_t *));
-#endif
-#if defined(MACHINE_NEW_NONCONTIG) && defined(PMAP_STEAL_MEMORY)
+#if defined(PMAP_STEAL_MEMORY)
vaddr_t pmap_steal_memory __P((vsize_t, paddr_t *, paddr_t *));
#else
void pmap_virtual_space __P((vaddr_t *, vaddr_t *));