The NetBSD Project

CVS log for src/sys/arch/sparc/sparc/cpu.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / arch / sparc / sparc

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.238.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:44 2012 UTC (6 months, 4 weeks ago) by tls
Branch: tls-maxphys
Changes since 1.238: +6 -6 lines
Diff to previous 1.238 (unified) next main 1.239 (unified)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.234.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:22 2012 UTC (7 months, 2 weeks ago) by yamt
Branch: yamt-pagecache
Changes since 1.234.2.1: +13 -7 lines
Diff to previous 1.234.2.1 (unified) to branchpoint 1.234 (unified) next main 1.235 (unified)

sync with head

Revision 1.239 / (download) - annotate - [select for diffs], Sat Oct 27 17:18:12 2012 UTC (7 months, 3 weeks ago) by chs
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, tls-maxphys-nbase, tls-maxphys-base, khorben-n900, agc-symver-base, agc-symver, HEAD
Changes since 1.238: +6 -6 lines
Diff to previous 1.238 (unified)

split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.

Revision 1.238 / (download) - annotate - [select for diffs], Tue Jul 31 20:12:27 2012 UTC (10 months, 2 weeks ago) by martin
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.237: +10 -6 lines
Diff to previous 1.237 (unified)

Ifdef MSIIEP differently, so krups actually boots again.

Revision 1.237 / (download) - annotate - [select for diffs], Tue Jul 31 16:38:37 2012 UTC (10 months, 2 weeks ago) by martin
Branch: MAIN
Changes since 1.236: +8 -6 lines
Diff to previous 1.236 (unified)

Make KRUPS kernel buildable again

Revision 1.236 / (download) - annotate - [select for diffs], Sun Jul 29 00:04:05 2012 UTC (10 months, 3 weeks ago) by matt
Branch: MAIN
Changes since 1.235: +3 -3 lines
Diff to previous 1.235 (unified)

Fix more -fno-common fallout.

