#
81621933 |
| 08-Dec-2022 |
guenther <guenther@openbsd.org> |
_C_LABEL() and _ASM_LABEL() are no longer useful in the "everything is ELF" world. Eliminate use of them in amd64, arm64, armv7, i386, macppc, mips64, and sparc64 code.
ok deraadt@ jca@ krw@
|
#
fb9d28cb |
| 18-Jun-2018 |
bluhm <bluhm@openbsd.org> |
Remove the MAKE_FRAME macro to trace over ioapic interrupts in ddb. It is no longer needed after the trap frame %ebp cleanup. OK hshoexer@
|
#
38d673b2 |
| 11-Apr-2018 |
bluhm <bluhm@openbsd.org> |
More steps for i386 Meltdown fix:
- provide struct cpu_info_full - prepare K-U sections - reorganize interrupt, trap, syscall entry to use K-U trampoline - prepare pmap for entering special mappings
More steps for i386 Meltdown fix:
- provide struct cpu_info_full - prepare K-U sections - reorganize interrupt, trap, syscall entry to use K-U trampoline - prepare pmap for entering special mappings, the mappings are not setup yet
This code will already trigger performance issues. We do more tlb flushes, but we do not unmap the kernel yet. The latter will be needed to prevent Meltdown.
from hshoexer@; input guenther@; OK mlarkin@ deraadt@
show more ...
|
#
e0b727df |
| 30-May-2017 |
mlarkin <mlarkin@openbsd.org> |
move some data tables out of .text and into .rodata where they belong
ok deraadt
|
#
48af2949 |
| 28-Jun-2015 |
guenther <guenther@openbsd.org> |
Split AST handling from trap() into ast() and get rid of T_ASTFLT
testing by krw@, and then many via snapshots
|
#
e39f036f |
| 25-Apr-2015 |
guenther <guenther@openbsd.org> |
We now following the ABI and always clear cld on function entry, so remove the extra CLD instructions from when that wasn't true
testing miod@ krw@
|
#
479695f3 |
| 28-Nov-2013 |
brad <brad@openbsd.org> |
Appease LLVM's integrated assembler.
error: ambiguous instructions require an explicit suffix (could be 'cmpb', 'cmpw', 'cmpl', or 'cmpq' error: unknown token in expression
cmp -> cmpl, %cs:* -> *%
Appease LLVM's integrated assembler.
error: ambiguous instructions require an explicit suffix (could be 'cmpb', 'cmpw', 'cmpl', or 'cmpq' error: unknown token in expression
cmp -> cmpl, %cs:* -> *%cs:
ok kettenis@
show more ...
|
#
58643530 |
| 12-May-2013 |
ratchov <ratchov@openbsd.org> |
Take the kernel lock and call the actual interrupt handler from a single c function. This will hopefully make easier to stop taking the kernel lock when running "mp safe" interrupt handlers.
help fr
Take the kernel lock and call the actual interrupt handler from a single c function. This will hopefully make easier to stop taking the kernel lock when running "mp safe" interrupt handlers.
help from ok kettenis
show more ...
|
#
1399cbdf |
| 22-Sep-2011 |
deraadt <deraadt@openbsd.org> |
The MY_COUNT abstraction which depends on locore including these two files is ridiculous. Remove it.
|
#
177417cc |
| 16-Apr-2011 |
deraadt <deraadt@openbsd.org> |
More than a decade ago, interrupt handlers on sparc started returning 0 (interrupt was not for me), 1 (positive interrupt was for me), or -1 (i am not sure...). We have continued with this practice
More than a decade ago, interrupt handlers on sparc started returning 0 (interrupt was not for me), 1 (positive interrupt was for me), or -1 (i am not sure...). We have continued with this practice in as many drivers as possible, throughout the tree.
This makes some of the architectures use that information in their interrupt handler calling code -- if 1 is returned (and we know this specific machine does not have edge-shared interrupts), we finish servicing other possible handlers on the same pin. If the interrupt pin remains asserted (from a different device), we will end up back in the interrupt servicing code of course... but this is cheaper than calling all the chained interrupts on a pin.
This does of course count on shared level interrupts being properly sorted by IPL.
There have been some concerns about starvation of drivers which incorrectly return 1. Those drivers should be hunted down so that they return -1.
ok and help from various people. In snaps for about a week now.
show more ...
|
#
ccba0548 |
| 10-Aug-2009 |
oga <oga@openbsd.org> |
right now, we only increment ci_idepth in struct cpuinfo when MULTIPROCESSOR is defined. This makes splassert incorrect for IPL_NONE on such kernels.
Make this more similar to amd64, and move the in
right now, we only increment ci_idepth in struct cpuinfo when MULTIPROCESSOR is defined. This makes splassert incorrect for IPL_NONE on such kernels.
Make this more similar to amd64, and move the inc and dec of ci_idepth into the interrupt vectors, and only leave biglock in the locking functions.
ok kettenis@
show more ...
|
#
e758f5ad |
| 10-Jul-2009 |
jsg <jsg@openbsd.org> |
Switch away from using -traditional-cpp to iso/ansi cpp for asm files. More architectures hopefully to follow. ok kettenis@
|
#
0fa4144a |
| 26-Apr-2008 |
kettenis <kettenis@openbsd.org> |
Remove softast; it's no longer used.
ok krw@
|
#
932c1175 |
| 25-Apr-2008 |
kettenis <kettenis@openbsd.org> |
Make ipending per-cpu. Should fix PR 5788.
ok weingart@
|
#
7a83af50 |
| 12-Apr-2007 |
art <art@openbsd.org> |
Faster signal delivery on i386/MP.
We need to poke the other CPU so that it processes the AST immediately and doesn't wait for the next interrupt or syscall.
Since IPIs really shouldn't process AST
Faster signal delivery on i386/MP.
We need to poke the other CPU so that it processes the AST immediately and doesn't wait for the next interrupt or syscall.
Since IPIs really shouldn't process ASTs, we need to trigger a soft interrupt on the destination CPU to process the AST. But since we can't send soft interrupts to other CPUs, we send an IPI, that triggers a soft interrupt that in turn processes the AST.
Also, this marks the beginning of moving to slightly better IPI mechanism of short and optimized IPIs instead of the large and complicated IPI infrastructure we're using now.
tested by many, ok tholo@
show more ...
|
#
7b64d8b0 |
| 09-Feb-2007 |
tom <tom@openbsd.org> |
Don't both reloading the CPL into %eax before pushing it onto the stack, since it's already in %ebx. (And %eax is reloaded immediately after the push, so CPL not needed in %eax.) Saves one load eve
Don't both reloading the CPL into %eax before pushing it onto the stack, since it's already in %ebx. (And %eax is reloaded immediately after the push, so CPL not needed in %eax.) Saves one load every interrupt.
ok dim@, gwk@
show more ...
|
#
5bbd999b |
| 12-Jun-2006 |
gwk <gwk@openbsd.org> |
Add stray interrupt reporting to the apicvec.s, fix the code for stray interrupt reporting in vector.s. Stray interrupts will only be reported if a kernel is compiled with option DEBUG, in the case o
Add stray interrupt reporting to the apicvec.s, fix the code for stray interrupt reporting in vector.s. Stray interrupts will only be reported if a kernel is compiled with option DEBUG, in the case of a non-ioapic kernel some stray interrupts may be erroneously reported durring the boot process. ok toby@, "get it in" deraadt@
show more ...
|
#
678f5cb5 |
| 13-Dec-2005 |
aaron <aaron@openbsd.org> |
Prevent recursive interrupts. Solves kernel stack overflow on i386 under heavy network interrupt load (I can reproduce with an ARP flood) with an MP kernel. Patch from NetBSD PR20180.
Has been in
Prevent recursive interrupts. Solves kernel stack overflow on i386 under heavy network interrupt load (I can reproduce with an ARP flood) with an MP kernel. Patch from NetBSD PR20180.
Has been in snapshots for a bit. Testing by pedro@, jolan@. deraadt@ ok
show more ...
|
#
5ff0b34d |
| 24-Dec-2004 |
miod <miod@openbsd.org> |
{e,}intr{cnt,names} bye-bye.
|
#
af2ae2d8 |
| 24-Dec-2004 |
pvalchev <pvalchev@openbsd.org> |
Rewrite intlock/intunlock not to pass around interrupt frame directly without copying which is against C conventions and broke GENERIC.MP with a gcc3 optimization From niklas, tested by many
|
#
9a331485 |
| 28-Jun-2004 |
deraadt <deraadt@openbsd.org> |
move from unsafe ev_count32 to safe ev_count; aaron ok
|
#
74989342 |
| 20-Jun-2004 |
aaron <aaron@openbsd.org> |
Fix some comment typos I noticed while reading this code.
|
#
012ea299 |
| 13-Jun-2004 |
niklas <niklas@openbsd.org> |
debranch SMP, have fun
|