diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2004-07-25 11:06:44 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2004-07-25 11:06:44 +0000 |
commit | d4bceaa4d7d93b364ef30c9c117df9197fcc4bb6 (patch) | |
tree | a7a13cd15e9acdbfb3baa67dab58ef7d23ab29d5 /sys/arch/mvme88k/include/pmap.h | |
parent | d4e97b14c8f6656f5818c7e6e2dc51b3dea47e0f (diff) |
Merge luna88k and mvme88k pmap. The pmap will now assume that the memory
below the kernel text is reserved for the PROM, instead of using fixed
(but different) values between luna88k and mvme88k.
Tested on mvme88k by myself, on luna88k by aoyama@
Diffstat (limited to 'sys/arch/mvme88k/include/pmap.h')
-rw-r--r-- | sys/arch/mvme88k/include/pmap.h | 82 |
1 files changed, 8 insertions, 74 deletions
diff --git a/sys/arch/mvme88k/include/pmap.h b/sys/arch/mvme88k/include/pmap.h index 6cd196398ce..12165a55839 100644 --- a/sys/arch/mvme88k/include/pmap.h +++ b/sys/arch/mvme88k/include/pmap.h @@ -1,79 +1,13 @@ -/* $OpenBSD: pmap.h,v 1.35 2004/05/20 09:20:42 kettenis Exp $ */ -/* - * Mach Operating System - * Copyright (c) 1991 Carnegie Mellon University - * Copyright (c) 1991 OMRON Corporation - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - */ -#ifndef _MACHINE_PMAP_H_ -#define _MACHINE_PMAP_H_ +/* $OpenBSD: pmap.h,v 1.36 2004/07/25 11:06:42 miod Exp $ */ +/* public domain */ -#include <machine/mmu.h> -#include <machine/pcb.h> +#ifndef _MVME88K_PMAP_H_ +#define _MVME88K_PMAP_H_ -/* - * PMAP structure - */ - -/* #define PMAP_USE_BATC */ -struct pmap { - sdt_entry_t *pm_stab; /* virtual pointer to sdt */ - u_int32_t pm_apr; - int pm_count; /* reference count */ - /* cpus using of this pmap; NCPU must be <= 32 */ - u_int32_t pm_cpus; - struct simplelock pm_lock; - struct pmap_statistics pm_stats; /* pmap statistics */ -#ifdef PMAP_USE_BATC - u_int32_t pm_ibatc[BATC_MAX]; /* instruction BATCs */ - u_int32_t pm_dbatc[BATC_MAX]; /* data BATCs */ -#endif -}; - -#define PMAP_NULL ((pmap_t) 0) - -/* The PV (Physical to virtual) List. - * - * For each vm_page_t, pmap keeps a list of all currently valid virtual - * mappings of that page. An entry is a pv_entry_t; the list is the - * pv_head_table. This is used by things like pmap_remove, when we must - * find and remove all mappings for a particular physical page. - */ -/* XXX - struct pv_entry moved to vmparam.h because of include ordering issues */ - -typedef struct pmap *pmap_t; -typedef struct pv_entry *pv_entry_t; +#include <m88k/pmap.h> #ifdef _KERNEL +vaddr_t pmap_bootstrap_md(vaddr_t); +#endif -extern pmap_t kernel_pmap; -extern struct pmap kernel_pmap_store; -extern caddr_t vmmap; - -#define pmap_kernel() (&kernel_pmap_store) -#define pmap_resident_count(pmap) ((pmap)->pm_stats.resident_count) -#define pmap_wired_count(pmap) ((pmap)->pm_stats.wired_count) -#define pmap_phys_address(frame) ((paddr_t)(ptoa(frame))) - -#define pmap_copy(dp,sp,d,l,s) do { /* nothing */ } while (0) -#define pmap_update(pmap) do { /* nothing (yet) */ } while (0) - -#define pmap_clear_modify(pg) pmap_unsetbit(pg, PG_M) -#define pmap_clear_reference(pg) pmap_unsetbit(pg, PG_U) - -#define pmap_proc_iflush(p,va,len) do { /* nothing */ } while (0) - -void pmap_bootstrap(vaddr_t); -void pmap_cache_ctrl(pmap_t, vaddr_t, vaddr_t, u_int); -boolean_t pmap_unsetbit(struct vm_page *, int); - -#endif /* _KERNEL */ - -#endif /* _MACHINE_PMAP_H_ */ +#endif _MVME88K_PMAP_H_ |