summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k/include/pmap.h
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2001-12-16 23:49:48 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2001-12-16 23:49:48 +0000
commit4c3ee3bc825b44e31dd265ae0db047015e86da6b (patch)
tree7177501c70e488ac5260c2bcd0c5b6ca2644702c /sys/arch/mvme88k/include/pmap.h
parent9e602379a914ff34ca6650a265b85e6ffe484b2d (diff)
Revert the mvme88k to 20011212. Recent changes had not been merged correctly,
and I am fed up with dissecting diffs to put back code that disappeared. This will likely be fixed shortly.
Diffstat (limited to 'sys/arch/mvme88k/include/pmap.h')
-rw-r--r--sys/arch/mvme88k/include/pmap.h83
1 files changed, 73 insertions, 10 deletions
diff --git a/sys/arch/mvme88k/include/pmap.h b/sys/arch/mvme88k/include/pmap.h
index c4d8dc9542f..0e19df740e9 100644
--- a/sys/arch/mvme88k/include/pmap.h
+++ b/sys/arch/mvme88k/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.21 2001/12/12 19:33:38 miod Exp $ */
+/* $OpenBSD: pmap.h,v 1.22 2001/12/16 23:49:46 miod Exp $ */
/*
* Mach Operating System
* Copyright (c) 1991 Carnegie Mellon University
@@ -70,8 +70,9 @@ 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)->stats.resident_count)
+#define pmap_kernel() (&kernel_pmap_store)
+#define pmap_resident_count(pmap) ((pmap)->stats.resident_count)
+/* Used in builtin/device_pager.c */
#define pmap_phys_address(frame) ((vm_offset_t) (ptoa(frame)))
#define pmap_update(pmap) /* nothing (yet) */
@@ -79,9 +80,8 @@ extern caddr_t vmmap;
#define PMAP_ACTIVATE(proc) pmap_activate(proc)
#define PMAP_DEACTIVATE(proc) pmap_deactivate(proc)
#define PMAP_CONTEXT(pmap, thread)
-
/*
- * Modes used when calling pmap_cache_flush().
+ * Modes used when calling pmap_cache_fulsh().
*/
#define FLUSH_CACHE 0
#define FLUSH_CODE_CACHE 1
@@ -90,10 +90,73 @@ extern caddr_t vmmap;
#define FLUSH_LOCAL_CODE_CACHE 4
#define FLUSH_LOCAL_DATA_CACHE 5
-void pmap_bootstrap __P((vm_offset_t, vm_offset_t *, vm_offset_t *,
- vm_offset_t *, vm_offset_t *));
-void pmap_cache_ctrl __P((pmap_t, vm_offset_t, vm_offset_t, unsigned));
-
+/**************************************************************************/
+/*** Prototypes for public functions defined in pmap.c ********************/
+/**************************************************************************/
+
+vm_offset_t pmap_map(
+ vm_offset_t virt,
+ vm_offset_t start,
+ vm_offset_t end,
+ vm_prot_t prot);
+
+vm_offset_t pmap_map_batc(
+ vm_offset_t virt,
+ vm_offset_t start,
+ vm_offset_t end,
+ vm_prot_t prot,
+ unsigned cmode);
+
+void pmap_bootstrap(
+ vm_offset_t load_start, /* IN */
+ vm_offset_t *phys_start, /* IN/OUT */
+ vm_offset_t *phys_end, /* IN */
+ vm_offset_t *virt_start, /* OUT */
+ vm_offset_t *virt_end); /* OUT */
+
+pt_entry_t *pmap_pte(pmap_t map, vm_offset_t virt);
+void pmap_cache_ctrl(pmap_t pmap, vm_offset_t s, vm_offset_t e, unsigned mode);
+void pmap_zero_page(vm_offset_t phys);
+void pmap_remove_all(vm_offset_t phys);
+vm_offset_t pmap_extract_unlocked(pmap_t pmap, vm_offset_t va);
+void copy_to_phys(vm_offset_t srcva, vm_offset_t dstpa, int bytecount);
+void copy_from_phys(vm_offset_t srcpa, vm_offset_t dstva, int bytecount);
+void pmap_redzone(pmap_t pmap, vm_offset_t va);
+void icache_flush(vm_offset_t pa);
+void pmap_dcache_flush(pmap_t pmap, vm_offset_t va);
+void pmap_cache_flush(pmap_t pmap, vm_offset_t virt, int bytes, int mode);
+void pmap_print (pmap_t pmap);
+void pmap_print_trace (pmap_t pmap, vm_offset_t va, boolean_t long_format);
+
+#if 0
+#ifdef OMRON_PMAP
+ void pmap_set_batc(
+ pmap_t pmap,
+ boolean_t data,
+ int i,
+ vm_offset_t va,
+ vm_offset_t pa,
+ boolean_t super,
+ boolean_t wt,
+ boolean_t global,
+ boolean_t ci,
+ boolean_t wp,
+ boolean_t valid);
+
+ void use_batc(
+ task_t task,
+ boolean_t data, /* for data-cmmu ? */
+ int i, /* batc number */
+ vm_offset_t va, /* virtual address */
+ vm_offset_t pa, /* physical address */
+ boolean_t s, /* for super-mode ? */
+ boolean_t wt, /* is writethrough */
+ boolean_t g, /* is global ? */
+ boolean_t ci, /* is cache inhibited ? */
+ boolean_t wp, /* is write-protected ? */
+ boolean_t v); /* is valid ? */
+#endif
+#endif /* 0 */
#endif /* _KERNEL */
-#endif /* _MACHINE_PMAP_H_ */
+#endif /* endif _MACHINE_PMAP_H_ */