CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: martin Date: Tue Jan 15 18:43:27 UTC 2019 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: pmap.c Log Message: Pull up following revision(s) (requested by mrg in ticket #1672): sys/arch/sparc/sparc/pmap.c: revision 1.366 switch sparc pmap lock to the scheme sparc64 uses: - - local IPL_NONE mutex for general pmap locking operations, not kernel lock. - - for pmap_activate()/pmap_deactivate(), switch to using the existing ctx_lock, and push handling of it into ctx_alloc() the ctx_free() callers. fixes easy to trigger deadlocks on systems with >2 cpus. without this patch i usually hang during boot. with it, i was able to push the machine hard for over 12 hours. XXX: pullup-8, and maybe -7. To generate a diff of this commit: cvs rdiff -u -r1.358 -r1.358.2.1 src/sys/arch/sparc/sparc/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: martin Date: Wed Mar 21 11:54:47 UTC 2018 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: cpuvar.h Log Message: Pull up following revision(s) (requested by mrg in ticket #1585): sys/arch/sparc/include/cpu.h: revision 1.99 (patch -> cpuvar.h) - return early in xcall() if the function is sparc_noop() instead of triggering the IPI and then ignoring responses ( or lack thereof ) - write the .tag field last to avoid a race when polling for an incoming IPI - add event counters for IPIs being caught with the mutex not held, and for messages that are already marked as completed With this my SS20 made it through 48 hours of pkgsrc with MAKE_JOBS=3 and a pair of SM81s. Hypersparcs still crash but instead of craziness we get actual error messages, apparently one CPU will occasionally do a watchdog reset, which according to the manual is caused by catching a trap with traps disabled. Now to figure out how that can even happen... [file accidently missed in previous commit] To generate a diff of this commit: cvs rdiff -u -r1.92 -r1.92.4.1 src/sys/arch/sparc/sparc/cpuvar.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: martin Date: Wed Mar 21 11:52:50 UTC 2018 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: cpu.c intr.c Log Message: Pull up following revision(s) (requested by mrg in ticket #1585): sys/arch/sparc/sparc/cpu.c: revision 1.250 (patch) sys/arch/sparc/include/cpu.h: revision 1.99 (patch -> cpuvar.h) sys/arch/sparc/sparc/intr.c: revision 1.119 (patch) - return early in xcall() if the function is sparc_noop() instead of triggering the IPI and then ignoring responses ( or lack thereof ) - write the .tag field last to avoid a race when polling for an incoming IPI - add event counters for IPIs being caught with the mutex not held, and for messages that are already marked as completed With this my SS20 made it through 48 hours of pkgsrc with MAKE_JOBS=3 and a pair of SM81s. Hypersparcs still crash but instead of craziness we get actual error messages, apparently one CPU will occasionally do a watchdog reset, which according to the manual is caused by catching a trap with traps disabled. Now to figure out how that can even happen... To generate a diff of this commit: cvs rdiff -u -r1.248 -r1.248.2.1 src/sys/arch/sparc/sparc/cpu.c cvs rdiff -u -r1.118 -r1.118.4.1 src/sys/arch/sparc/sparc/intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: snj Date: Mon Feb 12 18:42:20 UTC 2018 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: timer.c timer_sun4m.c timerreg.h Log Message: Pull up following revision(s) (requested by mrg in ticket #1552): sys/arch/sparc/sparc/timer.c: 1.33-1.34 sys/arch/sparc/sparc/timer_sun4m.c: 1.31 sys/arch/sparc/sparc/timerreg.h: 1.10 fix time goes backwards problems on sparc. there are a few things here: - there's a race between reading the limit register (which clears the interrupt and the limit bit) and increasing the latest offset. this can happen easily if an interrupt comes between the read and the call to tickle_tc() that increases the offset (i obverved this actually happening.) - in early boot, sometimes the counter can cycle twice before the tickle happens. to handle these issues, add two workarounds: - if the limit bit isn't set, but the counter value is less than the previous value, and the offset hasn't changed, use the same fixup as if the limit bit was set. this handles the first case above. - add a hard-workaround for never allowing returning a smaller value (except during 32 bit overflow): if the result is less than the last result, add fixups until it does (or until it would overflow.) the first workaround fixes general run-time issues, and the second fixes issues only seen during boot. also expand some comments in timer_sun4m.c and re-enable the sun4m sub-microsecond tmr_ustolim4m() support (but it's always called with at least 'tick' microseconds, so the end result is the same.) -- fix hang at 4B microseconds (1h12 or so), and simplify part of the previous To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.32.4.1 src/sys/arch/sparc/sparc/timer.c cvs rdiff -u -r1.30 -r1.30.4.1 src/sys/arch/sparc/sparc/timer_sun4m.c cvs rdiff -u -r1.9 -r1.9.140.1 src/sys/arch/sparc/sparc/timerreg.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: snj Date: Wed Jan 3 20:06:06 UTC 2018 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: locore.s Log Message: Pull up following revision(s) (requested by maya in ticket #1530): sys/arch/sparc/sparc/locore.s: revision 1.269 Avoid an instruction requiring a higher alignment than we are guaranteed Fixes PR port-sparc/52721: ddb errors on ps command Thanks to mlelstv. To generate a diff of this commit: cvs rdiff -u -r1.268 -r1.268.12.1 src/sys/arch/sparc/sparc/locore.s Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: [netbsd-7] src/sys/arch/sparc/sparc
Module Name:src Committed By: riz Date: Tue Aug 12 18:59:48 UTC 2014 Modified Files: src/sys/arch/sparc/sparc [netbsd-7]: autoconf.c Log Message: Pull up following revision(s) (requested by martin in ticket #7): sys/arch/sparc/sparc/autoconf.c: revision 1.258 PR port-sparc/49103: add device name mapping for "qfe" (quad hme) cards. >From MOCHIDA Shuji. To generate a diff of this commit: cvs rdiff -u -r1.257 -r1.257.2.1 src/sys/arch/sparc/sparc/autoconf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.