Subject: Re: freebsd/sparc64 goes multiuser on dual-cpu.
To: Darren Reed <darrenr@reed.wattle.id.au>
From: Jake Burkholder <jake@locore.ca>
List: port-sparc64
Date: 03/07/2002 11:15:17
Apparently, On Fri, Mar 08, 2002 at 12:51:18AM +1100,
	Darren Reed said words to the effect of;

> I figure the various NetBSD/sparc64 might be interested in the changes
> involved herein.

Some of this is specific to the pmap implementation, which is pretty
different from the netbsd code from my reading.  You should be able to
take the startup code almost directly though.  I'm happy to help in anyway
I can.

Jake

> 
> On Wed, 6 Mar 2002, Jake Burkholder wrote:
> > jake        2002/03/06 22:01:41 PST
> > 
> >   Modified files:
> >     sys/sparc64/include  smp.h tlb.h 
> >     sys/sparc64/sparc64  bus_machdep.c genassym.c machdep.c 
> >                          mp_exception.s mp_locore.s mp_machdep.c 
> >                          pmap.c pv.c trap.c tsb.c 
> >   Log:
> >   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.
> >   
> >   Revision  Changes    Path
> >   1.8       +37 -24    src/sys/sparc64/include/smp.h
> >   1.14      +66 -145   src/sys/sparc64/include/tlb.h
> >   1.6       +2 -0      src/sys/sparc64/sparc64/bus_machdep.c
> >   1.27      +4 -2      src/sys/sparc64/sparc64/genassym.c
> >   1.41      +2 -0      src/sys/sparc64/sparc64/machdep.c
> >   1.2       +68 -53    src/sys/sparc64/sparc64/mp_exception.s
> >   1.3       +23 -15    src/sys/sparc64/sparc64/mp_locore.s
> >   1.4       +18 -9     src/sys/sparc64/sparc64/mp_machdep.c
> >   1.40      +17 -7     src/sys/sparc64/sparc64/pmap.c
> >   1.13      +2 -0      src/sys/sparc64/sparc64/pv.c
> >   1.28      +2 -0      src/sys/sparc64/sparc64/trap.c
> >   1.17      +2 -0      src/sys/sparc64/sparc64/tsb.c
> > 
> 
> 
> 
> 
> ----- End of forwarded message from Robert Watson -----