History log of /openbsd/sys/arch/i386/i386/vector.s (Results 1 – 23 of 23)
Revision Date Author Comments
# 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