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 | |
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')
-rw-r--r-- | sys/arch/mvme88k/include/pmap.h | 82 | ||||
-rw-r--r-- | sys/arch/mvme88k/include/pmap_table.h | 52 |
2 files changed, 11 insertions, 123 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_ diff --git a/sys/arch/mvme88k/include/pmap_table.h b/sys/arch/mvme88k/include/pmap_table.h index faab4e416ee..327226180d3 100644 --- a/sys/arch/mvme88k/include/pmap_table.h +++ b/sys/arch/mvme88k/include/pmap_table.h @@ -1,49 +1,3 @@ -/* $OpenBSD: pmap_table.h,v 1.10 2003/10/05 20:27:46 miod Exp $ */ -/* - * Mach Operating System - * Copyright (c) 1992 Carnegie Mellon University - * 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. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ - -#ifndef __MACHINE_PMAP_TABLE_H__ -#define __MACHINE_PMAP_TABLE_H__ - -/* - * Built-in mappings list. - * An entry is considered invalid if pm_size = 0, and - * end of list is indicated by pm_size 0xffffffff - */ -typedef struct { - vaddr_t phys_start; /* in bytes */ - vaddr_t virt_start; /* in bytes */ - vsize_t size; /* in bytes */ - unsigned int prot; /* vm_prot_read, vm_prot_write */ - unsigned int cacheability; /* none, writeback, normal */ -} pmap_table_entry; - -typedef const pmap_table_entry *pmap_table_t; - -pmap_table_t pmap_table_build(void); - -#endif /* __MACHINE_PMAP_TABLE_H__ */ - +/* $OpenBSD: pmap_table.h,v 1.11 2004/07/25 11:06:42 miod Exp $ */ +/* public domain */ +#include <m88k/pmap_table.h> |