Revision 1.234.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:54 2012 UTC (14 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.234: +40 -27 lines
Diff to previous 1.234 (unified)

sync with head

Revision 1.234.6.1 / (download) - annotate - [select for diffs], Thu Apr 5 21:33:19 2012 UTC (14 months, 1 week ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.234: +40 -27 lines
Diff to previous 1.234 (unified) next main 1.235 (unified)

sync to latest -current.

Revision 1.234.8.1 / (download) - annotate - [select for diffs], Mon Mar 19 23:21:23 2012 UTC (15 months ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Changes since 1.234: +40 -27 lines
Diff to previous 1.234 (unified) next main 1.235 (unified)

Pull up following revision(s) (requested by mrg in ticket #127):
	sys/arch/sparc/sparc/cpu.c: revision 1.235
move IPI debugging all inside DEBUG, but disable it by default.

Revision 1.235 / (download) - annotate - [select for diffs], Sun Mar 11 00:32:21 2012 UTC (15 months, 1 week ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base10
Changes since 1.234: +40 -27 lines
Diff to previous 1.234 (unified)

move IPI debugging all inside DEBUG, but disable it by default.

Revision 1.234 / (download) - annotate - [select for diffs], Mon Aug 15 02:19:44 2011 UTC (22 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, netbsd-6, jmcneill-usbmp
Changes since 1.233: +16 -4 lines
Diff to previous 1.233 (unified)

re-introduce the NULL savefpstate IPI checks and evcnts.  something
is Wrong with GCC 4.5.3 and these trigger.  i haven't seen anything
else particularly wrong so for now this will allow sparc to switch
to GCC 4.5, which otherwise seems to be working very well for me.

sigh.  i'm going to file a PR to research what is really wrong here.

Revision 1.233 / (download) - annotate - [select for diffs], Sun Jul 17 23:18:23 2011 UTC (23 months ago) by mrg
Branch: MAIN
Changes since 1.232: +24 -20 lines
Diff to previous 1.232 (unified)

convert all the sparc drivers that attach on my ss20 to use device_t,
cfdata_t and CFATTACH_DECL_NEW().

fd/fdc could use better testing, but i'm pretty sure i got it right.

Revision 1.224.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:06:46 2011 UTC (2 years ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.224: +156 -17 lines
Diff to previous 1.224 (unified) next main 1.225 (unified)

Sync with HEAD.

Revision 1.211.8.5 / (download) - annotate - [select for diffs], Tue Mar 8 17:29:46 2011 UTC (2 years, 3 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2
Changes since 1.211.8.4: +149 -10 lines
Diff to previous 1.211.8.4 (unified) to branchpoint 1.211 (unified) next main 1.212 (unified)

Apply patches (requested by mrg in ticket #1564):
	sys/arch/sparc/dev/zs.c:		patch
	sys/arch/sparc/include/cpu.h:		patch
	sys/arch/sparc/include/z8530var.h:	patch
	sys/arch/sparc/sparc/cpu.c:		patch
	sys/arch/sparc/sparc/cpuvar.h:		patch
	sys/arch/sparc/sparc/db_interface.c:	patch
	sys/arch/sparc/sparc/genassym.cf:	patch
	sys/arch/sparc/sparc/intr.c:		patch
	sys/arch/sparc/sparc/locore.s:		patch
	sys/arch/sparc/sparc/machdep.c:		patch
	sys/arch/sparc/sparc/timer.c:		patch
	sys/arch/sparc/sparc/timer_sun4m.c:	patch
	sys/arch/sparc/sparc/timervar.h:	patch
	sys/arch/sparc/sparc/trap.c:		patch
	sys/arch/sparc/sparc/vm_machdep.c:	patch

- fix a panic in savefpstate.  idea, and code suggestions from uwe
- convert xpmsg_lock to IPL_SCHED.  the old spl/simple_lock code ran at
  splsched(), and this significantly helps with stability under load when
  running with multiple active CPUs
- in strayintr() don't print about stray zs inters in MP case
- fix a deadlock in xcall()
- consolidate the interrupt evcnt(9) into a full set of per-IPL per-CPU
  soft/hard counters
- fix xcall() failure messages in some cases
- addd new ddb command "mach xcall"
- use schedintr() (not schedintr_4m()) on MP or single CPU configurations
- call hardclock() the same way on cpu0 in MP and !MP cases
- request the appropriate stack space for nmi_sun4m, in particular,
  make sure we have space for %g2...%g5.  now entering ddb via eg,
  serial break no longer causes cpu1 to fault.
- give memfault_sun*() some entry points that both gdb and ddb will find.
from tsutsui:
- fix panic in interrupt handlers in zs

Revision 1.221.4.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:02 2011 UTC (2 years, 3 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221.4.1: +172 -12 lines
Diff to previous 1.221.4.1 (unified) to branchpoint 1.221 (unified) next main 1.222 (unified)

sync with head

Revision 1.224.4.3 / (download) - annotate - [select for diffs], Sat Mar 5 15:10:05 2011 UTC (2 years, 3 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.224.4.2: +26 -7 lines
Diff to previous 1.224.4.2 (unified) to branchpoint 1.224 (unified) next main 1.225 (unified)

Sync with HEAD

Revision 1.232 / (download) - annotate - [select for diffs], Sun Feb 20 11:41:20 2011 UTC (2 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase
Changes since 1.231: +26 -2 lines
Diff to previous 1.231 (unified)

add some #if 0'ed code to turn the xcall() timeout into a hard panic.
probably put this under DIAGNOSTIC when it is later properly working.

Revision 1.231 / (download) - annotate - [select for diffs], Sun Feb 20 10:02:01 2011 UTC (2 years, 3 months ago) by mrg
Branch: MAIN
Changes since 1.230: +2 -7 lines
Diff to previous 1.230 (unified)

remove the evcnt for NULL struct fpstate * ipi, and switch over to an
explicit panic() if we get one.

i'm pretty sure that converting xmpsg_lock from IPL_VM to IPL_SCHED
fixed this problem properly.  i have not seen the evcnt trigger since
that change, nor have several others queried.

Revision 1.224.4.2 / (download) - annotate - [select for diffs], Thu Feb 17 12:00:00 2011 UTC (2 years, 4 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.224.4.1: +34 -6 lines
Diff to previous 1.224.4.1 (unified) to branchpoint 1.224 (unified)

Sync with HEAD

Revision 1.211.8.4 / (download) - annotate - [select for diffs], Wed Feb 16 21:33:25 2011 UTC (2 years, 4 months ago) by bouyer
Branch: netbsd-5
Changes since 1.211.8.3: +41 -11 lines
Diff to previous 1.211.8.3 (unified) to branchpoint 1.211 (unified)

Apply patch, requested my mrg in ticket 1553:
	sys/arch/sparc/sparc/cpu.c:	patch
	sys/arch/sparc/sparc/cpuvar.h:	patch
	sys/arch/sparc/sparc/pmap.c:	patch
	sys/arch/sparc/sparc/timer_sun4m.c:	patch
- print the curpcb in ddb "mach cpu" output as well.
- bump the size of cpus[] by one, so we have a NULL pointer at the end,
  from tsutsui
- for MP kernels, copy the loop to find the bootcpu in mainbus_attach()
  into getcacheinfo_obp() so we can get cache properties on the bootcpu
  before calling main()
- in getcpuinfo(), move the call of getmid() before the call to
  getcacheinfo() so that the above change to getcacheinfo_obp() can work
- move the struct cpu_info setup to the end of the initial kernel page
  setup and don't access this space until after we have switched to the
  kernel pagetables
- revive most of the old CPUINFO_VA alignment/congruency code from the
  old alloc_cpuinfo_global_va() function, and ensure that all cpuinfo
  structures are sanely aligned.  this makes hypersparc work again
- introduce a new way to free the wasted pages back to UVM, as we can't
  simply uvm_unmap() them this early in bootstrap
- make sure to initialise the cpuinfo sz in all cases.  noted by martin.
- add per-cpu event counters for lev10 and lev14 interrupts.
- make CPU_INFO_FOREACH() set the iterator count to '0' in the !MP case.
- add some disabled MP code to poke other cpus on level 14 interrupts.
- add a diagnostic to ensure that cpus[0] == cpu0's cpu_info->ci_self
- if a cpu doesn't have any mappings allocated, don't copy them.  this
  occurs if a cpu isn't attached (such as a MP kernel with only "cpu0"
  listed in the config file..)
- fix the previous to compile !MULTIPROCESSOR.

Revision 1.230 / (download) - annotate - [select for diffs], Tue Feb 15 09:05:14 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: uebayasi-xip-base7, bouyer-quota2-base
Changes since 1.229: +2 -4 lines
Diff to previous 1.229 (unified)

remove unused CPUFLG_READY and CPU_NOTREADY() macro.

Revision 1.229 / (download) - annotate - [select for diffs], Mon Feb 14 03:18:10 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.228: +34 -4 lines
Diff to previous 1.228 (unified)

add a "mach xcall" command to dump info about each cpus xpmsg{} values.

while here, move the prototype for cpu_debug_dump() to cpuvar.h and
avoid the copy in db_interface.c.

Revision 1.224.4.1 / (download) - annotate - [select for diffs], Tue Feb 8 16:19:41 2011 UTC (2 years, 4 months ago) by bouyer
Branch: bouyer-quota2
Changes since 1.224: +103 -11 lines
Diff to previous 1.224 (unified)

Sync with HEAD

Revision 1.228 / (download) - annotate - [select for diffs], Fri Feb 4 09:23:00 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.227: +17 -7 lines
Diff to previous 1.227 (unified)

in xcall(), use a (static) errbuf if we timeout, so we can build the whole
message up for a single call to printf_nolog().  this should get rid of
these messages that report no cpus answered.  eg:

	xcall(cpu0,0xf000868c): couldn't ping cpus:
vs
	xcall(cpu0,0xf000868c): couldn't ping cpus: cpu1

Revision 1.211.8.3 / (download) - annotate - [select for diffs], Fri Jan 28 07:16:13 2011 UTC (2 years, 4 months ago) by snj
Branch: netbsd-5
Changes since 1.211.8.2: +137 -173 lines
Diff to previous 1.211.8.2 (unified) to branchpoint 1.211 (unified)

Pull up following revision(s) (requested by mrg in ticket #1532):
	sys/arch/sparc/sparc/cpu.c: revision 1.215 via patch
	sys/arch/sparc/sparc/cpuvar.h: revision 1.78 via patch
	sys/arch/sparc/sparc/genassym.cf: revision 1.57 via patch
	sys/arch/sparc/sparc/intr.c: revision 1.103-1.105 via patch
	sys/arch/sparc/sparc/locore.s: revision 1.247, 1.250 via patch
	sys/arch/sparc/sparc/pmap.c: revision 1.329 via patch

- print the cpu_number() when we get a strayintr().

- use _MAXNCPU instead of 4
- convert xpmsg_lock from a simplelock to a kmutex
- don't wait for sparc_noop IPI calls
- remove xmpsg_func's "retval" parameter and usage
- remove the IPI at high IPL message
- rework cpu_attach() a bunch, refactoring calls to getcpuinfo() and setting
 of cpi, and split most of the non-boot CPU handling into a new function
- make CPU_INFO_FOREACH() work whether modular or not
- move the MP cpu_info pages earlier
- move a few things in cpu.c around to colsolidate the MP code together
- remove useless if (cpus == NULL) tests -- cpus is an array now

with these changes, and an additional change to crazyintr() to not printf(),
i can get to single user shell on my SS20 again.  i can run a few commands
but some of them cause hangs.  "ps auxw" works, but "top -b" does not.

convert sparc "intrcnt" counters to evcnt(9) style.  XXX some of the names
could be better, but i just copied them from the old intrnames in locore.

i benchmarked this with a simple test of ircii ./configure && make, to see
if the additional load/store & arith would cause any noticeable degradation
as the change also converts 32 bit counters to 64 bits.  amusingly, the
only trend i saw in this was that for both portions, i see a consistent
(across at least 8 runs) benefit of about 0.8% improvement.  ie, the newer
larger code size / counter size code actually runs faster for some reason..
maybe there's a cacheline effect in the size of the code?

XXX the current implementation depends on a couple of things:
XXX   - ev_count member of evcnt{} is first and has offset 0
XXX   - that sizeof(struct evcnt) equals 32
XXX if these are not true, locore.s has #error's to catch it

- remove unused ft_want_ast()
- give nmi_sun* ENTRY() points so they show up in symbols properly
- add some disabled code to use this cpu's idlelwp area when hatching
 a cpu, but right now it makes this worse not better...

Revision 1.227 / (download) - annotate - [select for diffs], Thu Jan 27 06:24:59 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.226: +53 -4 lines
Diff to previous 1.226 (unified)

consolidate the interrupt evcnt(9) into a full set of per-IPL per-CPU
soft/hard counters.  beyond the extra info, it seems to help avoid some
of these counters getting corrupted due to unlocked multiple accesses.

adjust the xcallintr() from xcall() hack so that we don't count these
events as interrupts.  align the existing evcnt name to count this.

Revision 1.226 / (download) - annotate - [select for diffs], Thu Jan 27 05:31:13 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.225: +38 -5 lines
Diff to previous 1.225 (unified)

to quote a new comment:

 * There's a deadlock potential between multiple CPUs trying
 * to xcall() at the same time, and the thread that loses the
 * race to get xpmsg_lock is at an IPL above the incoming IPI
 * IPL level, so it sits around waiting to take the lock while
 * the other CPU is waiting for this CPU to handle the IPI and
 * mark it as completed.
 *
 * If we fail to get the mutex, and we're at high enough IPL,
 * call xcallintr() if there is a valid msg.tag.

this seems to fix the xcall() failed to ping cpus problem.
idea from martin, tested by macallan and myself.

Revision 1.225 / (download) - annotate - [select for diffs], Sat Jan 22 12:13:25 2011 UTC (2 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.224: +3 -3 lines
Diff to previous 1.224 (unified)

convert xpmsg_lock to IPL_SCHED.  the old spl/simple_lock code ran at
splsched(), and this significantly helps with stability under load
when running with multiple active CPUs.

Revision 1.211.8.2 / (download) - annotate - [select for diffs], Sun Jan 16 12:58:23 2011 UTC (2 years, 5 months ago) by bouyer
Branch: netbsd-5
Changes since 1.211.8.1: +8 -8 lines
Diff to previous 1.211.8.1 (unified) to branchpoint 1.211 (unified)

Pull up following revision(s) (requested by mrg in ticket #1527):
	sys/arch/sparc/sparc/pmap.c: revision 1.327, 1.328
	sys/arch/sparc/sparc/cpuvar.h: revision 1.77
	sys/arch/sparc/sparc/locore.s: revision 1.245
	sys/arch/sparc/sparc/cpu.c: revision 1.214
	sys/arch/sparc/sparc/db_interface.c: revision 1.84
- retire union cpu_info_pg
- allocate space for each cpu_info{} in pmap_bootstrap
- remap cpu0's space into the PA currently in CPUINFO_VA
- cpus[] becomes an array of pointers to cpu_info{}, easy to traverse
- only call kernel lock for IPL_VM interrupts (?  as implemented on
  x86 and sparc64)
- revert a minor part of locore.s:1.241
- in cpu_hatch(), set %sp to near the middle of the interrupt stack.
  we only need a %sp until we get to run an MI thread (own idlelwp or
  real code)
we still waste one page of space, but this gets SMP much closer to
actually working again.
fix a LOCKDEBUG problem from the previous: need to call pmap_kremove()
on a pre-existing mapping, before installing a new one.

Revision 1.224 / (download) - annotate - [select for diffs], Thu Jan 13 05:20:27 2011 UTC (2 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: jruoho-x86intr-base
Branch point for: jruoho-x86intr, bouyer-quota2
Changes since 1.223: +23 -2 lines
Diff to previous 1.223 (unified)

introduce a hack to workaround the savefpstate IPI get's NULL
struct fpstate *.

add a new entry point ipi_savefpstate() that is used for this IPI
instead of the plain ipi_savefpstate().  check for %o0 being NULL,
and if so, just return.

add event counters for the savefpstate IPI, and another one for
when it detects the NULL problem.

make the cpu_info struct xmpsg be aligned to a single cache line.

with this change applied (and another minor change in testing) my
SS20 with dual SM75's has survived for 17 hours on build.sh -j5,
and has reported 7 NULL savefps.  (the minor change seems to have
a significant effect at reducing this number, but more testing is
needed for it.)


XXX:  this is horrible and we really need to find the real problem
XXX:  but this should let people use sparc smp again, and fixes
XXX:  for the real problem can be tested by seeing if any of the
XXX:  savefp IPI null counter becomes non-zero.

Revision 1.221.2.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:45:15 2010 UTC (2 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.221: +21 -3 lines
Diff to previous 1.221 (unified) next main 1.222 (unified)

Sync with HEAD.

Revision 1.210.10.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:52:45 2010 UTC (2 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.210.10.3: +21 -3 lines
Diff to previous 1.210.10.3 (unified) to branchpoint 1.210 (unified) next main 1.211 (unified)

sync with head.

Revision 1.221.4.1 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:27 2010 UTC (2 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.221: +21 -3 lines
Diff to previous 1.221 (unified)

sync with head

Revision 1.223 / (download) - annotate - [select for diffs], Tue Jun 22 18:29:02 2010 UTC (2 years, 11 months ago) by rmind
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231
Changes since 1.222: +3 -8 lines
Diff to previous 1.222 (unified)

Implement high priority (XC_HIGHPRI) xcall(9) mechanism - a facility
to execute functions from software interrupt context, at SOFTINT_CLOCK.
Functions must be lightweight.  Will be used for passive serialization.

OK ad@.

Revision 1.222 / (download) - annotate - [select for diffs], Mon May 31 03:16:47 2010 UTC (3 years ago) by mrg
Branch: MAIN
Changes since 1.221: +25 -2 lines
Diff to previous 1.221 (unified)

add #if 0'ed implementation of xc_send_ipi(), to be used shortly.

Revision 1.211.14.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:33:48 2010 UTC (3 years, 1 month ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.211: +68 -187 lines
Diff to previous 1.211 (unified) next main 1.212 (unified)

sync to netbsd-5

Revision 1.210.10.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:57 2010 UTC (3 years, 3 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.210.10.2: +9 -9 lines
Diff to previous 1.210.10.2 (unified) to branchpoint 1.210 (unified)

sync with head

Revision 1.221 / (download) - annotate - [select for diffs], Sat Jan 23 16:06:57 2010 UTC (3 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, uebayasi-xip-base1, uebayasi-xip-base
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.220: +7 -7 lines
Diff to previous 1.220 (unified)

rename cpu_info{}::cpu_name member to cpu_longname, to avoid a potential conflict
with <sys/cpu.h>.

Revision 1.220 / (download) - annotate - [select for diffs], Sun Dec 20 03:42:29 2009 UTC (3 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.219: +3 -3 lines
Diff to previous 1.219 (unified)

minor KNF.

Revision 1.219 / (download) - annotate - [select for diffs], Sat Nov 21 04:16:51 2009 UTC (3 years, 6 months ago) by rmind
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.218: +3 -3 lines
Diff to previous 1.218 (unified)

Use lwp_getpcb() on sparc{64} and sun2/3 MD code, clean from struct user usage.

Revision 1.210.10.2 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:09 2009 UTC (4 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.210.10.1: +175 -180 lines
Diff to previous 1.210.10.1 (unified) to branchpoint 1.210 (unified)

sync with head

Revision 1.218 / (download) - annotate - [select for diffs], Thu Jun 11 14:42:47 2009 UTC (4 years ago) by tsutsui
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Changes since 1.217: +3 -2 lines
Diff to previous 1.217 (unified)

Call cache_flush_all() in getcpuinfo().
Not sure if it's actually necessary, but it fixes panic
"makememarr: cannot find "memory" node" on RT626 HyperSPARC.
Ok'ed by martin@.

Revision 1.217 / (download) - annotate - [select for diffs], Sun May 31 20:09:44 2009 UTC (4 years ago) by mrg
Branch: MAIN
Changes since 1.216: +35 -6 lines
Diff to previous 1.216 (unified)

- bump the size of cpus[] by one, so we have a NULL pointer at the end,
  from tsutsui
- for MP kernels, copy the loop to find the bootcpu in mainbus_attach()
  into getcacheinfo_obp() so we can get cache properties on the bootcpu
  before calling main()
- in getcpuinfo(), move the call of getmid() before the call to
  getcacheinfo() so that the above change to getcacheinfo_obp() can work
- move the struct cpu_info setup to the end of the initial kernel page
  setup and don't access this space until after we have switched to the
  kernel pagetables
- revive most of the old CPUINFO_VA alignment/congruency code from the
  old alloc_cpuinfo_global_va() function, and ensure that all cpuinfo
  structures are sanely aligned.  this makes hypersparc work again
- introduce a new way to free the wasted pages back to UVM, as we can't
  simply uvm_unmap() them this early in bootstrap


i believe that the first used cpuinfo_data page is still being wasted,
but i haven't checked.

Revision 1.211.8.1 / (download) - annotate - [select for diffs], Sat May 30 16:57:18 2009 UTC (4 years ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.211: +68 -187 lines
Diff to previous 1.211 (unified)

Pull up following revision(s) (requested by mrg in ticket #776):
	sys/arch/sparc/sparc/autoconf.c: revision 1.233 via patch
	sys/arch/sparc/sparc/cpu.c: revision 1.213 via patch
	sys/arch/sparc/sparc/cpuvar.h: revision 1.76 via patch
	sys/arch/sparc/sparc/db_interface.c: revision 1.83 via patch
	sys/arch/sparc/sparc/intr.c: revision 1.102 via patch
	sys/arch/sparc/sparc/pmap.c: revision 1.325 via patch
	sys/arch/sparc/sparc/timer_sun4m.c: revision 1.17 via patch
Work in progress from a colaborative effort of mrg and me (all bugs are
mine) - not quite working, but improves the situation for non-MULTIPROCESSOR
kernels (makes LOCKDEBUG kernels work) and does not make SMP kernels worse:
Rearange cpu_info access and hide the actual implementation of the mapping
from all parts of the code that do not directly deal with it. Do the
mapping early in pmap_bootstrap, so that post-vmlocking2 kernels have
a chance to work.
The actual mapping of the cpus array for SMP kernels has to be fixed still,
but both mrg and me ran out of time and this lay around in our trees far
too long.

Revision 1.216 / (download) - annotate - [select for diffs], Sat May 30 01:19:29 2009 UTC (4 years ago) by mrg
Branch: MAIN
Changes since 1.215: +8 -7 lines
Diff to previous 1.215 (unified)

print the curpcb in "mach cpu" output as well.

Revision 1.215 / (download) - annotate - [select for diffs], Wed May 27 02:19:49 2009 UTC (4 years ago) by mrg
Branch: MAIN
Changes since 1.214: +137 -173 lines
Diff to previous 1.214 (unified)

- use _MAXNCPU instead of 4
- convert xpmsg_lock from a simplelock to a kmutex
- don't wait for sparc_noop IPI calls
- remove xmpsg_func's "retval" parameter and usage
- remove the IPI at high IPL message
- rework cpu_attach() a bunch, refactoring calls to getcpuinfo() and setting
  of cpi, and split most of the non-boot CPU handling into a new function
- make CPU_INFO_FOREACH() work whether modular or not
- move the MP cpu_info pages earlier
- move a few things in cpu.c around to colsolidate the MP code together
- remove useless if (cpus == NULL) tests -- cpus is an array now


with these changes, and an additional change to crazyintr() to not printf(),
i can get to single user shell on my SS20 again.  i can run a fwe commands
but some of them cause hangs.  "ps auxw" works, but "top -b" does not.


tested in UP LOCKDEBUG/DEBUG/DIAGNOSTIC kernel as well.
MP kernel with only cpu0 configured panics starting /sbin/init.
have not yet tested on a real UP machine.

Revision 1.214 / (download) - annotate - [select for diffs], Mon May 18 01:36:11 2009 UTC (4 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.213: +8 -8 lines
Diff to previous 1.213 (unified)

- retire union cpu_info_pg
- allocate space for each cpu_info{} in pmap_bootstrap
- remap cpu0's space into the PA currently in CPUINFO_VA
- cpus[] becomes an array of pointers to cpu_info{}, easy to traverse
- only call kernel lock for IPL_VM interrupts (?  as implemented on
  x86 and sparc64)
- revert a minor part of locore.s:1.241
- in cpu_hatch(), set %sp to near the middle of the interrupt stack.
  we only need a %sp until we get to run an MI thread (own idlelwp or
  real code)

we still waste one page of space, but this gets SMP much closer to
actually working again.

Revision 1.212.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:18:36 2009 UTC (4 years, 1 month ago) by jym
Branch: jym-xensuspend
Changes since 1.212: +68 -187 lines
Diff to previous 1.212 (unified) next main 1.213 (unified)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.210.10.1 / (download) - annotate - [select for diffs], Mon May 4 08:11:55 2009 UTC (4 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.210: +68 -187 lines
Diff to previous 1.210 (unified)

sync with head.

Revision 1.211.6.2 / (download) - annotate - [select for diffs], Tue Apr 28 07:34:41 2009 UTC (4 years, 1 month ago) by skrll
Branch: nick-hppapmap
Changes since 1.211.6.1: +68 -187 lines
Diff to previous 1.211.6.1 (unified) to branchpoint 1.211 (unified) next main 1.212 (unified)

Sync with HEAD.

Revision 1.213 / (download) - annotate - [select for diffs], Tue Mar 10 23:58:20 2009 UTC (4 years, 3 months ago) by martin
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base
Changes since 1.212: +68 -187 lines
Diff to previous 1.212 (unified)

Work in progress from a colaborative effort of mrg and me (all bugs are
mine) - not quite working, but improves the situation for non-MULTIPROCESSOR
kernels (makes LOCKDEBUG kernels work) and does not make SMP kernels worse:

Rearange cpu_info access and hide the actual implementation of the mapping
from all parts of the code that do not directly deal with it. Do the
mapping early in pmap_bootstrap, so that post-vmlocking2 kernels have
a chance to work.

The actual mapping of the cpus array for SMP kernels has to be fixed still,
but both mrg and me ran out of time and this lay around in our trees far
too long.

Revision 1.211.6.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:16:46 2009 UTC (4 years, 5 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.211: +4 -4 lines
Diff to previous 1.211 (unified)

Sync with HEAD.

Revision 1.210.6.2 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:30 2009 UTC (4 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.210.6.1: +2 -2 lines
Diff to previous 1.210.6.1 (unified) to branchpoint 1.210 (unified) next main 1.211 (unified)

Sync with HEAD.

Revision 1.212 / (download) - annotate - [select for diffs], Fri Dec 19 18:49:38 2008 UTC (4 years, 6 months ago) by cegger
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.211: +4 -4 lines
Diff to previous 1.211 (unified)

use M_ZERO on malloc() and remove subsequent bzero().

Revision 1.210.12.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:43 2008 UTC (4 years, 11 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.210: +3 -3 lines
Diff to previous 1.210 (unified) next main 1.211 (unified)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.210.8.1 / (download) - annotate - [select for diffs], Tue Jun 17 09:14:12 2008 UTC (5 years ago) by yamt
Branch: yamt-pf42
Changes since 1.210: +3 -3 lines
Diff to previous 1.210 (unified) next main 1.211 (unified)

sync with head.

Revision 1.210.6.1 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:34 2008 UTC (5 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.210: +3 -3 lines
Diff to previous 1.210 (unified)

Sync with HEAD.

Also fix build.

Revision 1.211 / (download) - annotate - [select for diffs], Wed Jun 4 12:41:41 2008 UTC (5 years ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5, matt-nb5-mips64
Changes since 1.210: +3 -3 lines
Diff to previous 1.210 (unified)

vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.

Revision 1.205.4.3 / (download) - annotate - [select for diffs], Sun Mar 23 02:04:22 2008 UTC (5 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.205.4.2: +3 -9 lines
Diff to previous 1.205.4.2 (unified) to branchpoint 1.205 (unified) next main 1.206 (unified)

sync with HEAD

Revision 1.192.2.5 / (download) - annotate - [select for diffs], Wed Feb 27 08:36:25 2008 UTC (5 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.192.2.4: +3 -9 lines
Diff to previous 1.192.2.4 (unified) to branchpoint 1.192 (unified) next main 1.193 (unified)

sync with head.

Revision 1.207.2.1 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:03 2008 UTC (5 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.207: +4 -10 lines
Diff to previous 1.207 (unified) next main 1.208 (unified)

Sync with HEAD.

Revision 1.210 / (download) - annotate - [select for diffs], Sat Feb 16 18:17:36 2008 UTC (5 years, 4 months ago) by he
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-nfs-mp-base2, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, wrstuden-revivesa, mjf-devfs2
Changes since 1.209: +3 -3 lines
Diff to previous 1.209 (unified)

Remove a now-superfluous & after the change to spc_lwplock in sched.h.

Revision 1.209 / (download) - annotate - [select for diffs], Thu Feb 14 14:26:57 2008 UTC (5 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.208: +2 -8 lines
Diff to previous 1.208 (unified)

Make schedstate_percpu::spc_lwplock an exernally allocated item. Remove
the hacks in sparc/cpu.c to reinitialize it. This should be in its own
cache line but that's another change.

Revision 1.192.2.4 / (download) - annotate - [select for diffs], Mon Jan 21 09:39:23 2008 UTC (5 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.192.2.3: +3 -3 lines
Diff to previous 1.192.2.3 (unified) to branchpoint 1.192 (unified)

sync with head

Revision 1.205.4.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:48:57 2008 UTC (5 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.205.4.1: +3 -3 lines
Diff to previous 1.205.4.1 (unified) to branchpoint 1.205 (unified)

sync with HEAD

Revision 1.207.8.1 / (download) - annotate - [select for diffs], Tue Jan 8 22:10:24 2008 UTC (5 years, 5 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.207: +3 -3 lines
Diff to previous 1.207 (unified) next main 1.208 (unified)

Sync with HEAD

Revision 1.208 / (download) - annotate - [select for diffs], Sat Jan 5 00:22:34 2008 UTC (5 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Changes since 1.207: +3 -3 lines
Diff to previous 1.207 (unified)

Fix includes

Revision 1.205.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:22:29 2007 UTC (5 years, 7 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.205: +2 -8 lines
Diff to previous 1.205 (unified)

sync with HEAD

Revision 1.192.2.3 / (download) - annotate - [select for diffs], Sat Oct 27 11:28:34 2007 UTC (5 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.192.2.2: +2 -8 lines
Diff to previous 1.192.2.2 (unified) to branchpoint 1.192 (unified)

sync with head.

Revision 1.205.2.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:43:35 2007 UTC (5 years, 7 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.205: +2 -8 lines
Diff to previous 1.205 (unified) next main 1.206 (unified)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.207 / (download) - annotate - [select for diffs], Wed Oct 17 19:57:14 2007 UTC (5 years, 8 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, cube-autoconf, bouyer-xenamd64-base2, bouyer-xenamd64-base
Branch point for: mjf-devfs, bouyer-xeni386
Changes since 1.206: +2 -2 lines
Diff to previous 1.206 (unified)

Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.

Revision 1.200.10.4 / (download) - annotate - [select for diffs], Tue Oct 16 18:23:51 2007 UTC (5 years, 8 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.200.10.3: +2 -8 lines
Diff to previous 1.200.10.3 (unified) to branchpoint 1.200 (unified) next main 1.201 (unified)

Sync with HEAD

Revision 1.205.6.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:47:44 2007 UTC (5 years, 8 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.205: +2 -8 lines
Diff to previous 1.205 (unified) next main 1.206 (unified)

sync with head.

Revision 1.200.2.4 / (download) - annotate - [select for diffs], Tue Oct 9 13:38:28 2007 UTC (5 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.200.2.3: +2 -8 lines
Diff to previous 1.200.2.3 (unified) to branchpoint 1.200 (unified) next main 1.201 (unified)

Sync with head.

Revision 1.206 / (download) - annotate - [select for diffs], Mon Oct 8 20:06:18 2007 UTC (5 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3, vmlocking-base, ppcoea-renovation-base, bouyer-xenamd64
Changes since 1.205: +2 -8 lines
Diff to previous 1.205 (unified)

Merge run time accounting changes from the vmlocking branch. These make
the LWP "start time" per-thread instead of per-CPU.

Revision 1.200.10.3 / (download) - annotate - [select for diffs], Wed Oct 3 19:25:15 2007 UTC (5 years, 8 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.200.10.2: +6 -4 lines
Diff to previous 1.200.10.2 (unified) to branchpoint 1.200 (unified)

Sync with HEAD

Revision 1.192.2.2 / (download) - annotate - [select for diffs], Mon Sep 3 14:30:03 2007 UTC (5 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.192.2.1: +54 -23 lines
Diff to previous 1.192.2.1 (unified) to branchpoint 1.192 (unified)

sync with head.

Revision 1.200.2.3 / (download) - annotate - [select for diffs], Mon Aug 20 18:38:58 2007 UTC (5 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.200.2.2: +6 -4 lines
Diff to previous 1.200.2.2 (unified) to branchpoint 1.200 (unified)

Sync with HEAD.

Revision 1.203.4.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:47:44 2007 UTC (5 years, 10 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.203: +6 -4 lines
Diff to previous 1.203 (unified) next main 1.204 (unified)

Sync with HEAD.

Revision 1.203.2.1 / (download) - annotate - [select for diffs], Tue Aug 7 18:05:46 2007 UTC (5 years, 10 months ago) by matt
Branch: matt-mips64
Changes since 1.203: +6 -4 lines
Diff to previous 1.203 (unified) next main 1.204 (unified)

Sync with HEAD.

Revision 1.205 / (download) - annotate - [select for diffs], Wed Aug 1 00:06:32 2007 UTC (5 years, 10 months ago) by macallan
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base
Branch point for: yamt-x86pmap, matt-armv6, jmcneill-pm
Changes since 1.204: +3 -3 lines
Diff to previous 1.204 (unified)

fix the fix - do not impose all those extra cache ops on all supersparcs,
only those without external cache

Revision 1.204 / (download) - annotate - [select for diffs], Tue Jul 31 05:21:47 2007 UTC (5 years, 10 months ago) by macallan
Branch: MAIN
Changes since 1.203: +6 -4 lines
Diff to previous 1.203 (unified)

SuperSPARCs without cache controller need some extra cache flushs
With this a MULTIPROCESSOR kernel works again with a pair of SM50

Revision 1.200.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:02:25 2007 UTC (5 years, 11 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.200: +45 -16 lines
Diff to previous 1.200 (unified) next main 1.201 (unified)

Sync with head.

Revision 1.200.10.2 / (download) - annotate - [select for diffs], Tue Jun 26 18:13:35 2007 UTC (5 years, 11 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.200.10.1: +19 -5 lines
Diff to previous 1.200.10.1 (unified) to branchpoint 1.200 (unified)

Sync with HEAD.

Revision 1.200.2.2 / (download) - annotate - [select for diffs], Sat Jun 9 23:55:25 2007 UTC (6 years ago) by ad
Branch: vmlocking
Changes since 1.200.2.1: +19 -5 lines
Diff to previous 1.200.2.1 (unified) to branchpoint 1.200 (unified)

Sync with head.

Revision 1.203 / (download) - annotate - [select for diffs], Mon May 28 21:24:17 2007 UTC (6 years ago) by mrg
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base, hpcarm-cleanup
Branch point for: nick-csl-alignment, matt-mips64
Changes since 1.202: +19 -5 lines
Diff to previous 1.202 (unified)

cpu_attach(): in the MP case, fix up idle lwp info as well as lwp0.l_cpu.
for LOCKDEBUG, mutex_destroy() the cpu0 spc_lwplock with the global
cpuinfo VA, and re-mutex_init() it with the per-cpu address that is only
now available.  for non-boot cpus, be sure to also initialise curlwp to
the idle lwp.

xcall(), pmap_quiet_check(), pmap_pmap_pool_ctor(), pmap_pmap_pool_dtor(),
and pmap_enu4m(): don't care about cpus that have not been attached yet.

Revision 1.200.2.1 / (download) - annotate - [select for diffs], Sun May 27 12:28:16 2007 UTC (6 years ago) by ad
Branch: vmlocking
Changes since 1.200: +29 -14 lines
Diff to previous 1.200 (unified)

Sync with head.

Revision 1.200.10.1 / (download) - annotate - [select for diffs], Tue May 22 17:27:30 2007 UTC (6 years ago) by matt
Branch: ppcoea-renovation
Changes since 1.200: +29 -14 lines
Diff to previous 1.200 (unified)

Update to HEAD.

Revision 1.202 / (download) - annotate - [select for diffs], Sat May 19 23:04:48 2007 UTC (6 years, 1 month ago) by mrg
Branch: MAIN
Changes since 1.201: +3 -3 lines
Diff to previous 1.201 (unified)

fix a compile error #ifdef MULTIPROCESSOR.  does not boot yet...

Revision 1.201 / (download) - annotate - [select for diffs], Thu May 17 14:51:29 2007 UTC (6 years, 1 month ago) by yamt
Branch: MAIN
Changes since 1.200: +29 -14 lines
Diff to previous 1.200 (unified)

merge yamt-idlelwp branch.  asked by core@.  some ports still needs work.

from doc/BRANCHES:

	idle lwp, and some changes depending on it.

	1. separate context switching and thread scheduling.
	   (cf. gmcgarry_ctxsw)
	2. implement idle lwp.
	3. clean up related MD/MI interfaces.
	4. make scheduler(s) modular.

Revision 1.198.12.2 / (download) - annotate - [select for diffs], Sat Apr 28 03:55:24 2007 UTC (6 years, 1 month ago) by mrg
Branch: yamt-idlelwp
Changes since 1.198.12.1: +29 -14 lines
Diff to previous 1.198.12.1 (unified) to branchpoint 1.198 (unified) next main 1.199 (unified)

port yamt-idlelwp to sparc.  this does not work yet, but others have
asked that i commit this work-in-progress.

currently kernel threads end up running with PSR_S missing from %psr
and end up failing to dump a user corefile.

Revision 1.198.12.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:50:42 2007 UTC (6 years, 3 months ago) by rmind
Branch: yamt-idlelwp
Changes since 1.198: +7 -7 lines
Diff to previous 1.198 (unified)

Sync with HEAD.

Revision 1.200 / (download) - annotate - [select for diffs], Sun Mar 4 22:12:43 2007 UTC (6 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, ppcoea-renovation, mjf-ufs-trans
Changes since 1.199: +3 -3 lines
Diff to previous 1.199 (unified)

fix fall out from caddr_t changes.

Revision 1.199 / (download) - annotate - [select for diffs], Sun Mar 4 06:00:45 2007 UTC (6 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.198: +7 -7 lines
Diff to previous 1.198 (unified)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.197.4.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:43:24 2006 UTC (6 years, 9 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (unified) next main 1.198 (unified)

sync with head

Revision 1.197.8.1 / (download) - annotate - [select for diffs], Mon Jun 26 12:45:29 2006 UTC (6 years, 11 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (unified) next main 1.198 (unified)

sync with head.

Revision 1.192.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:56:12 2006 UTC (7 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.192: +124 -170 lines
Diff to previous 1.192 (unified)

sync with head.

Revision 1.197.14.1 / (download) - annotate - [select for diffs], Mon Jun 19 03:45:06 2006 UTC (7 years ago) by chap
Branch: chap-midi
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (unified) next main 1.198 (unified)

Sync with head.

Revision 1.198 / (download) - annotate - [select for diffs], Wed Jun 7 22:38:49 2006 UTC (7 years ago) by kardel
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, rpaulo-netinet-merge-pcb-base, post-newlock2-merge, newlock2-nbase, newlock2-base, newlock2, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, matt-nb4-arm-base, matt-nb4-arm, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, ad-audiomp-base, ad-audiomp, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-idlelwp
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (unified)

convert to timecounters (from branch simonb-timecounters)

Revision 1.197.6.1 / (download) - annotate - [select for diffs], Sat May 27 22:49:52 2006 UTC (7 years ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.197: +3 -3 lines
Diff to previous 1.197 (unified) next main 1.198 (unified)

convert to timecounters

Revision 1.175.2.6 / (download) - annotate - [select for diffs], Sun Dec 11 10:28:36 2005 UTC (7 years, 6 months ago) by christos
Branch: ktrace-lwp
Changes since 1.175.2.5: +114 -164 lines
Diff to previous 1.175.2.5 (unified) next main 1.176 (unified)

Sync with head.

Revision 1.195.2.2 / (download) - annotate - [select for diffs], Tue Nov 22 16:08:03 2005 UTC (7 years, 6 months ago) by yamt
Branch: yamt-readahead
Changes since 1.195.2.1: +2166 -0 lines
Diff to previous 1.195.2.1 (unified) to branchpoint 1.195 (unified) next main 1.196 (unified)

sync with head.

Revision 1.197 / (download) - annotate - [select for diffs], Wed Nov 16 21:42:50 2005 UTC (7 years, 7 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-readahead-base3, yamt-readahead-base2, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, simonb-timecounters-base, peter-altq-base, peter-altq, ktrace-lwp-base, elad-kernelauth-base, elad-kernelauth
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, chap-midi
Changes since 1.196: +21 -21 lines
Diff to previous 1.196 (unified)

Use uint<N>_t.  Drop trailing whitespace.

Revision 1.196 / (download) - annotate - [select for diffs], Mon Nov 14 16:04:47 2005 UTC (7 years, 7 months ago) by uwe
Branch: MAIN
Changes since 1.195: +3 -6 lines
Diff to previous 1.195 (unified)

ANSIify one function I missed in previous.

Revision 1.195.2.1, Mon Nov 14 03:30:49 2005 UTC (7 years, 7 months ago) by yamt
Branch: yamt-readahead
Changes since 1.195: +0 -2169 lines
FILE REMOVED

file cpu.c was added on branch yamt-readahead on 2005-11-22 16:08:03 +0000

Revision 1.195 / (download) - annotate - [select for diffs], Mon Nov 14 03:30:49 2005 UTC (7 years, 7 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base
Branch point for: yamt-readahead
Changes since 1.194: +94 -141 lines
Diff to previous 1.194 (unified)

ANSIify.  Same binary code is produced for GENERIC.MP + KGDB + DDB.

Revision 1.175.2.5 / (download) - annotate - [select for diffs], Thu Nov 10 13:59:08 2005 UTC (7 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.175.2.4: +44 -36 lines
Diff to previous 1.175.2.4 (unified)

Sync with HEAD. Here we go again...

Revision 1.192.4.2 / (download) - annotate - [select for diffs], Wed Nov 2 11:57:55 2005 UTC (7 years, 7 months ago) by yamt
Branch: yamt-vop
Changes since 1.192.4.1: +7 -5 lines
Diff to previous 1.192.4.1 (unified) to branchpoint 1.192 (unified) next main 1.193 (unified)

sync with head.

Revision 1.194 / (download) - annotate - [select for diffs], Tue Nov 1 22:49:17 2005 UTC (7 years, 7 months ago) by bjh21
Branch: MAIN
CVS Tags: yamt-vop-base3
Changes since 1.193: +7 -5 lines
Diff to previous 1.193 (unified)

Put the "cache chip bug" message back on a line of its own after the CPU type
is announced, which is where it was before 1997.  This finally stops the
CPU attachment message overflowing a line on an ELC.

Revision 1.181.2.2.2.1 / (download) - annotate - [select for diffs], Sun Oct 30 17:40:58 2005 UTC (7 years, 7 months ago) by riz
Branch: netbsd-2
Changes since 1.181.2.2: +6 -4 lines
Diff to previous 1.181.2.2 (unified) next main 1.181.2.3 (unified)

Pull up following revision(s) (requested by uwe in ticket #5950):
	sys/arch/sparc/sparc/cpu.c: revision 1.193
Compute c_totalsize for split caches correctly: it's max, not sum (and
we even have that documented in cache.h).  Initialize c_nlines for
split caches.
This should fix srmmu cache flush routines for split I/D caches that
has been broken since cache.c revision 1.79 started using c_nlines.

Revision 1.181.2.2.4.1 / (download) - annotate - [select for diffs], Sun Oct 30 17:40:53 2005 UTC (7 years, 7 months ago) by riz
Branch: netbsd-2-1
Changes since 1.181.2.2: +6 -4 lines
Diff to previous 1.181.2.2 (unified) next main 1.181.2.3 (unified)

Pull up following revision(s) (requested by uwe in ticket #5950):
	sys/arch/sparc/sparc/cpu.c: revision 1.193
Compute c_totalsize for split caches correctly: it's max, not sum (and
we even have that documented in cache.h).  Initialize c_nlines for
split caches.
This should fix srmmu cache flush routines for split I/D caches that
has been broken since cache.c revision 1.79 started using c_nlines.

Revision 1.181.2.3 / (download) - annotate - [select for diffs], Sun Oct 30 17:40:49 2005 UTC (7 years, 7 months ago) by riz
Branch: netbsd-2-0
Changes since 1.181.2.2: +6 -4 lines
Diff to previous 1.181.2.2 (unified) to branchpoint 1.181 (unified) next main 1.182 (unified)

Pull up following revision(s) (requested by uwe in ticket #5950):
	sys/arch/sparc/sparc/cpu.c: revision 1.193
Compute c_totalsize for split caches correctly: it's max, not sum (and
we even have that documented in cache.h).  Initialize c_nlines for
split caches.
This should fix srmmu cache flush routines for split I/D caches that
has been broken since cache.c revision 1.79 started using c_nlines.

Revision 1.186.10.1 / (download) - annotate - [select for diffs], Sun Oct 30 02:15:01 2005 UTC (7 years, 7 months ago) by jmc
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.186: +6 -4 lines
Diff to previous 1.186 (unified) next main 1.187 (unified)

Pullup rev 1.193 (requested by uwe in ticket #919)
 Compute c_totalsize for split caches correctly: it's max, not sum (and
 we even have that documented in cache.h). Initialize c_nlines for
 split caches.

 This should fix srmmu cache flush routines for split I/D caches that
 has been broken since cache.c revision 1.79 started using c_nlines.

Revision 1.192.4.1 / (download) - annotate - [select for diffs], Wed Oct 26 08:32:44 2005 UTC (7 years, 7 months ago) by yamt
Branch: yamt-vop
Changes since 1.192: +6 -4 lines
Diff to previous 1.192 (unified)

sync with head

Revision 1.193 / (download) - annotate - [select for diffs], Tue Oct 25 22:12:07 2005 UTC (7 years, 7 months ago) by uwe
Branch: MAIN
CVS Tags: yamt-vop-base2
Changes since 1.192: +6 -4 lines
Diff to previous 1.192 (unified)

Compute c_totalsize for split caches correctly: it's max, not sum (and
we even have that documented in cache.h).  Initialize c_nlines for
split caches.

This should fix srmmu cache flush routines for split I/D caches that
has been broken since cache.c revision 1.79 started using c_nlines.

Revision 1.192 / (download) - annotate - [select for diffs], Sun Jun 19 20:00:28 2005 UTC (8 years ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base, thorpej-vnode-attr-base, thorpej-vnode-attr
Branch point for: yamt-vop, yamt-lazymbuf
Changes since 1.191: +3 -3 lines
Diff to previous 1.191 (unified)

Move common Sun ID PROM definitions into <dev/sun/idprom.h>.

Revision 1.191 / (download) - annotate - [select for diffs], Thu Jun 16 04:17:49 2005 UTC (8 years ago) by briggs
Branch: MAIN
Changes since 1.190: +22 -21 lines
Diff to previous 1.190 (unified)

Rename 'ncpus' to 'sparc_ncpus' to avoid shadow warnings in m.i. code.
Also sprinkle an __UNVOLATILE() for sparc.
n.b. sparc64 'cpus' should probably be renamed to 'cpu_info_list' to
     match i386 et al.

Revision 1.190 / (download) - annotate - [select for diffs], Fri Jun 3 22:15:48 2005 UTC (8 years ago) by martin
Branch: MAIN
Changes since 1.189: +24 -24 lines
Diff to previous 1.189 (unified)

Rename ncpu to ncpus (as other ports call it), to avoid shadow warnings.
Sprinkle some const.

Revision 1.186.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:23 2005 UTC (8 years, 1 month ago) by kent
Branch: kent-audio2
Changes since 1.186: +14 -7 lines
Diff to previous 1.186 (unified) next main 1.187 (unified)

sync with -current

Revision 1.189 / (download) - annotate - [select for diffs], Mon Apr 11 05:56:11 2005 UTC (8 years, 2 months ago) by perseant
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.188: +8 -5 lines
Diff to previous 1.188 (unified)

Ensure that "align" is a power of two before passing it as an argument
to uvm_map().  Approved by pk@.

Revision 1.188 / (download) - annotate - [select for diffs], Sat Apr 9 07:16:38 2005 UTC (8 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.187: +1 -1 lines
Diff to previous 1.187 (unified)

alloc_cpuinfo_global_va: don't bother to specify alignment to uvm_map.
we'll do a partial unmap dance later anyway.  PR/29924.

Revision 1.175.2.4 / (download) - annotate - [select for diffs], Fri Apr 1 14:28:21 2005 UTC (8 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.175.2.3: +8 -4 lines
Diff to previous 1.175.2.3 (unified)

Sync with HEAD.

Revision 1.187 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:34 2005 UTC (8 years, 2 months ago) by yamt
Branch: MAIN
Changes since 1.186: +8 -4 lines
Diff to previous 1.186 (unified)

merge yamt-km branch.
- don't use managed mappings/backing objects for wired memory allocations.
  save some resources like pv_entry.  also fix (most of) PR/27030.
- simplify kernel memory management API.
- simplify pmap bootstrap of some ports.
- some related cleanups.

Revision 1.186.6.1 / (download) - annotate - [select for diffs], Sat Feb 12 15:16:47 2005 UTC (8 years, 4 months ago) by yamt
Branch: yamt-km
Changes since 1.186: +8 -4 lines
Diff to previous 1.186 (unified) next main 1.187 (unified)

- use new apis.
- don't leave page mapped at kva being freed.

Revision 1.175.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:22:29 2004 UTC (8 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.175.2.2: +2 -2 lines
Diff to previous 1.175.2.2 (unified)

Fix the sync with head I botched.

Revision 1.175.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:40:48 2004 UTC (8 years, 9 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.175.2.1: +0 -0 lines
Diff to previous 1.175.2.1 (unified)

Sync with HEAD.

Revision 1.175.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:41:06 2004 UTC (8 years, 10 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.175: +145 -109 lines
Diff to previous 1.175 (unified)

Sync with HEAD

Revision 1.181.2.2 / (download) - annotate - [select for diffs], Mon May 10 14:40:47 2004 UTC (9 years, 1 month ago) by tron
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE
Branch point for: netbsd-2-1, netbsd-2
Changes since 1.181.2.1: +5 -2 lines
Diff to previous 1.181.2.1 (unified) to branchpoint 1.181 (unified)

Pull up revision 1.186 (requested by pk in ticket #277):
viking_module_error: check for unconfigured cpus.

Revision 1.186 / (download) - annotate - [select for diffs], Fri May 7 14:59:26 2004 UTC (9 years, 1 month ago) by pk
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, netbsd-3-base, matt-timespec, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, netbsd-3, kent-audio2
Changes since 1.185: +5 -2 lines
Diff to previous 1.185 (unified)

viking_module_error: check for unconfigured cpus.

Revision 1.181.2.1 / (download) - annotate - [select for diffs], Sat Apr 24 18:29:03 2004 UTC (9 years, 1 month ago) by jdc
Branch: netbsd-2-0
Changes since 1.181: +74 -56 lines
Diff to previous 1.181 (unified)

Pull up revisions 1.183-1.185 (requested by pk in ticket #179)

Many fixes for issues with sparc multi-processor support (includes
fixes to make HyperSPARC MP work).

Revision 1.185 / (download) - annotate - [select for diffs], Sat Apr 17 23:45:40 2004 UTC (9 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.184: +17 -7 lines
Diff to previous 1.184 (unified)

Remove the cache_flush() trampoline; it's no longer directly cross-called.
Instead, implement the MP parts in terms of cross-callable vcache_flush_range()
function.

Revision 1.184 / (download) - annotate - [select for diffs], Sat Apr 17 10:01:11 2004 UTC (9 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.183: +57 -49 lines
Diff to previous 1.183 (unified)

Add support for fast cross call handlers that execute in the trap window
on the destination CPU. The `fast handler' address takes the place of the
unused fourth argument to xcall().

Revision 1.183 / (download) - annotate - [select for diffs], Thu Apr 15 08:11:20 2004 UTC (9 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.182: +4 -4 lines
Diff to previous 1.182 (unified)

xcall: increase spin-out; fix diag output.

Revision 1.182 / (download) - annotate - [select for diffs], Sat Apr 3 17:42:27 2004 UTC (9 years, 2 months ago) by chs
Branch: MAIN
Changes since 1.181: +4 -4 lines
Diff to previous 1.181 (unified)

don't complain about mid == 0 on SUN4D, it's normal there.

Revision 1.181 / (download) - annotate - [select for diffs], Wed Mar 17 17:04:59 2004 UTC (9 years, 3 months ago) by pk
Branch: MAIN
CVS Tags: netbsd-2-0-base
Branch point for: netbsd-2-0
Changes since 1.180: +40 -40 lines
Diff to previous 1.180 (unified)

Rename PROM_getprop*() => prom_getprop*().

Revision 1.180 / (download) - annotate - [select for diffs], Fri Feb 13 11:36:17 2004 UTC (9 years, 4 months ago) by wiz
Branch: MAIN
Changes since 1.179: +10 -10 lines
Diff to previous 1.179 (unified)

Uppercase CPU, plural is CPUs.

Revision 1.179 / (download) - annotate - [select for diffs], Wed Aug 27 15:59:52 2003 UTC (9 years, 9 months ago) by mrg
Branch: MAIN
Changes since 1.178: +5 -5 lines
Diff to previous 1.178 (unified)

change PROM_getprop() from taking a "void **" for the storage, to a
"void *", and do the extra de-reference directly in the function.  this
avoids having to cast dozens of different types to "void **", which sets
of GCC3's strict-aliasing.  testing by martin@

Revision 1.178 / (download) - annotate - [select for diffs], Fri Aug 1 12:29:30 2003 UTC (9 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.177: +4 -3 lines
Diff to previous 1.177 (unified)

Fix initialisation of the module_viking_sun4d structure.

Revision 1.177 / (download) - annotate - [select for diffs], Wed Jul 16 08:08:22 2003 UTC (9 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.176: +15 -4 lines
Diff to previous 1.176 (unified)

viking_getmid(): don't try to read MXCC registers on non-MXCC machines.
cpu_attach(): if `bootmid' could not be determined early set it to the MID
of the first attaching CPU.

Revision 1.176 / (download) - annotate - [select for diffs], Tue Jul 15 00:05:02 2003 UTC (9 years, 11 months ago) by lukem
Branch: MAIN
Changes since 1.175: +4 -1 lines
Diff to previous 1.175 (unified)

__KERNEL_RCSID()

Revision 1.175 / (download) - annotate - [select for diffs], Wed Apr 2 04:35:24 2003 UTC (10 years, 2 months ago) by thorpej
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.174: +7 -7 lines
Diff to previous 1.174 (unified)

Use PAGE_SIZE rather than NBPG.

Revision 1.174 / (download) - annotate - [select for diffs], Wed Feb 26 17:39:07 2003 UTC (10 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.173: +4 -15 lines
Diff to previous 1.173 (unified)

Move all `ID prom' stuff into the prom library.

Revision 1.173 / (download) - annotate - [select for diffs], Thu Jan 23 19:54:35 2003 UTC (10 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.172: +19 -10 lines
Diff to previous 1.172 (unified)

Optimize xcall() et.al. further by maintaining a cpuset mask of all CPUs
marked ready. This saves repeated testing for NULL pointers and the
CPUFLG_READY flag.
Also use a separate flag variable to signal xcall completion. This saves a
load and a pipeline stall.

Revision 1.172 / (download) - annotate - [select for diffs], Thu Jan 23 14:54:33 2003 UTC (10 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.171: +16 -25 lines
Diff to previous 1.171 (unified)

Shave some code off xcall().

Revision 1.171 / (download) - annotate - [select for diffs], Thu Jan 23 11:50:50 2003 UTC (10 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.170: +6 -4 lines
Diff to previous 1.170 (unified)

LWPify cpu_debug_dump().

Revision 1.170 / (download) - annotate - [select for diffs], Tue Jan 21 06:18:41 2003 UTC (10 years, 5 months ago) by sjg
Branch: MAIN
Changes since 1.169: +2 -2 lines
Diff to previous 1.169 (unified)

Don't hide bootmid behind MULTIPROCESSOR.

Revision 1.169 / (download) - annotate - [select for diffs], Mon Jan 20 20:51:33 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.168: +51 -15 lines
Diff to previous 1.168 (unified)

Remove the restriction that the boot CPU must be the first CPU in the order
as it is presented by the PROM. This is actually amazingly less trivial
than it looks at first, since the finding the Module ID that's currently
executing your code is specific for each module type and/or manufacture.

Revision 1.168 / (download) - annotate - [select for diffs], Mon Jan 20 00:55:52 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.167: +3 -3 lines
Diff to previous 1.167 (unified)

xcall(): two more printf => printf_nolog

Revision 1.167 / (download) - annotate - [select for diffs], Sat Jan 18 06:45:01 2003 UTC (10 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.166: +5 -5 lines
Diff to previous 1.166 (unified)

Merge the nathanw_sa branch.

Revision 1.124.4.20 / (download) - annotate - [select for diffs], Fri Jan 17 16:23:28 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.124.4.19: +88 -4 lines
Diff to previous 1.124.4.19 (unified) to branchpoint 1.124 (unified) next main 1.125 (unified)

Sync with HEAD.

Revision 1.166 / (download) - annotate - [select for diffs], Thu Jan 16 17:21:43 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base
Changes since 1.165: +13 -1 lines
Diff to previous 1.165 (unified)

mp_{pause,resume,halt}_cpus(): check for cpus==NULL.

Revision 1.165 / (download) - annotate - [select for diffs], Thu Jan 16 16:58:23 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.164: +1 -2 lines
Diff to previous 1.164 (unified)

Remove some accidental garbage.

Revision 1.164 / (download) - annotate - [select for diffs], Thu Jan 16 16:57:43 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.163: +64 -16 lines
Diff to previous 1.163 (unified)

Rename the current mp_{pause,resume}_cpus() => mp_{pause,resume}_cpus_ddb().
Implement mp_pause_cpus/mp_resume_cpus on top of the PROM services.

Revision 1.163 / (download) - annotate - [select for diffs], Thu Jan 16 16:10:44 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.162: +8 -5 lines
Diff to previous 1.162 (unified)

What do you know.. the prom_cpu{stop,idle,resume} function appear to be
returning a success/fail flag. For now, use it to be informative.

Revision 1.162 / (download) - annotate - [select for diffs], Thu Jan 16 14:49:08 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.161: +25 -3 lines
Diff to previous 1.161 (unified)

* Implement mp_halt_cpus()
* xcall: use printf_nolog()

Revision 1.124.4.19 / (download) - annotate - [select for diffs], Wed Jan 15 18:40:14 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.18: +25 -43 lines
Diff to previous 1.124.4.18 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.161 / (download) - annotate - [select for diffs], Tue Jan 14 17:30:55 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.160: +2 -2 lines
Diff to previous 1.160 (unified)

xcall: raise IPL to splsched() to prevent interrupts that take schedlock.
Otherwise we have a locking order problem with schedlock and xmsglock.

Revision 1.160 / (download) - annotate - [select for diffs], Mon Jan 13 15:50:50 2003 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.159: +8 -31 lines
Diff to previous 1.159 (unified)

remove cpu_hatched, cpu_hatch_sc and cpu_hatchstack.  the first can use
the cpi->flags, the second is unused and the third is also cpi-idle_u.

Revision 1.159 / (download) - annotate - [select for diffs], Mon Jan 13 15:01:16 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.158: +2 -2 lines
Diff to previous 1.158 (unified)

Use print_nolog() from xcall(), to avoid confounding things even further
by re-entering the scheduling code to wakeup syslog waiters.

Revision 1.158 / (download) - annotate - [select for diffs], Sun Jan 12 01:16:07 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.157: +14 -8 lines
Diff to previous 1.157 (unified)

Use per-CPU virtual addresses for pmap_copy_page() & pmap_zero_page().

Revision 1.157 / (download) - annotate - [select for diffs], Fri Jan 10 16:34:16 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.156: +2 -2 lines
Diff to previous 1.156 (unified)

Replace `want_resched' and `want_ast' globals by per-CPU variables.

Revision 1.156 / (download) - annotate - [select for diffs], Thu Jan 9 05:55:30 2003 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.155: +2 -2 lines
Diff to previous 1.155 (unified)

- s/xpmsg11/xpmsg15/
- clean up
- no need to reset the msg.tag

Revision 1.155 / (download) - annotate - [select for diffs], Wed Jan 8 17:22:09 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.154: +1 -2 lines
Diff to previous 1.154 (unified)

Avoid external declaration for the dummy `ross_pend' variable.

Revision 1.124.4.18 / (download) - annotate - [select for diffs], Wed Jan 8 01:44:53 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.17: +8 -4 lines
Diff to previous 1.124.4.17 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.154 / (download) - annotate - [select for diffs], Wed Jan 8 01:20:56 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.153: +8 -4 lines
Diff to previous 1.153 (unified)

Initialise the secondary CPUs' `spc_runtime'.

Revision 1.124.4.17 / (download) - annotate - [select for diffs], Tue Jan 7 21:21:25 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.16: +28 -19 lines
Diff to previous 1.124.4.16 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.153 / (download) - annotate - [select for diffs], Tue Jan 7 16:20:13 2003 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.152: +13 -18 lines
Diff to previous 1.152 (unified)

- add a new message tag for level15 software NMI, and switch ddb to use this
rather than the level13 software intr xpmsg area.  now DDB IPI's don't lock
the xpmsg_lock and we avoid recursion and more.
- don't actually use cpuinfo.msg.lock yet, xpmsg_lock suffices.
- reread the pending register on mbus hypersparc cpus to avoid bugs in the
h/w that cause IPI's to be missed.

Revision 1.152 / (download) - annotate - [select for diffs], Tue Jan 7 13:12:59 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.151: +4 -1 lines
Diff to previous 1.151 (unified)

#include <sys/kernel.h> for `cold'.

Revision 1.151 / (download) - annotate - [select for diffs], Tue Jan 7 10:57:18 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.150: +13 -2 lines
Diff to previous 1.150 (unified)

xcall: use splclock() to prevent interrupts that want the kernel lock.

Revision 1.124.4.16 / (download) - annotate - [select for diffs], Fri Jan 3 19:30:28 2003 UTC (10 years, 5 months ago) by pk
Branch: nathanw_sa
Changes since 1.124.4.15: +3 -3 lines
Diff to previous 1.124.4.15 (unified) to branchpoint 1.124 (unified)

proc0 -> lwp0

Revision 1.124.4.15 / (download) - annotate - [select for diffs], Fri Jan 3 17:25:06 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.14: +17 -10 lines
Diff to previous 1.124.4.14 (unified) to branchpoint 1.124 (unified)

Sync with HEAD (again).

Revision 1.124.4.14 / (download) - annotate - [select for diffs], Fri Jan 3 16:55:25 2003 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.13: +118 -8 lines
Diff to previous 1.124.4.13 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

XXX ALT_SWITCH_CODE is not yet LWP'ified.

Revision 1.150 / (download) - annotate - [select for diffs], Fri Jan 3 16:27:23 2003 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.149: +4 -3 lines
Diff to previous 1.149 (unified)

remove a now bogus comment from xcall()

Revision 1.149 / (download) - annotate - [select for diffs], Fri Jan 3 15:49:11 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.148: +11 -5 lines
Diff to previous 1.148 (unified)

xcall(): consult the `cpuset' argument for posting the cross calls.

Revision 1.148 / (download) - annotate - [select for diffs], Fri Jan 3 09:22:11 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.147: +4 -4 lines
Diff to previous 1.147 (unified)

reverse mailbox physical address check: now warn if it's not I/O space.

Revision 1.147 / (download) - annotate - [select for diffs], Thu Jan 2 09:42:09 2003 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: fvdl_fs64_base
Changes since 1.146: +4 -1 lines
Diff to previous 1.146 (unified)

don't try to setup MXCC registers on non-primary CPU's on systems without
SMP support.

Revision 1.146 / (download) - annotate - [select for diffs], Wed Jan 1 15:51:00 2003 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.145: +17 -3 lines
Diff to previous 1.145 (unified)

prom mailbox map: look for the property `mailbox-virtual' first.

Revision 1.145 / (download) - annotate - [select for diffs], Tue Dec 31 15:10:28 2002 UTC (10 years, 5 months ago) by pk
Branch: MAIN
Changes since 1.144: +101 -8 lines
Diff to previous 1.144 (unified)

* map the PROM CPU mailbox if available.
* map MXCC error/status registers if available.
* add MXCC-specific module error interrupt handler.
* use high priority interrupt level in mp_pause_cpus()

Revision 1.124.4.13 / (download) - annotate - [select for diffs], Sun Dec 29 19:40:21 2002 UTC (10 years, 5 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.12: +62 -71 lines
Diff to previous 1.124.4.12 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.144 / (download) - annotate - [select for diffs], Sat Dec 28 02:35:56 2002 UTC (10 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.143: +5 -5 lines
Diff to previous 1.143 (unified)

rename CPU_READY() to CPU_NOTREADY() seeing that's what it checks.

Revision 1.143 / (download) - annotate - [select for diffs], Sun Dec 22 02:17:24 2002 UTC (10 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.142: +10 -5 lines
Diff to previous 1.142 (unified)

change what 'hw.model' reports to be more inline with other netbsd ports, as
well as reporting the actual machine model & cpu, rather than first configured
CPU.  changes for two machines are:

old:
	hw.model = TMS390Z50 v0 or TMS390Z55 @ 75 MHz, on-chip FPU
	hw.model = SUNW,UltraSPARC @ 143.002 MHz, version 0 FPU

new:
	hw.model = SUNW,SPARCstation-20 (TMS390Z50 v0 or TMS390Z55 @ 75 MHz, on-chip FPU)
	hw.model = SUNW,Ultra-1 (SUNW,UltraSPARC @ 143.002 MHz, version 0 FPU)

as per discussion on port-sparc & port-sparc64.

Revision 1.142 / (download) - annotate - [select for diffs], Sat Dec 21 11:48:55 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.141: +15 -10 lines
Diff to previous 1.141 (unified)

* getcacheinfo_obp(): also initialise the cacheinfo i/d associativity fields
  in the case of a unified cache.
* xcall(): slightly optimise the `wait for other CPUs' loop.

Revision 1.141 / (download) - annotate - [select for diffs], Thu Dec 19 11:20:30 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.140: +4 -2 lines
Diff to previous 1.140 (unified)

Mark CPUs that did not spin up properly and don't enable them later on.

Revision 1.140 / (download) - annotate - [select for diffs], Thu Dec 19 10:38:28 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.139: +36 -57 lines
Diff to previous 1.139 (unified)

Brush-up the generic cross-call routine and use it to implement the SMP
cache flush ops.
Also a standard soft interrupt handler for standard cross-call notification
reserving the NMI level 15 softint for urgent cross calls.

Revision 1.124.4.12 / (download) - annotate - [select for diffs], Thu Dec 19 00:38:01 2002 UTC (10 years, 6 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.11: +11 -4 lines
Diff to previous 1.124.4.11 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.139 / (download) - annotate - [select for diffs], Mon Dec 16 16:59:10 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
CVS Tags: gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw
Changes since 1.138: +3 -3 lines
Diff to previous 1.138 (unified)

The cache flush routines now take a CPU context parameter. This is going
to be necessary in SMP kernels.

Revision 1.138 / (download) - annotate - [select for diffs], Sun Dec 15 15:01:08 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.137: +9 -2 lines
Diff to previous 1.137 (unified)

Disable `unimplemented flush' traps during boot. Keep it disabled on
non-MULTIPROCESSOR kernels.

Revision 1.124.4.11 / (download) - annotate - [select for diffs], Wed Dec 11 06:12:12 2002 UTC (10 years, 6 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.124.4.10: +21 -13 lines
Diff to previous 1.124.4.10 (unified) to branchpoint 1.124 (unified)

Sync with HEAD.

Revision 1.137 / (download) - annotate - [select for diffs], Fri Nov 29 08:29:57 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.136: +6 -7 lines
Diff to previous 1.136 (unified)

Always get the `mid' cpu property. Whine if it's not set on an actual
multi-processor machine.

Revision 1.136 / (download) - annotate - [select for diffs], Fri Nov 29 08:02:05 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.135: +7 -2 lines
Diff to previous 1.135 (unified)

Find the CPU architecture version early in the bootstrap phase, and switch
to the V8 specific .mul/.div/.rem routines while we still have a writable
.text section.

Revision 1.135 / (download) - annotate - [select for diffs], Thu Nov 28 15:29:53 2002 UTC (10 years, 6 months ago) by pk
Branch: MAIN
Changes since 1.134: +11 -7 lines
Diff to previous 1.134 (unified)

Not all sun4m platforms have version 8 sparc CPUs. So go out to the PROM
and get the CPU architecture version from the PROM cpu node `sparc-version'
property.

Revision 1.124.4.10 / (download) - annotate - [select for diffs], Tue Nov 26 14:50:13 2002 UTC (10 years, 6 months ago) by uwe
Branch: nathanw_sa
Changes since 1.124.4.9: +2 -2 lines
Diff to previous 1.124.4.9 (unified) to branchpoint 1.124 (unified)

Make this compile with DDB: s/fpproc/fplwp/

Revision 1.124.4.9 / (download) - annotate - [select for diffs], Fri Oct 18 02:39:58 2002 UTC (10 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.8: +7 -9 lines
Diff to previous 1.124.4.8 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.120.2.7 / (download) - annotate - [select for diffs], Thu Oct 10 18:36:20 2002 UTC (10 years, 8 months ago) by jdolecek
Branch: kqueue
Changes since 1.120.2.6: +7 -9 lines
Diff to previous 1.120.2.6 (unified) next main 1.121 (unified)

sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

Revision 1.134 / (download) - annotate - [select for diffs], Wed Oct 2 16:02:09 2002 UTC (10 years, 8 months ago) by thorpej
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge
Changes since 1.133: +3 -3 lines
Diff to previous 1.133 (unified)

Add trailing ; to CFATTACH_DECL.

Revision 1.133 / (download) - annotate - [select for diffs], Tue Oct 1 18:57:48 2002 UTC (10 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.132: +5 -7 lines
Diff to previous 1.132 (unified)

Use CFATTACH_DECL().

Revision 1.132 / (download) - annotate - [select for diffs], Fri Sep 27 20:35:59 2002 UTC (10 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.131: +3 -3 lines
Diff to previous 1.131 (unified)

Declare all cfattach structures const.

Revision 1.131 / (download) - annotate - [select for diffs], Fri Sep 27 02:24:24 2002 UTC (10 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.130: +3 -3 lines
Diff to previous 1.130 (unified)

Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.

Revision 1.120.2.6 / (download) - annotate - [select for diffs], Fri Sep 6 08:41:06 2002 UTC (10 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.120.2.5: +243 -108 lines
Diff to previous 1.120.2.5 (unified)

sync kqueue branch with HEAD

Revision 1.126.8.3 / (download) - annotate - [select for diffs], Sat Aug 31 14:52:20 2002 UTC (10 years, 9 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.126.8.2: +66 -23 lines
Diff to previous 1.126.8.2 (unified) to branchpoint 1.126 (unified) next main 1.127 (unified)

catch up with -current.

Revision 1.124.4.8 / (download) - annotate - [select for diffs], Tue Aug 27 23:45:38 2002 UTC (10 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.7: +62 -19 lines
Diff to previous 1.124.4.7 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.130 / (download) - annotate - [select for diffs], Fri Aug 23 18:00:47 2002 UTC (10 years, 9 months ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.129: +62 -19 lines
Diff to previous 1.129 (unified)

Add autoconfiguration glue for the Sun4d "cpu-unit".  Each processor
board has 2 CPU units (one for each processor), one of which also has
a "bootbus", to which the serial ports, etc. are attached.

We can now probe/attach CPUs on a SPARCserver 1000.

Revision 1.124.4.7 / (download) - annotate - [select for diffs], Tue Aug 13 02:18:54 2002 UTC (10 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.6: +5 -5 lines
Diff to previous 1.124.4.6 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.129 / (download) - annotate - [select for diffs], Fri Aug 9 14:46:04 2002 UTC (10 years, 10 months ago) by tsutsui
Branch: MAIN
Changes since 1.128: +5 -5 lines
Diff to previous 1.128 (unified)

Fix cacheinfo.c_nlines for sun4 and sun4c machines.
(they are not used anyway..)

Revision 1.124.4.6 / (download) - annotate - [select for diffs], Thu Aug 1 02:43:27 2002 UTC (10 years, 10 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.5: +178 -86 lines
Diff to previous 1.124.4.5 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.126.8.2 / (download) - annotate - [select for diffs], Sun Jul 21 13:00:53 2002 UTC (10 years, 11 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.126.8.1: +178 -86 lines
Diff to previous 1.126.8.1 (unified) to branchpoint 1.126 (unified)

catch up with -current.

Revision 1.128 / (download) - annotate - [select for diffs], Wed Jul 17 15:56:20 2002 UTC (10 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.127: +178 -86 lines
Diff to previous 1.127 (unified)

More cache/cpu stuff common to sun4m and sun4d.  Note the sun4d
machines always use the Viking CPU, and cache info is not available
from the PROM, so we have to hard-code it in that case.

Rearrange some stuff to make it easier to share.

Revision 1.126.8.1 / (download) - annotate - [select for diffs], Mon Jul 15 01:21:18 2002 UTC (10 years, 11 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.126: +1 -2 lines
Diff to previous 1.126 (unified)

catch up with -current.

Revision 1.124.4.5 / (download) - annotate - [select for diffs], Mon Jun 24 22:07:31 2002 UTC (10 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.4: +2 -2 lines
Diff to previous 1.124.4.4 (unified) to branchpoint 1.124 (unified)

Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).

Revision 1.120.2.5 / (download) - annotate - [select for diffs], Sun Jun 23 17:41:48 2002 UTC (10 years, 11 months ago) by jdolecek
Branch: kqueue
Changes since 1.120.2.4: +1 -2 lines
Diff to previous 1.120.2.4 (unified)

catch up with -current on kqueue branch

Revision 1.124.4.4 / (download) - annotate - [select for diffs], Thu Jun 20 03:41:05 2002 UTC (11 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.3: +1 -2 lines
Diff to previous 1.124.4.3 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.127 / (download) - annotate - [select for diffs], Sun Jun 2 14:44:38 2002 UTC (11 years ago) by drochner
Branch: MAIN
Changes since 1.126: +1 -2 lines
Diff to previous 1.126 (unified)

move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling

Revision 1.124.4.3 / (download) - annotate - [select for diffs], Thu Feb 28 04:12:06 2002 UTC (11 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.2: +5 -1 lines
Diff to previous 1.124.4.2 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.120.2.4 / (download) - annotate - [select for diffs], Mon Feb 11 20:09:05 2002 UTC (11 years, 4 months ago) by jdolecek
Branch: kqueue
Changes since 1.120.2.3: +5 -1 lines
Diff to previous 1.120.2.3 (unified)

Sync w/ -current.

Revision 1.126 / (download) - annotate - [select for diffs], Fri Jan 25 17:40:45 2002 UTC (11 years, 4 months ago) by pk
Branch: MAIN
CVS Tags: newlock-base, newlock, netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001, netbsd-1-6, ifpoll-base, ifpoll, eeh-devprop-base, eeh-devprop
Branch point for: gehenna-devsw
Changes since 1.125: +5 -1 lines
Diff to previous 1.125 (unified)

Implement the sun4c hardware-assisted page flush operation in a separate
function.

Revision 1.120.2.3 / (download) - annotate - [select for diffs], Thu Jan 10 19:48:57 2002 UTC (11 years, 5 months ago) by thorpej
Branch: kqueue
Changes since 1.120.2.2: +35 -36 lines
Diff to previous 1.120.2.2 (unified)

Sync kqueue branch with -current.

Revision 1.124.4.2 / (download) - annotate - [select for diffs], Tue Jan 8 00:27:43 2002 UTC (11 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124.4.1: +1803 -0 lines
Diff to previous 1.124.4.1 (unified) to branchpoint 1.124 (unified)

Catch up to -current.

Revision 1.125 / (download) - annotate - [select for diffs], Tue Dec 4 00:05:06 2001 UTC (11 years, 6 months ago) by darrenr
Branch: MAIN
Changes since 1.124: +2 -1 lines
Diff to previous 1.124 (unified)

defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U
into opt_arch_sparc.h and include this wherever they are used.

Revision 1.121.2.2 / (download) - annotate - [select for diffs], Thu Oct 11 00:01:52 2001 UTC (11 years, 8 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.121.2.1: +2 -4 lines
Diff to previous 1.121.2.1 (unified) to branchpoint 1.121 (unified) next main 1.122 (unified)

Catch up with -current. Fix some bogons in the sparc64 kbd/ms
attach code. cd18xx conversion provided by mrg.

Revision 1.124.4.1, Wed Oct 3 09:40:12 2001 UTC (11 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.124: +0 -1802 lines
FILE REMOVED

file cpu.c was added on branch nathanw_sa on 2002-01-08 00:27:43 +0000

Revision 1.124 / (download) - annotate - [select for diffs], Wed Oct 3 09:40:12 2001 UTC (11 years, 8 months ago) by chs
Branch: MAIN
CVS Tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3
Branch point for: nathanw_sa
Changes since 1.123: +2 -4 lines
Diff to previous 1.123 (unified)

use pmap_k{enter_pa,remove}() where appropriate.

Revision 1.121.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:42:08 2001 UTC (11 years, 8 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.121: +34 -34 lines
Diff to previous 1.121 (unified)

Catch up with -current.

Revision 1.123 / (download) - annotate - [select for diffs], Wed Sep 26 20:53:08 2001 UTC (11 years, 8 months ago) by eeh
Branch: MAIN
CVS Tags: thorpej-devvp-base2
Changes since 1.122: +33 -33 lines
Diff to previous 1.122 (unified)

getprop* -> PROM_getprop*

Revision 1.120.2.2 / (download) - annotate - [select for diffs], Thu Sep 13 01:14:35 2001 UTC (11 years, 9 months ago) by thorpej
Branch: kqueue
Changes since 1.120.2.1: +2 -2 lines
Diff to previous 1.120.2.1 (unified)

Update the kqueue branch to HEAD.

Revision 1.122 / (download) - annotate - [select for diffs], Mon Sep 10 21:19:24 2001 UTC (11 years, 9 months ago) by chris
Branch: MAIN
CVS Tags: pre-chs-ubcperf, post-chs-ubcperf
Changes since 1.121: +2 -2 lines
Diff to previous 1.121 (unified)

Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.

Revision 1.120.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:12:20 2001 UTC (11 years, 10 months ago) by lukem
Branch: kqueue
Changes since 1.120: +104 -3 lines
Diff to previous 1.120 (unified)

update to -current

Revision 1.121 / (download) - annotate - [select for diffs], Tue Jul 10 15:15:24 2001 UTC (11 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Changes since 1.120: +104 -3 lines
Diff to previous 1.120 (unified)

use CPU_READY().  add cross_call() code.

Revision 1.120 / (download) - annotate - [select for diffs], Sat Jul 7 20:09:15 2001 UTC (11 years, 11 months ago) by mrg
Branch: MAIN
Branch point for: kqueue
Changes since 1.119: +22 -11 lines
Diff to previous 1.119 (unified)

- replace CPUFLG_STARTUP with new CPUFLG_READY scheme, used after startup has
occured.  cpus now spin waiting for new `go_smp_cpus' variable to go non-zero.
- new xpmsg_lock that must held around all cross call activity.  new macros:
LOCK_XPMSG() and UNLOCK_XPMSG().
- delete delay(1)/cache_flush gone from raise_ipi_wait_and_unlock(), it incurred
a stupid performance penalty.

Revision 1.114.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 19:34:54 2001 UTC (12 years ago) by nathanw
Changes since 1.114.2.1: +56 -20 lines
Diff to previous 1.114.2.1 (unified) next main 1.115 (unified)

Catch up to -current.

Revision 1.119 / (download) - annotate - [select for diffs], Thu Jun 7 17:59:47 2001 UTC (12 years ago) by mrg
Branch: MAIN
Changes since 1.118: +54 -19 lines
Diff to previous 1.118 (unified)

more SMP work:

make IPI's work.  modify boot_secondary_processors() to clear the startup flag
in each cpu.  new raise_ipi_wait_and_unlock() that calls raise_ipi(), waits
for the cpu to acknowledge it got the message, and then unlocks the msglock.
use the new framework in mp_{pause,resume}_cpus().  nmi_soft() takes a
`struct trapframe *', to be used by ddb.

Revision 1.118 / (download) - annotate - [select for diffs], Sat May 26 21:27:14 2001 UTC (12 years ago) by chs
Branch: MAIN
Changes since 1.117: +2 -2 lines
Diff to previous 1.117 (unified)

replace vm_page_t with struct vm_page *.

Revision 1.117 / (download) - annotate - [select for diffs], Tue Apr 24 04:31:11 2001 UTC (12 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_beforemerge
Changes since 1.116: +2 -1 lines
Diff to previous 1.116 (unified)

Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.

Revision 1.114.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:54:51 2001 UTC (12 years, 2 months ago) by nathanw
Changes since 1.114: +67 -37 lines
Diff to previous 1.114 (unified)

Catch up with -current.

Revision 1.94.2.5 / (download) - annotate - [select for diffs], Tue Mar 27 15:31:29 2001 UTC (12 years, 2 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.94.2.4: +32 -1 lines
Diff to previous 1.94.2.4 (unified) to branchpoint 1.94 (unified) next main 1.95 (unified)

Sync with HEAD.

Revision 1.116 / (download) - annotate - [select for diffs], Fri Mar 16 10:26:11 2001 UTC (12 years, 3 months ago) by mrg
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase, thorpej_scsipi_base
Changes since 1.115: +32 -1 lines
Diff to previous 1.115 (unified)

#ifdef DDB, add new function cpu_debug_dump().  define CPU_INFO_ITERATOR and
CPU_INFO_FOREACH.

Revision 1.94.2.4 / (download) - annotate - [select for diffs], Mon Mar 12 13:29:22 2001 UTC (12 years, 3 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.94.2.3: +56 -41 lines
Diff to previous 1.94.2.3 (unified) to branchpoint 1.94 (unified)

Sync with HEAD.

Revision 1.115 / (download) - annotate - [select for diffs], Tue Mar 6 13:39:22 2001 UTC (12 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.114: +36 -37 lines
Diff to previous 1.114 (unified)

* A couple of `#if defined(SUN4M)' should be `#if defined(MULTIPROCESSOR)'
* Print notice if not all CPUs were attached
* Switch to SMP version of cache flush routines in just one place: in
  cpu_attach() after all known CPUs have been configured.

Revision 1.114 / (download) - annotate - [select for diffs], Mon Mar 5 16:45:22 2001 UTC (12 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.113: +7 -1 lines
Diff to previous 1.113 (unified)

mp_{pause,resume}_cpu(): avoid crash when cpu(s) not yet configured.

Revision 1.113 / (download) - annotate - [select for diffs], Sat Mar 3 19:40:28 2001 UTC (12 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.112: +8 -3 lines
Diff to previous 1.112 (unified)

alloc_cpuinfo: zero all the memory we allocate; not just the `cpuinfo' part.
cpu_attach: initialize `curpcb->pcb_wim' for each additional CPU.

Revision 1.112 / (download) - annotate - [select for diffs], Fri Mar 2 17:00:13 2001 UTC (12 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.111: +2 -2 lines
Diff to previous 1.111 (unified)

Initialize the IPI message locks.

Revision 1.111 / (download) - annotate - [select for diffs], Wed Feb 28 14:45:23 2001 UTC (12 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.110: +7 -2 lines
Diff to previous 1.110 (unified)

Make sure that e.g. myetheraddr() has a valid idprom pointer as soon as
possible on sun4, since it may be used before the clock attaches.

Revision 1.94.2.3 / (download) - annotate - [select for diffs], Sun Feb 11 19:12:21 2001 UTC (12 years, 4 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.94.2.2: +2 -2 lines
Diff to previous 1.94.2.2 (unified) to branchpoint 1.94 (unified)

Sync with HEAD.

Revision 1.110 / (download) - annotate - [select for diffs], Sun Jan 21 07:48:30 2001 UTC (12 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.109: +2 -2 lines
Diff to previous 1.109 (unified)

fix bit rot so that MP kernel compiles s/cpu_no/ci_cpuid/

Revision 1.94.2.2 / (download) - annotate - [select for diffs], Wed Nov 22 16:01:40 2000 UTC (12 years, 6 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.94.2.1: +4 -4 lines
Diff to previous 1.94.2.1 (unified) to branchpoint 1.94 (unified)

Sync with HEAD.

Revision 1.94.2.1 / (download) - annotate - [select for diffs], Mon Nov 20 20:25:43 2000 UTC (12 years, 7 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.94: +169 -66 lines
Diff to previous 1.94 (unified)

Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.

Revision 1.109 / (download) - annotate - [select for diffs], Sat Nov 11 12:12:46 2000 UTC (12 years, 7 months ago) by pk
Branch: MAIN
Changes since 1.108: +4 -4 lines
Diff to previous 1.108 (unified)

Rename storage for the sun4 idprom structure to `sun4_idprom_store'.

Revision 1.108 / (download) - annotate - [select for diffs], Tue Sep 19 13:44:35 2000 UTC (12 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.107: +15 -7 lines
Diff to previous 1.107 (unified)

MULTIPROCESSOR: if the cache flush functions are no-ops on a single
processor, they can be no-ops in the MP case as well.

Revision 1.104.2.1 / (download) - annotate - [select for diffs], Tue Sep 12 13:43:55 2000 UTC (12 years, 9 months ago) by pk
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA
Changes since 1.104: +17 -2 lines
Diff to previous 1.104 (unified) next main 1.105 (unified)

Pullup rev. 1.106->1.107 (approved by thorpej):

> revision 1.107
> date: 2000/09/10 11:32:04;  author: pk;  state: Exp;  lines: +17 -2
> Turn off page zeroing in the idle loop; an unidentified bug causes (very
> sporadic) user process corruption.

(actually applies to Microsparc 1 machines only).

Revision 1.107 / (download) - annotate - [select for diffs], Sun Sep 10 11:32:04 2000 UTC (12 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.106: +17 -2 lines
Diff to previous 1.106 (unified)

Turn off page zeroing in the idle loop; an unidentified bug causes (very
sporadic) user process corruption.

Revision 1.106 / (download) - annotate - [select for diffs], Thu Jun 29 07:40:09 2000 UTC (12 years, 11 months ago) by mrg
Branch: MAIN
Changes since 1.105: +1 -3 lines
Diff to previous 1.105 (unified)

remove include of <vm/vm.h> and <machine/pmap.h>. <vm/vm.h> -> <uvm/uvm_extern.h>

Revision 1.105 / (download) - annotate - [select for diffs], Mon Jun 26 14:20:57 2000 UTC (12 years, 11 months ago) by mrg
Branch: MAIN
Changes since 1.104: +1 -3 lines
Diff to previous 1.104 (unified)

remove/move more mach vm header files:

	<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.

Revision 1.98.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 17:04:07 2000 UTC (13 years ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.98: +81 -39 lines
Diff to previous 1.98 (unified) next main 1.99 (unified)

Sync w/ netbsd-1-5-base.

Revision 1.104 / (download) - annotate - [select for diffs], Mon Jun 5 20:38:25 2000 UTC (13 years ago) by pk
Branch: MAIN
CVS Tags: netbsd-1-5-base, netbsd-1-5-ALPHA2
Branch point for: netbsd-1-5
Changes since 1.103: +12 -12 lines
Diff to previous 1.103 (unified)

Re-arrange code to flush physically indexed caches:

* replace `flush by line' function with a `flush by page' funtion, which
  also takes an argument to indicate that write-back caches need not
  validate its backing memory.

* use this function when allocating page table memory to flush the cache
  before mapping it into kernel virtual space.

* also use it in pmap_{zero,copy}_page(), so we can safely use non-cacheable
  access in there.

Revision 1.103 / (download) - annotate - [select for diffs], Sat Jun 3 09:56:35 2000 UTC (13 years ago) by pk
Branch: MAIN
Changes since 1.102: +9 -3 lines
Diff to previous 1.102 (unified)

Make sure to have the cache info before allocating the global cpu_info
virtual addresses.

Revision 1.102 / (download) - annotate - [select for diffs], Fri Jun 2 08:12:29 2000 UTC (13 years ago) by pk
Branch: MAIN
Changes since 1.101: +4 -1 lines
Diff to previous 1.101 (unified)

Re-initialize `proc0.p_cpu' after allocating the global `cpu_info'
address for the boot cpu (XXX)

Revision 1.101 / (download) - annotate - [select for diffs], Wed May 31 12:26:15 2000 UTC (13 years ago) by pk
Branch: MAIN
Changes since 1.100: +4 -3 lines
Diff to previous 1.100 (unified)

Initialize `ci_self' on all CPUs.
Check `cpuinfo' pointers in mp_pause_cpus() & mp_resume_cpus()

Revision 1.100 / (download) - annotate - [select for diffs], Wed May 31 11:23:21 2000 UTC (13 years ago) by pk
Branch: MAIN
Changes since 1.99: +2 -2 lines
Diff to previous 1.99 (unified)

Fix a couple of typos.

Revision 1.99 / (download) - annotate - [select for diffs], Wed May 31 05:28:28 2000 UTC (13 years ago) by thorpej
Branch: MAIN
Changes since 1.98: +57 -25 lines
Diff to previous 1.98 (unified)

- In the MULTIPROCESSOR case, initialize p_cpu before a process is
  marked SONPROC.
- Fix a bug where all cpu_info structures except for the boot CPUs
  would exist at both a CPU-local VA (CPUINFO_VA) and a gloal VA;
  The boot CPU's existed only a CPUINFO_VA.
- Add a self-reference pointer to the cpu_info that references the
  global address in the MULTIPROCESSOR case.  Just allow it to reference
  the `local' VA in the single-processor case, as CPUINFO_VA is global
  enough when there's only one processor to care about.  Change curcpu()
  to return the global address.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Apr 30 21:09:46 2000 UTC (13 years, 1 month ago) by pk
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.97: +37 -15 lines
Diff to previous 1.97 (unified)

Allow for CPU specific page clear and page copy functions.

Revision 1.94.8.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:33:50 1999 UTC (13 years, 5 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.94: +23 -3 lines
Diff to previous 1.94 (unified) next main 1.95 (unified)

Pull up to last week's -current.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Dec 16 20:24:58 1999 UTC (13 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, chs-ubc2-newbase
Changes since 1.96: +17 -1 lines
Diff to previous 1.96 (unified)

Provide cpu_boot_secondary_cpus().

Revision 1.92.6.1 / (download) - annotate - [select for diffs], Tue Nov 30 13:32:55 1999 UTC (13 years, 6 months ago) by itojun
Branch: kame
CVS Tags: kame_141_19991130
Changes since 1.92: +12 -14 lines
Diff to previous 1.92 (unified) next main 1.93 (unified)

bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code).  Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.

Revision 1.96 / (download) - annotate - [select for diffs], Sat Nov 27 14:54:53 1999 UTC (13 years, 6 months ago) by mrg
Branch: MAIN
Changes since 1.95: +5 -2 lines
Diff to previous 1.95 (unified)

add some missing #ifdef SUN4M to the MP-handling code.

Revision 1.94.4.1 / (download) - annotate - [select for diffs], Mon Nov 15 00:39:17 1999 UTC (13 years, 7 months ago) by fvdl
Branch: fvdl-softdep
Changes since 1.94: +3 -2 lines
Diff to previous 1.94 (unified) next main 1.95 (unified)

Sync with -current

Revision 1.95 / (download) - annotate - [select for diffs], Sat Nov 13 00:32:14 1999 UTC (13 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: fvdl-softdep-base
Changes since 1.94: +3 -2 lines
Diff to previous 1.94 (unified)

Update for pmap_enter() API change.  No functional difference.

Revision 1.92.4.2 / (download) - annotate - [select for diffs], Thu Jul 1 23:22:13 1999 UTC (13 years, 11 months ago) by thorpej
Branch: chs-ubc2
Changes since 1.92.4.1: +11 -11 lines
Diff to previous 1.92.4.1 (unified) to branchpoint 1.92 (unified) next main 1.93 (unified)

Sync w/ -current.

Revision 1.92.2.2 / (download) - annotate - [select for diffs], Fri Jun 25 20:57:51 1999 UTC (13 years, 11 months ago) by perry
Branch: netbsd-1-4
CVS Tags: netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001
Changes since 1.92.2.1: +11 -11 lines
Diff to previous 1.92.2.1 (unified) to branchpoint 1.92 (unified) next main 1.93 (unified)

pullup 1.93->1.94 (pk)

Revision 1.94 / (download) - annotate - [select for diffs], Thu Jun 24 20:22:12 1999 UTC (13 years, 11 months ago) by pk
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base
Branch point for: wrstuden-devbsize, thorpej_scsipi, fvdl-softdep
Changes since 1.93: +11 -11 lines
Diff to previous 1.93 (unified)

When overriding cache flush functions for specific cpu models, make
sure to update the correct function pointers in `cpuinfo'.

Revision 1.92.2.1 / (download) - annotate - [select for diffs], Tue Jun 22 16:45:17 1999 UTC (14 years ago) by perry
Branch: netbsd-1-4
Changes since 1.92: +2 -4 lines
Diff to previous 1.92 (unified)

pullup 1.92->1.93 (pk): support for hypersparc CPU modules

Revision 1.92.4.1 / (download) - annotate - [select for diffs], Mon Jun 21 01:01:46 1999 UTC (14 years ago) by thorpej
Branch: chs-ubc2
Changes since 1.92: +2 -4 lines
Diff to previous 1.92 (unified)

Sync w/ -current.

Revision 1.93 / (download) - annotate - [select for diffs], Thu May 20 10:06:39 1999 UTC (14 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.92: +2 -4 lines
Diff to previous 1.92 (unified)

Operate Hypersparc cache in write-back mode again.
Remove `hypersparc under construction' message.

Revision 1.92 / (download) - annotate - [select for diffs], Wed Mar 31 14:09:09 1999 UTC (14 years, 2 months ago) by pk
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, kame_14_19990705, kame_14_19990628
Branch point for: netbsd-1-4, kame, chs-ubc2
Changes since 1.91: +7 -2 lines
Diff to previous 1.91 (unified)

* Pull in more uvm prototypes.
* Retrieve MID on all modules.

Revision 1.91 / (download) - annotate - [select for diffs], Fri Mar 26 23:41:35 1999 UTC (14 years, 2 months ago) by mycroft
Branch: MAIN
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (unified)

Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
  because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
  avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot.  Also, DO NOT use
  pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
  access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
  access_type = 0.  This should probably be revisited.

Revision 1.90 / (download) - annotate - [select for diffs], Wed Mar 24 05:51:11 1999 UTC (14 years, 3 months ago) by mrg
Branch: MAIN
Changes since 1.89: +2 -8 lines
Diff to previous 1.89 (unified)

completely remove Mach VM support.  all that is left is the all the
header files as UVM still uses (most of) these.

Revision 1.89 / (download) - annotate - [select for diffs], Wed Mar 17 23:21:38 1999 UTC (14 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.88: +3 -2 lines
Diff to previous 1.88 (unified)

Shouldn't call getpropint() on  old proms: only get a CPU's `mid' if needed.

Revision 1.88 / (download) - annotate - [select for diffs], Sat Feb 27 13:11:21 1999 UTC (14 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.87: +42 -34 lines
Diff to previous 1.87 (unified)

Do not call printf() from a CPU that is spinning up; defer the probe
messages to cpu_attach() where the boot processor takes care of them.
This also necessitates a slight change in the way the FPU name is stored.

Revision 1.87 / (download) - annotate - [select for diffs], Sun Feb 14 12:48:01 1999 UTC (14 years, 4 months ago) by pk
Branch: MAIN
Changes since 1.86: +2 -2 lines
Diff to previous 1.86 (unified)

Use the PROMLIB interface.

Revision 1.86.2.1 / (download) - annotate - [select for diffs], Mon Nov 9 06:06:29 1998 UTC (14 years, 7 months ago) by chs
Branch: chs-ubc
Changes since 1.86: +5 -1 lines
Diff to previous 1.86 (unified) next main 1.87 (unified)

initial snapshot.  lots left to do.

Revision 1.86 / (download) - annotate - [select for diffs], Sat Oct 24 08:12:55 1998 UTC (14 years, 7 months ago) by pk
Branch: MAIN
CVS Tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base
Branch point for: chs-ubc
Changes since 1.85: +13 -9 lines
Diff to previous 1.85 (unified)

Define and use CPU pause/resume IPI messages (until such times that I know
what the prom supplied versions actually do).

Revision 1.85 / (download) - annotate - [select for diffs], Wed Oct 14 14:22:18 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.84: +4 -6 lines
Diff to previous 1.84 (unified)

Don't allocate two stacks per CPU.
Minor attach-time message change.

Revision 1.84 / (download) - annotate - [select for diffs], Tue Oct 13 21:08:48 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.83: +2 -3 lines
Diff to previous 1.83 (unified)

`ncpu != 0' doesn't make much sense when deciding what CP info to print.

Revision 1.83 / (download) - annotate - [select for diffs], Tue Oct 13 13:37:14 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.82: +3 -1 lines
Diff to previous 1.82 (unified)

We use MULTIPROCESSOR explicitly here, so pull in "opt_multiprocessor.h".

Revision 1.82 / (download) - annotate - [select for diffs], Tue Oct 13 11:33:36 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.81: +2 -1 lines
Diff to previous 1.81 (unified)

Add missing `return'.

Revision 1.81 / (download) - annotate - [select for diffs], Mon Oct 12 20:56:48 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.80: +12 -13 lines
Diff to previous 1.80 (unified)

Make `cpcb' (current u.area) a per-CPU variable.
Brace some MP-only code with `#ifdef MULTIPROCESSOR'.

Revision 1.80 / (download) - annotate - [select for diffs], Sun Oct 11 23:21:02 1998 UTC (14 years, 8 months ago) by chuck
Branch: MAIN
Changes since 1.79: +3 -3 lines
Diff to previous 1.79 (unified)

remove unused share map code from UVM:
 - update calls to uvm_unmap_remove/uvm_unmap (mainonly boolean arg
        has been removed)

Revision 1.79 / (download) - annotate - [select for diffs], Sun Oct 11 14:46:46 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.78: +23 -9 lines
Diff to previous 1.78 (unified)

Allocate a private PCB, kernel stack and interrupt stack for each processor.
As a result, the stack setup code in locore.s changes slightly in
the MULTIPROCESSOR case. Also, make the stack redzone barrier (for
debugging only) a per-CPU entity.

Revision 1.78 / (download) - annotate - [select for diffs], Fri Oct 9 10:08:52 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.77: +26 -21 lines
Diff to previous 1.77 (unified)

More `#if defined(MULTIPROCESSOR)'s.

Revision 1.77 / (download) - annotate - [select for diffs], Thu Oct 8 22:14:44 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.76: +67 -45 lines
Diff to previous 1.76 (unified)

Find out about the number of CPUs in the system before starting device
configuration, so we can build a cpus[] array without "holes".

Revision 1.76 / (download) - annotate - [select for diffs], Wed Sep 30 18:38:57 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.75: +1 -2 lines
Diff to previous 1.75 (unified)

Make the current FPU owner (`fpproc') a per-CPU entity. Unresolved issue
as yet: lazy FPU context switching may require co-operation from other
CPUs.

Revision 1.75 / (download) - annotate - [select for diffs], Sat Sep 26 20:13:56 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.74: +35 -1 lines
Diff to previous 1.74 (unified)

Implement mp_pause_cpus() and mp_resume_cpus(): pause and resume all
CPUs except the one running this code.

Revision 1.74 / (download) - annotate - [select for diffs], Sat Sep 26 19:09:56 1998 UTC (14 years, 8 months ago) by pk
Branch: MAIN
Changes since 1.73: +6 -9 lines
Diff to previous 1.73 (unified)

Use CPU start function in obp.c

Revision 1.73 / (download) - annotate - [select for diffs], Tue Sep 22 13:39:20 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.72: +12 -2 lines
Diff to previous 1.72 (unified)

Introduce a `flush entire cache' method.

Revision 1.72 / (download) - annotate - [select for diffs], Tue Sep 22 13:08:44 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.71: +5 -1 lines
Diff to previous 1.71 (unified)

Keep the per-processor interrupt status in the cpuinfo structure.
For now, map them to the fixed virtual addresses set up early in autoconf.c

Revision 1.71 / (download) - annotate - [select for diffs], Mon Sep 21 10:29:20 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.70: +7 -4 lines
Diff to previous 1.70 (unified)

We no longer need to access memerr() through a function pointer.

Revision 1.70 / (download) - annotate - [select for diffs], Sun Sep 20 19:37:50 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.69: +34 -19 lines
Diff to previous 1.69 (unified)

Split memory fault status function into `synchronous' and `asynchronous'
versions.

Revision 1.69 / (download) - annotate - [select for diffs], Wed Sep 16 13:36:23 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.68: +8 -2 lines
Diff to previous 1.68 (unified)

Make all cpu info structures accessible through an array `cpus[_MAXNCPUS]'.

Revision 1.68 / (download) - annotate - [select for diffs], Tue Sep 15 13:12:25 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.67: +4 -1 lines
Diff to previous 1.67 (unified)

sub-arch protection.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Sep 14 10:37:12 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.66: +38 -38 lines
Diff to previous 1.66 (unified)

Collect redundant code into cpu_setup().

Revision 1.66 / (download) - annotate - [select for diffs], Sat Sep 12 15:33:40 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.65: +97 -20 lines
Diff to previous 1.65 (unified)

Machinery to configure multiple CPUs. All CPUs found are spun up from the
auto-configuration cpu_attach() function using the firmware.
Currently, all CPUs except the one used to boot end up in an idle loop
in locore.

Revision 1.65 / (download) - annotate - [select for diffs], Mon Sep 7 23:02:40 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.64: +144 -80 lines
Diff to previous 1.64 (unified)

De-couple the CPU info structure from auto-configuration structures.

Revision 1.64 / (download) - annotate - [select for diffs], Sun Sep 6 21:14:57 1998 UTC (14 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.63: +22 -10 lines
Diff to previous 1.63 (unified)

Sanitize memerr*() a bit.

Revision 1.63 / (download) - annotate - [select for diffs], Sun Jul 26 23:35:34 1998 UTC (14 years, 10 months ago) by pk
Branch: MAIN
CVS Tags: eeh-paddr_t-base, eeh-paddr_t
Changes since 1.62: +20 -9 lines
Diff to previous 1.62 (unified)

Add a cpu-specific function to flush a pure virtually-indexed/virtually-tagged
cache, which needs to be flushed at context switch.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Mar 21 20:34:59 1998 UTC (15 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.61: +5 -5 lines
Diff to previous 1.61 (unified)

Account for changed bus attachment scheme.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Jan 12 20:24:07 1998 UTC (15 years, 5 months ago) by thorpej
Branch: MAIN
Changes since 1.60: +1 -5 lines
Diff to previous 1.60 (unified)

Update for changes to config.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Nov 22 03:13:57 1997 UTC (15 years, 7 months ago) by tv
Branch: MAIN
Changes since 1.59: +4 -1 lines
Diff to previous 1.59 (unified)

eliminate declarations of global data in <sparc/cpu.h> and declare in
source files, reducing global symblol replication in .o kernel files

Revision 1.52.2.5 / (download) - annotate - [select for diffs], Tue Oct 14 10:18:44 1997 UTC (15 years, 8 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.52.2.4: +2 -2 lines
Diff to previous 1.52.2.4 (unified) to branchpoint 1.52 (unified) next main 1.53 (unified)

Update marc-pcmcia branch from trunk.

Revision 1.59 / (download) - annotate - [select for diffs], Thu Oct 2 04:23:09 1997 UTC (15 years, 8 months ago) by christos
Branch: MAIN
CVS Tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-base
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (unified)

Oops, missed a space in previous formatting change.

Revision 1.52.2.4 / (download) - annotate - [select for diffs], Mon Sep 29 07:20:37 1997 UTC (15 years, 8 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.52.2.3: +15 -16 lines
Diff to previous 1.52.2.3 (unified) to branchpoint 1.52 (unified)

Update marc-pcmcia branch from trunk.

Revision 1.58 / (download) - annotate - [select for diffs], Mon Sep 22 20:34:45 1997 UTC (15 years, 9 months ago) by christos
Branch: MAIN
Changes since 1.57: +15 -16 lines
Diff to previous 1.57 (unified)

Fix printf formatting; remove extra spaces, add : at the end.

Revision 1.52.2.3 / (download) - annotate - [select for diffs], Mon Sep 22 06:32:30 1997 UTC (15 years, 9 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.52.2.2: +22 -12 lines
Diff to previous 1.52.2.2 (unified) to branchpoint 1.52 (unified)

Update marc-pcmcia branch from trunk.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Sep 18 20:29:15 1997 UTC (15 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.56: +17 -7 lines
Diff to previous 1.56 (unified)

Check for the `VIKING_PCR_TC' being set, just in case. If it isn't set,
delay the use of the `CPUFLG_CACHEPAGETABLES' flag.

Revision 1.52.2.2 / (download) - annotate - [select for diffs], Tue Sep 16 03:49:12 1997 UTC (15 years, 9 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.52.2.1: +14 -2 lines
Diff to previous 1.52.2.1 (unified) to branchpoint 1.52 (unified)

Update marc-pcmcia branch from trunk.

Revision 1.56 / (download) - annotate - [select for diffs], Mon Sep 15 20:52:36 1997 UTC (15 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.55: +6 -6 lines
Diff to previous 1.55 (unified)

Hard-code a couple of sun4 cpu-clock speeds.
Fix a printf formatting glitch.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Sep 10 19:11:23 1997 UTC (15 years, 9 months ago) by pk
Branch: MAIN
Changes since 1.54: +14 -2 lines
Diff to previous 1.54 (unified)

Turn off "branch folding" in microsparc II processors. This seems to
avoid strange panics happening. Patch suggested by Chris Torek.

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Sat Aug 23 07:12:11 1997 UTC (15 years, 10 months ago) by thorpej
Branch: marc-pcmcia
Changes since 1.52: +10 -5 lines
Diff to previous 1.52 (unified)

Update marc-pcmcia branch from trunk.

Revision 1.54 / (download) - annotate - [select for diffs], Tue Aug 5 10:40:21 1997 UTC (15 years, 10 months ago) by pk
Branch: MAIN
CVS Tags: thorpej-signal-base, thorpej-signal
Changes since 1.53: +4 -3 lines
Diff to previous 1.53 (unified)

Some cosmetic changes suggested by Brian Baird: cache config msgs & RT625 fpu.

Revision 1.53 / (download) - annotate - [select for diffs], Mon Aug 4 22:41:25 1997 UTC (15 years, 10 months ago) by pk
Branch: MAIN
Changes since 1.52: +7 -3 lines
Diff to previous 1.52 (unified)

Hypersparc detection.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Jul 29 09:41:58 1997 UTC (15 years, 10 months ago) by fair
Branch: MAIN
CVS Tags: marc-pcmcia-bp
Branch point for: marc-pcmcia
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (unified)

%x -> 0x%x

Revision 1.51 / (download) - annotate - [select for diffs], Tue Jul 8 22:14:42 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.50: +2 -2 lines
Diff to previous 1.50 (unified)

In the turbosparc's "match" function, test for the `master' CPU, in case
someone ever builds a multi-processor turbosparc module.

Revision 1.50 / (download) - annotate - [select for diffs], Tue Jul 8 19:58:14 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.49: +42 -23 lines
Diff to previous 1.49 (unified)

Add FPU version 5 (turbosparc on-chip).

Re-arrange cpuattach() a bit so that more initialization is done before
dealing with the FPU.  Some more work is still required to de-couple
FPU detection from the autoconfiguration attach code in SMP systems.

Revision 1.49 / (download) - annotate - [select for diffs], Mon Jul 7 20:43:25 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.48: +40 -4 lines
Diff to previous 1.48 (unified)

Clear relevant `cpuinfo' fields upon detection of a cloaked TurboSparc.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Jul 7 20:06:46 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.47: +3 -2 lines
Diff to previous 1.47 (unified)

Add `turbosparc_getfaultstatus()' to be used instead of the generic srmmu item.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Jul 7 08:44:01 1997 UTC (15 years, 11 months ago) by hannken
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (unified)

Fix bad parentheses in `getcpuinfo()'.

Revision 1.46 / (download) - annotate - [select for diffs], Sun Jul 6 22:23:37 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.45: +9 -2 lines
Diff to previous 1.45 (unified)

Turn off microsparc II compatibility bit in Fujitsu turbosparc processors.

Revision 1.45 / (download) - annotate - [select for diffs], Sun Jul 6 21:18:27 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.44: +56 -66 lines
Diff to previous 1.44 (unified)

Use the module info fields `cputype' and `vactype' to hold a processor
family's type and cache information. This can be optionally modified
by the associated `match' routine.

Revision 1.44 / (download) - annotate - [select for diffs], Wed Jul 2 14:52:59 1997 UTC (15 years, 11 months ago) by pk
Branch: MAIN
Changes since 1.43: +7 -6 lines
Diff to previous 1.43 (unified)

Defer setting the CACHEPAGETABLES flag until cache_enable().

Revision 1.43 / (download) - annotate - [select for diffs], Mon Jun 9 00:00:05 1997 UTC (16 years ago) by veego
Branch: MAIN
CVS Tags: bouyer-scsipi
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (unified)

Initialize machine from MACHINE and machine_arch from MACHINE_ARCH.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jun 6 23:26:08 1997 UTC (16 years ago) by veego
Branch: MAIN
Changes since 1.41: +2 -1 lines
Diff to previous 1.41 (unified)

Add 'char machine_arch[] = "xxx";' for the new sysctl hw.machine_arch.

Revision 1.41 / (download) - annotate - [select for diffs], Tue May 6 21:00:54 1997 UTC (16 years, 1 month ago) by pk
Branch: MAIN
Changes since 1.40: +4 -5 lines
Diff to previous 1.40 (unified)

turbosparc: 256 contexts, page tables cannot be cached.

Revision 1.40 / (download) - annotate - [select for diffs], Fri Apr 18 19:51:05 1997 UTC (16 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.39: +96 -120 lines
Diff to previous 1.39 (unified)

* Remove ineffective and incorrect cache flush in viking_mmuenable().
* A bunch of cosmetic changes.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Apr 14 21:05:13 1997 UTC (16 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.38: +2 -1 lines
Diff to previous 1.38 (unified)

Add CY7C601 to SUN4 cpu section (Sun 4/300, 4/400 series). Noticed by
Ralph Sauther.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Apr 11 20:32:13 1997 UTC (16 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (unified)

Cypress 605 cache can be run in write-back mode (fingers crossed..).

Revision 1.37 / (download) - annotate - [select for diffs], Fri Apr 11 20:21:56 1997 UTC (16 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.36: +4 -3 lines
Diff to previous 1.36 (unified)

Add Cypress 605 with MMU version 0xb (reported by Harald Barth).

Revision 1.36 / (download) - annotate - [select for diffs], Sat Mar 22 22:03:28 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.35: +22 -6 lines
Diff to previous 1.35 (unified)

Add a `[ide]c_ncachelines' field to cacheinfo structure; initialize
and use it where appropriate.
Add `swift' and `turbosparc' cache enable function.

Revision 1.35 / (download) - annotate - [select for diffs], Sat Mar 22 19:17:05 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.34: +11 -6 lines
Diff to previous 1.34 (unified)

For each major "module", define a separate set of MMU control register bits.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Mar 21 14:30:20 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.33: +11 -2 lines
Diff to previous 1.33 (unified)

viking: flush cache before enabling MMU.

Revision 1.33 / (download) - annotate - [select for diffs], Fri Mar 21 01:47:15 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (unified)

Set pcache_flush_line function pointer for correct cache configuration.

Revision 1.32 / (download) - annotate - [select for diffs], Fri Mar 21 01:32:18 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.31: +11 -4 lines
Diff to previous 1.31 (unified)

Store cache associativities in the `cacheinfo' structure, and use it
in computing the cache "alias distance" and in the viking cache line
flush function.

Revision 1.31 / (download) - annotate - [select for diffs], Thu Mar 20 23:26:25 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.30: +20 -9 lines
Diff to previous 1.30 (unified)

Add hook for flushing a single cache line.

Revision 1.30 / (download) - annotate - [select for diffs], Wed Mar 12 22:52:19 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.29: +6 -2 lines
Diff to previous 1.29 (unified)

Turn off "cache pagetables bit" on non-MXCC modules.

Revision 1.27.6.1 / (download) - annotate - [select for diffs], Wed Mar 12 13:55:26 1997 UTC (16 years, 3 months ago) by is
Branch: is-newarp
Changes since 1.27: +850 -274 lines
Diff to previous 1.27 (unified) next main 1.28 (unified)

Merge in changes from The Trunk

Revision 1.29 / (download) - annotate - [select for diffs], Wed Mar 12 09:08:29 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
CVS Tags: is-newarp-before-merge
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (unified)

Correct output from cpumatch_unknown() and add missing viking variant
to cpu table (noticed by Andrew Gillham).

Revision 1.28 / (download) - annotate - [select for diffs], Tue Mar 11 00:44:00 1997 UTC (16 years, 3 months ago) by pk
Branch: MAIN
Changes since 1.27: +850 -274 lines
Diff to previous 1.27 (unified)

Re-write of CPU/MMU detection code.

Use a table driven classification based on CPU and MMU implementation/version
fields. Each CPU class or module defines a collection of routines that
implement CPU or MMU specific operations that can collect detailed setup
information.

All information is collected in a `cpu_softc' structure provided by the
auto-configuration code. However, in the interest of SMP support this
structure is located at a fixed virtual address identified by the
symbol `cpuinfo'. The `boot' CPU currently uses the the physical page(s) at
address 0x2000 for its cpuinfo. Consequently, the fixed virtual address
will be `KERNBASE+0x2000'.

The cache flush routines for several systems (sun4/4c vs. sun4m;
virtual vs. physical tags) have been factored out. Function pointers
to an appropriate set are located in `cpuinfo'. The former global
`cacheinfo' structure is now also a part of `cpuinfo'. Because of the
fixed virtual address of `cpuinfo' no extra performance penalties
are incurred by this move. In multi-architecture kernels, there's
no longer the need for run-time `cputyp' tests in this part of the system.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Dec 10 23:17:43 1996 UTC (16 years, 6 months ago) by pk
Branch: MAIN
CVS Tags: thorpej-setroot, mrg-vm-swap, is-newarp-base
Branch point for: is-newarp
Changes since 1.26: +5 -5 lines
Diff to previous 1.26 (unified)

Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Oct 13 03:00:31 1996 UTC (16 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.25: +21 -21 lines
Diff to previous 1.25 (unified)

backout previous kprintf change

Revision 1.25 / (download) - annotate - [select for diffs], Fri Oct 11 00:47:15 1996 UTC (16 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.24: +21 -21 lines
Diff to previous 1.24 (unified)

printf -> kprintf, sprintf -> ksprintf

Revision 1.22.4.1 / (download) - annotate - [select for diffs], Wed Jun 12 20:39:45 1996 UTC (17 years ago) by pk
Branch: netbsd-1-2
CVS Tags: netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA
Changes since 1.22: +78 -59 lines
Diff to previous 1.22 (unified) next main 1.23 (unified)

Pull down from trunk:
>rev 1.24: Add signature for the Fujitsu MB86904 processor
>rev 1.23: [...] handle caches on SS4 & SS5 [...]

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jun 12 18:39:15 1996 UTC (17 years ago) by pk
Branch: MAIN
Changes since 1.23: +2 -1 lines
Diff to previous 1.23 (unified)

Add signature for the Fujitsu MB86904 processor.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jun 12 14:56:09 1996 UTC (17 years ago) by pk
Branch: MAIN
Changes since 1.22: +77 -59 lines
Diff to previous 1.22 (unified)

Use `ic_*' cacheinfo fields, and in the split-I&D case, derive `c_linesize[l2]'
from from the corresponding `ic_*' and `dc_*' values. This is not perfect,
but it makes SS4s and SS5s run until we have proper per-cpu cache handling.

Use the `cache-physical?' property to determine the value of `vactype'
on sun4m's. If absent, set vactype to VAC_WRITETHROUGH (XXX) else VAC_NONE.

Print simpler sun4m CPU identifier on attach.

Revision 1.22 / (download) - annotate - [select for diffs], Thu May 16 15:57:15 1996 UTC (17 years, 1 month ago) by abrown
Branch: MAIN
CVS Tags: netbsd-1-2-base
Branch point for: netbsd-1-2
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (unified)

Copyright police (s/Harvard University/Harvard College/).

Revision 1.21 / (download) - annotate - [select for diffs], Sun Apr 7 05:50:59 1996 UTC (17 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (unified)

Fix slight oversight in previous change.

Revision 1.20 / (download) - annotate - [select for diffs], Sun Apr 7 04:48:46 1996 UTC (17 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.19: +13 -3 lines
Diff to previous 1.19 (unified)

Make this compile again on a SUN4-only kernel.  (Avoid "unused foo"
warnings from gcc -Wall.  While the optimizer is smart enough to
eliminate dead code, it looks like the rest of gcc doesn't Get It.)

Revision 1.19 / (download) - annotate - [select for diffs], Thu Apr 4 23:06:32 1996 UTC (17 years, 2 months ago) by abrown
Branch: MAIN
Changes since 1.18: +21 -13 lines
Diff to previous 1.18 (unified)

cpu.c: correctly identify Sun4m associative caches
kgdb_stub.c: make it compile again with Sun4m-only kernel

Revision 1.18 / (download) - annotate - [select for diffs], Sun Mar 31 23:00:53 1996 UTC (17 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.17: +146 -22 lines
Diff to previous 1.17 (unified)

Accomodate sun4m CPUs and caches (Aaron). Cache handling needs to be
revised.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Mar 17 02:01:41 1996 UTC (17 years, 3 months ago) by thorpej
Branch: MAIN
Changes since 1.16: +8 -3 lines
Diff to previous 1.16 (unified)

New device attachment scheme:

	- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Mar 16 23:31:36 1996 UTC (17 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (unified)

Fix typo in fsrtoname() use && as intended instead of &

Revision 1.15 / (download) - annotate - [select for diffs], Thu Mar 14 21:09:01 1996 UTC (17 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.14: +5 -1 lines
Diff to previous 1.14 (unified)

Add prototypes and fix bugs:
    - softclock was called with extra argument.
    - missing %x formats in printf's
    - kgdb_copy called with only two arguments.

Fix conf.c so that it used the _conf.h files from other places instead of
rolling its own.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Feb 1 12:37:52 1995 UTC (18 years, 4 months ago) by pk
Branch: MAIN
CVS Tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Changes since 1.13: +16 -6 lines
Diff to previous 1.13 (unified)

Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
	romaux defines an array of register spaces.
	pay attention to `vactype'.
	quirks handling 4/100 idiosyncracies.

Revision 1.13 / (download) - annotate - [select for diffs], Wed Nov 23 07:02:42 1994 UTC (18 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.12: +5 -5 lines
Diff to previous 1.12 (unified)

XXmatch change (and a few __P() as well)

Revision 1.12 / (download) - annotate - [select for diffs], Sun Nov 20 20:54:10 1994 UTC (18 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.11: +3 -4 lines
Diff to previous 1.11 (unified)

copyright/Id cleanup

Revision 1.11 / (download) - annotate - [select for diffs], Sun Nov 13 22:12:44 1994 UTC (18 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.10: +9 -5 lines
Diff to previous 1.10 (unified)

cache: write-throough/back, and 4/100 has no cache

Revision 1.10 / (download) - annotate - [select for diffs], Sun Oct 2 22:00:45 1994 UTC (18 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.9: +18 -6 lines
Diff to previous 1.9 (unified)

sun4/300 support works

Revision 1.9 / (download) - annotate - [select for diffs], Sun Sep 18 00:02:18 1994 UTC (18 years, 9 months ago) by deraadt
Branch: MAIN
Changes since 1.8: +3 -2 lines
Diff to previous 1.8 (unified)

generalize bus support for match/attach

Revision 1.8 / (download) - annotate - [select for diffs], Sat Aug 20 01:32:45 1994 UTC (18 years, 10 months ago) by deraadt
Branch: MAIN
Changes since 1.7: +78 -30 lines
Diff to previous 1.7 (unified)

sun4 cpu types are determined by the idprom.
cache type is determined by the model number.

Revision 1.7 / (download) - annotate - [select for diffs], Thu May 19 07:12:49 1994 UTC (19 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Changes since 1.6: +3 -4 lines
Diff to previous 1.6 (unified)

catchup to 4.4-lite and delete some debug stuff

Revision 1.6 / (download) - annotate - [select for diffs], Sat May 7 05:10:01 1994 UTC (19 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.5: +2 -1 lines
Diff to previous 1.5 (unified)

sysctl support

Revision 1.5 / (download) - annotate - [select for diffs], Fri Nov 26 11:44:51 1993 UTC (19 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: sparc-magnum
Changes since 1.4: +5 -8 lines
Diff to previous 1.4 (unified)

add info about the Pinnacle cpu

Revision 1.4 / (download) - annotate - [select for diffs], Fri Nov 5 12:43:02 1993 UTC (19 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.3: +169 -82 lines
Diff to previous 1.3 (unified)

now that esp.c is fixed, go back to using the enhanced cache code.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Oct 27 18:12:47 1993 UTC (19 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.2: +81 -168 lines
Diff to previous 1.2 (unified)

back out of Torek's cache enable code since it makes 1/1+-style
esp chips blow chunks.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 11 02:16:17 1993 UTC (19 years, 8 months ago) by deraadt
Branch: MAIN
Changes since 1.1: +169 -82 lines
Diff to previous 1.1 (unified)

pmap.c, machdep.c, autoconf.c, cpu.c, intr.c, : net-posted patches from Torek
autoconf.c: mountroot kludges that need fixing later
clock.c: two volatile decls
conf.c: stategy()'s return void, *tty[] not tty[], __P()'d xxdump() calls,
	add mem_no, *constty[] not &cons.
genassym.c, machdep.c: sys/vmmeter.h needed
intr.c: make kernel writable temporarily in intr_fasttrap()
intr.c: do not use NETISR_ARP
locore.s: icode maps at 0 so do not relocate, don't define __main here.
machdep.c: don't have sysctl.h (yet), use vm_page_free_count for freemem,
	setregs() sets pc/npc/stack, note: signal delivery code needs
	fixing, add various other NetBSD function stubs.
pmap.c: do kernel_pmap/kernel_pmap_store the old way, delete
	vm_page_startup_initialized weirdness.
swapgeneric.c: everything about mountroot needs fixing, help.
trap.c: sunsys -> sun_sysent, etc.
vm_machdep.c: don't use cpu_coredump() for now.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Oct 2 10:24:10 1993 UTC (19 years, 8 months ago) by deraadt
Branch: MAIN

Chris Torek's sparc port. Missing lots of things.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>