Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/sommerfeld_i386mp_1]: src/sys/arch/i386/include MP: preliminary TLB shoo...
details: https://anonhg.NetBSD.org/src/rev/a4cd893985eb
branches: sommerfeld_i386mp_1
changeset: 482164:a4cd893985eb
user: sommerfeld <sommerfeld%NetBSD.org@localhost>
date: Sun Feb 20 17:45:52 2000 +0000
description:
MP: preliminary TLB shootdown support.
Note that the pmap previously had its own idea of a deferred
invalidation queue; use the TLB shootdown queue mechanism for this as
well.
diffstat:
sys/arch/i386/include/pmap.h | 12 ++++++++++--
1 files changed, 10 insertions(+), 2 deletions(-)
diffs (44 lines):
diff -r 736721c9b150 -r a4cd893985eb sys/arch/i386/include/pmap.h
--- a/sys/arch/i386/include/pmap.h Sun Feb 20 17:44:43 2000 +0000
+++ b/sys/arch/i386/include/pmap.h Sun Feb 20 17:45:52 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.43 2000/02/11 07:00:13 thorpej Exp $ */
+/* $NetBSD: pmap.h,v 1.43.2.1 2000/02/20 17:45:52 sommerfeld Exp $ */
/*
*
@@ -143,6 +143,7 @@
* note that in the APTE_BASE space, the APDP appears at VA
* "APDP_BASE" (0xfffff000).
*/
+/* XXX MP should we allocate one APDP_PDE per processor?? */
/*
* the following defines identify the slots used as described above.
@@ -336,11 +337,12 @@
*/
#define PMAP_RR_MAX 16 /* max of 16 pages (64K) */
-
+#if 0
struct pmap_remove_record {
int prr_npages;
vaddr_t prr_vas[PMAP_RR_MAX];
};
+#endif
/*
* pmap_transfer_location: used to pass the current location in the
@@ -406,6 +408,12 @@
vaddr_t reserve_dumppages __P((vaddr_t)); /* XXX: not a pmap fn */
+#if defined(MULTIPROCESSOR)
+void pmap_tlb_shootdown __P((pmap_t, vaddr_t, pt_entry_t));
+#endif /* MULTIPROCESSOR */
+void pmap_tlb_dshootdown __P((pmap_t, vaddr_t, pt_entry_t));
+void pmap_do_tlb_shootdown __P((void));
+
#define PMAP_GROWKERNEL /* turn on pmap_growkernel interface */
/*
Home |
Main Index |
Thread Index |
Old Index