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/tsb.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/tsb.c')
-rw-r--r-- | sys/sparc64/sparc64/tsb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sparc64/sparc64/tsb.c b/sys/sparc64/sparc64/tsb.c index 42eb34f..959ab85 100644 --- a/sys/sparc64/sparc64/tsb.c +++ b/sys/sparc64/sparc64/tsb.c @@ -39,6 +39,7 @@ #include <sys/lock.h> #include <sys/mutex.h> #include <sys/proc.h> +#include <sys/smp.h> #include <sys/sysctl.h> #include <sys/systm.h> @@ -58,6 +59,7 @@ #include <machine/trap.h> #include <machine/pmap.h> #include <machine/pv.h> +#include <machine/smp.h> #include <machine/tlb.h> #include <machine/tsb.h> #include <machine/tte.h> |