nakayama
1ff012e906
Disable TRAPSTATS which was accidentally enabled when yamt-idlelwp branch
...
was merged.
Ok by martin@.
2008-04-16 15:31:15 +00:00
nakayama
a9ca1b36dd
Remove sparc64_ipi_sync_tick.
...
Since we can use counter-timer as timecounter instead of %tick on SMP kernel,
it is not necessary to sync all CPUs %tick registers.
2008-04-14 17:54:07 +00:00
nakayama
bf95a282f1
Reduce use of curcpu() in tickintr_establish.
2008-04-14 17:43:02 +00:00
nakayama
37d841fbb8
Remove sparc64_ipi_sync_tick.
...
Since we can use counter-timer as timecounter instead of %tick on SMP kernel,
it is not necessary to sync all CPUs %tick registers.
2008-04-14 16:19:18 +00:00
nakayama
3c342df23b
Add workaround for BB_ERRATA_1 on writing to TICK_CMPR register in
...
next_tick(). If writing to TICK_CMPR fails, we lose hardclock interrupt
on secondary CPUs.
About BB_ERRATA_1 from comment in OpenSolaris:
/*
* Writes to the TICK_COMPARE register sometimes fail on blackbird modules.
* The failure occurs only when the following instruction decodes to wr or
* wrpr. The workaround is to immediately follow writes to TICK_COMPARE
* with a read, thus stalling the pipe and keeping following instructions
* from causing data corruption. Aligning to a quadword will ensure these
* two instructions are not split due to i$ misses.
*/
2008-04-14 16:14:20 +00:00
ad
8d19e50577
Don't allocate or free pv_entry_t with pmap_lock held. Requested by martin@.
...
Untested.
2008-04-13 15:01:55 +00:00
nakayama
3e0d94e5d9
Remove kernel unlock in startlwp which is probably a leftover of
...
vmlocking2 merge.
This may fix PR kern/38375.
2008-04-10 14:28:28 +00:00
nakayama
c43d57923a
Remove kernel locks around malloc introduced when I added SMP support.
2008-04-09 15:21:02 +00:00
nakayama
39b07dd47b
Reorganize clock assignments on SMP kernel:
...
- don't use separate statintr on primary CPU.
- invoke clockintr instead of statintr on secondary CPUs.
This change fixes the problem setitimer(2) didn't work on secodary CPUs.
2008-04-09 14:58:23 +00:00
nakayama
3722b88cd3
Remove redundant #ifdef. KASSERT implies option DIAGNOSTIC.
2008-04-07 14:18:11 +00:00
cegger
09275ba76d
use aprint_*_dev and device_xname
...
OK martin
2008-04-05 13:40:05 +00:00
nakayama
b1253edf64
Revise cpu_need_resched and cpu_signotify, then make them like x86's ones.
...
This can avoid sending IPI to myself.
2008-04-03 10:34:45 +00:00
tsutsui
8a19236fe5
One missed file in the previous commit:
...
> Split softc and device_t for zsc(4) and its children.
Pointed out by mrg@.
2008-03-30 01:41:36 +00:00
tsutsui
02cb47cab2
Split softc and device_t for zsc(4) and its children.
...
XXX we should restructure MI APIs and make it really machine independent.
2008-03-29 19:15:34 +00:00
tsutsui
4090172b20
Don't forget to initialize sc_dev.
2008-03-29 05:42:45 +00:00
tsutsui
50cafe93bd
Use device_private(), missed in the previous.
2008-03-29 02:14:29 +00:00
nakayama
5a9b71307f
Don't read fplwp content in delay slot for considering the case fplwp was
...
modifiled.
Reported by Chris Ross on port-sparc64.
2008-03-28 23:22:53 +00:00
tsutsui
03bb6cc822
Split device_t and softc for MI mk48txx(4) and intersil7170(4) clocks,
...
and other related misc cosmetics.
2008-03-28 20:26:12 +00:00
tsutsui
048fb884fc
Split device_t and softc for MI mc146818 clock,
...
and other related misc cosmetics.
2008-03-28 19:05:49 +00:00
martin
65c31645cb
Now that we have per-cpu-contexts, checking the context on the local cpu
...
to find out if a pmap is on some mmu does not realy work any more.
2008-03-28 18:22:59 +00:00
martin
e4eb0bc72d
Use the passed cpu info for returning the frequency, not the current
...
cpu
2008-03-28 15:39:31 +00:00
martin
5405d9ca93
Restrict the "mach prom" command to the primary cpu - it hangs the machine
...
hard on every other try on some machines.
2008-03-27 15:21:35 +00:00
martin
afa2677a01
Fix a panic message and bump the number of retries untill we manage to
...
send an IPI a bit up again.
2008-03-27 15:20:47 +00:00
martin
1f9fec2e30
Get rid of delay() while waiting for IPI results; limit the waiting
...
time via the cycle counter. Suggested by macallan.
2008-03-27 14:51:02 +00:00
xtraeme
ae33dd3e78
sme_cookie is not needed when SME_DISABLE_REFRESH is set.
2008-03-26 20:21:38 +00:00
tnn
1a21682d68
Split device_t/softc for envctrl(4).
2008-03-26 19:15:49 +00:00
martin
261a6922f9
Make the debug message that triggered in PR 38297 slightly more verbose
2008-03-25 20:44:12 +00:00
martin
31c74d197f
Count the number of syscalls per cpu, to avoid cache trashing around
...
uvmexp.syscalls.
I wonder if we should apply the same treatment to uvmexp.{traps,intr,faults}
2008-03-25 16:42:07 +00:00
martin
d05574d259
Remove unused symbol
2008-03-25 16:01:15 +00:00
ad
11d69830e6
+pseudo-device lockstat since there is a cycle counter. Ok martin@.
2008-03-24 13:48:18 +00:00
cube
c7dd91c86d
Change previous to use aprint_error_dev.
2008-03-24 00:06:03 +00:00
macallan
3d2ef4afbb
use device_xname()
2008-03-23 17:09:19 +00:00
nakayama
c853b61f50
Add more assertion.
2008-03-22 16:51:30 +00:00
nakayama
d0e8e57d7d
Lock also on freeing own context, and add assertion.
2008-03-22 04:15:49 +00:00
nakayama
c7f58e76ff
Insert a delay with enabling interrupts to avoid deadlocks
...
when sending IPI is failed.
2008-03-22 04:12:32 +00:00
ad
a9ca7a3734
Catch up with descriptor handling changes. See kern_descrip.c revision
...
1.173 for details.
2008-03-21 21:54:58 +00:00
nakayama
fb3ca52b49
- remove disabling interrupt in IPI.
...
- unused VA bits in MMU demap is 13 bits, not 12 bits.
2008-03-20 19:31:33 +00:00
nakayama
7249e6951e
Use proper ASI macro.
2008-03-20 13:18:16 +00:00
nakayama
8aead4fcfb
Fix a race when increment an interrupt level event counter.
2008-03-18 18:22:43 +00:00
nakayama
0a332c0d29
Fix a race condition in IPI handlers of save/drop fpstate, from OpenBSD.
...
Reported and tested by martin@.
2008-03-17 23:54:03 +00:00
nakayama
4eab56b382
Change statintr and schedintr similar to kern/kern_clock.c.
2008-03-17 18:31:19 +00:00
nakayama
6456819faa
Make schedintr interrupt handler per-CPU.
...
While there rename tickintr interrupt handler and share initialization
code with schedintr.
2008-03-17 04:04:00 +00:00
nakayama
9db309f3e2
Use macros to specify a interrupt level.
2008-03-15 20:14:17 +00:00
nakayama
868048cf4d
SMP support for sparc64 now works, so make GENERIC.MP kernel build
...
by default.
2008-03-14 16:43:16 +00:00
nakayama
9cfa53b41a
#include "opt_multiprocessor.h"
2008-03-14 15:40:22 +00:00
nakayama
8d734e3bd0
Complete per-CPU TSBs and MMU contexts changes.
2008-03-14 15:40:02 +00:00
nakayama
5374009247
Improve FPU state save/clear like x86, idea from OpenBSD.
2008-03-14 15:39:18 +00:00
nakayama
74a205f37a
On SMP kernel,
...
- use "tick" interrupt for per-CPU statclock.
- disable "counter-timer" #1 interrupt and use it as timecounter.
2008-03-14 15:38:36 +00:00
nakayama
ead4e6f7b9
Improve IPI handling:
...
- make IPI takes two arguments.
- add IPI event counters per-CPU.
- implement IPI functions which were missing or broken.
- insert DELAY while halting primary CPU in IPI handler.
2008-03-14 15:38:00 +00:00
cube
607ead0ef4
Split device_t and softc for all com(4) devices (well, everything that
...
uses a com_softc backend). Use proper types and ansify where appropriate.
2008-03-14 15:09:09 +00:00