diff options
author | jake <jake@FreeBSD.org> | 2002-03-07 06:01:40 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2002-03-07 06:01:40 +0000 |
commit | 33d439a7d096b26d327bb8bdd2b77665f7639655 (patch) | |
tree | 0cc51dbe6026e583140183b9b44554c405488cd0 /sys/sparc64/sparc64/bus_machdep.c | |
parent | 951cf2831e0fa912b15f97be0521ad99c33dbf2b (diff) | |
download | FreeBSD-src-33d439a7d096b26d327bb8bdd2b77665f7639655.zip FreeBSD-src-33d439a7d096b26d327bb8bdd2b77665f7639655.tar.gz |
Implement delivery of tlb shootdown ipis. This is currently more fine grained
than the other implementations; we have complete control over the tlb, so we
only demap specific pages. We take advantage of the ranged tlb flush api
to send one ipi for a range of pages, and due to the pm_active optimization
we rarely send ipis for demaps from user pmaps.
Remove now unused routines to load the tlb; this is only done once outside
of the tlb fault handlers.
Minor cleanups to the smp startup code.
This boots multi user with both cpus active on a dual ultra 60 and on a
dual ultra 2.
Diffstat (limited to 'sys/sparc64/sparc64/bus_machdep.c')
-rw-r--r-- | sys/sparc64/sparc64/bus_machdep.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sparc64/sparc64/bus_machdep.c b/sys/sparc64/sparc64/bus_machdep.c index e070df6..4eb2c45 100644 --- a/sys/sparc64/sparc64/bus_machdep.c +++ b/sys/sparc64/sparc64/bus_machdep.c @@ -113,6 +113,7 @@ #include <sys/bus.h> #include <sys/malloc.h> #include <sys/proc.h> +#include <sys/smp.h> #include <sys/systm.h> #include <vm/vm.h> @@ -125,6 +126,7 @@ #include <machine/bus.h> #include <machine/cache.h> #include <machine/pmap.h> +#include <machine/smp.h> #include <machine/tlb.h> /* ASI's for bus access. */ |