| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
OK deraadt@ mpi@
|
|
|
|
| |
required by upcoming MI mutex change.
|
| |
|
|
|
|
| |
OK miod@
|
|
|
|
|
|
| |
For coherency with other archs and in order to use it in MI code.
ok visa@, tobiasu@
|
|
|
|
|
|
| |
signalling as a workaround to a limitation in the hub interrupt code,
to allow four CPUs per node. At the moment, multi-node setups are not
supported.
|
| |
|
|
|
|
|
|
|
|
| |
this basically copies the sgi implementation to mips64 and removes
it from the rest. this way they get an optimised UP mutex implementation
and correct asserts on all platforms.
ok miod@ jmatthew@
|
|
|
|
| |
ok miod@, mikeb@
|
|
|
|
|
|
| |
for it. This makes the netisr a real C function which will help further
development. No noticable performance change on i386 and amd64.
With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
|
| |
|
|
|
|
| |
ok miod@
|
|
|
|
| |
ok miod@
|
|
|
|
|
| |
It prevents deadlock with TLB shootdown and clock interrupt.
ok miod@
|
|
|
|
|
| |
Also few xheart modification for SMP.
ok miod@
|
|
|
|
| |
struct intrhand, instead of having it malloc()'ed.
|
|
|
|
| |
a frame and clock interrupt doesn't need a struct intrhand.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
logical IPL level, and per-platform (IP27/IP30/IP32) code will from the
necessary hardware mask registers.
This allows the use of more than one interrupt mask register. Also, the
generic (platform independent) interrupt code shrinks a lot, and the actual
interrupt handler chains and masking information is now per-platform private
data.
Interrupt dispatching is generated from a template; more routines will be
added to the template to reduce platform-specific changes and share as much
code as possible.
Tested on IP27, IP30, IP32 and IP35.
|
|
|
|
|
|
|
|
| |
does almost exactly what splx() is doing if ipending is zero, and triggers
soft interrupts as well.
So don't bother checking for ipending in splx, and always invoke pending_int,
which gets renamed as splx_handler for consistency.
|
|
|
|
|
|
| |
coprocessor 0 sr level might come back in the future if hardware support
requires it, but at the moment it's getting in the way of larger changes.
``In the Attic, noone can hear you scream''
|
|
|
|
|
|
| |
in the coprocessor 0 status register (coupled with ICR on rm7k/rm9k), and
may be completely alien to real hardware interrupt masks, so don't make
things unnecessary confusing.
|
| |
|
|
|
|
| |
OK miod@
|
|
|
|
|
|
| |
cpu_info pointer array, cpu_info iterator, cpu_number() implementation added.
constraint modifier fixed in lock.h to output correct assembly.
calling proc_trampoline_mp in exception.S.
|
|
|
|
|
|
|
|
|
| |
Tested by myself, sthen, oga, kettenis, and jasper.
Input from sthen and jasper.
ok kettenis
(Manpage follows shortly.)
|
|
|
|
| |
soft interrupts.
|
|
|
|
| |
where it can use userret() instead of duplicating it.
|
|
|
|
|
|
| |
there to trap.c which is its only user. This also cleans up multiple
inclusion of <machine/cpu.h> (because <machine/psl.h> includes it) in many
places.
|
|
|
|
| |
any such interrupts marked as pending.
|
| |
|
|
|
|
|
|
| |
levels. This will allow for platforms where soft interrupt levels do not
map to real hardware interrupt levels to have soft ipl values overlapping
hard ipl values without breaking spl asserts.
|
| |
|
| |
|
| |
|
|
|
|
| |
ok miod@
|
|
|
|
|
| |
{set,clr}_ipending with the above routines.
ok kettenis@
|
|
|
|
| |
s/wether/whether/g.
|
| |
|
| |
|
|
|
|
| |
ok pefo@
|
| |
|
|
|
|
|
| |
Some function names made more unique.
Other changes for the upcoming Origin 200 support.
|
|
|
|
|
|
|
|
| |
o Remove do_pending code and take a real int instead. The performance
impact seems to be very low and it simplifies the code considerably.
o Allow interrupt nesting at first level. Run softints with HW ints
enabled.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|