#
1.36 |
|
08-Dec-2022 |
guenther |
_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@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE OPENBSD_7_0_BASE OPENBSD_7_1_BASE OPENBSD_7_2_BASE
|
#
1.35 |
|
09-Jul-2018 |
guenther |
Delete the VM86 kernel option and i386_vm86(3) API: it's required a custom kernel for over 20 years.
testing mlarkin@ ok deraadt@ phessler@ jca@ matthieu@
|
#
1.34 |
|
11-Apr-2018 |
bluhm |
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@
|
Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
16-Jul-2015 |
guenther |
Move grab/release of the kernel_lock for softintrs from the ASM stubs to softintr_dispatch(). Delete traces of long superseded stats code.
ok beck@ mpi@ uebayasi@
|
#
1.32 |
|
28-Jun-2015 |
guenther |
Split AST handling from trap() into ast() and get rid of T_ASTFLT
testing by krw@, and then many via snapshots
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.31 |
|
21-Dec-2010 |
claudio |
Convert netisr to a normal soft interrupt instead of hanving MD code 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@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.30 |
|
09-May-2010 |
kettenis |
Make i386 use a pointer to the trap frame like everybody else instead of the weird "pass by reference" that causes problems with gcc4.
ok nicm@, tom@
|
Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
|
#
1.29 |
|
21-May-2008 |
kettenis |
Switch i386 from pccom to com. Welcomed by many.
ok dlg@, jsing@, deraadt@
|
#
1.28 |
|
07-May-2008 |
kettenis |
Move i386 to __HAVE_GENERIC_SOFT_INTERRUPTS
ok dlg@, tested by dlg@, oga@, jsg@, deraadt@
|
#
1.27 |
|
26-Apr-2008 |
kettenis |
Remove softast; it's no longer used.
ok krw@
|
#
1.26 |
|
25-Apr-2008 |
kettenis |
Make ipending per-cpu. Should fix PR 5788.
ok weingart@
|
Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.25 |
|
25-May-2007 |
krw |
"interupt" -> "interrupt" in various comments. Mostly from Diego Casati.
|
#
1.24 |
|
12-Apr-2007 |
art |
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@
|
Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
|
#
1.23 |
|
13-Dec-2005 |
aaron |
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
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.22 |
|
07-Jan-2005 |
pascoe |
Fix profiled kernel builds on i386 by moving splraise/splx code into macros permitting non-recursive reuse in mcount.
Should be a no-op for normal builds.
|
Revision tags: OPENBSD_3_6_BASE
|
#
1.21 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.20 |
|
06-Nov-2003 |
mickey |
move netisr definition into md code to allow arch provide suitable allocation; tested on most archs
|
Revision tags: OPENBSD_3_4_BASE UBC_SYNC_A
|
#
1.19 |
|
17-Apr-2003 |
drahn |
i386 changes to move to ELF. asm cleanup. Change MAXDSIZ to 512M for 1Gsep. DARPA funded work.
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_B
|
#
1.18 |
|
04-Dec-2001 |
niklas |
branches: 1.18.2; New try at a level based irq system.
|
#
1.17 |
|
18-Nov-2001 |
aaron |
Revert niklas's broken ICU interrupt handling changes; deraadt@ ok
|
#
1.16 |
|
12-Nov-2001 |
niklas |
Redo the ICU interrupt handling system to better emulate an APIC system. This is done by representing the current blockings of interrupts with a priority level instead of an interrupt mask. This makes it possible to share implementations for spl* functions/macros between both ICU and APIC (a must when going MP) systems. In this process, assign soft interrupts their own levels to match the way things will be on APIC systems where they actually will be real interrupts and not just bits in a pending mask as they are now. Heavily inspired by Bill Studenmunds SMP work in NetBSD
|
#
1.15 |
|
08-Nov-2001 |
mickey |
veli tpyo stolen fmor nkilsa
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.14 |
|
21-Sep-2001 |
mickey |
use _C_LABEL for c labels consistantly throghout the source
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.13 |
|
08-Nov-2000 |
art |
Use netisr_dispatch.h
|
Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
|
#
1.12 |
|
08-Dec-1999 |
itojun |
branches: 1.12.2; bring in KAME IPv6 code, dated 19991208. replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details.
GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.11 |
|
24-May-1999 |
jason |
Only do basic work in the ethernet interrupt context, and queue packets to be bridged. Do the real work in a scheduled netisr.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.10 |
|
07-Jan-1999 |
deraadt |
global decl for *intr() routines, plus add INET6
|
Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.9 |
|
23-Jul-1997 |
denny |
Add AppleTalk netisr. Only tested (indeed, only compiled) on mac68k port. Add options NETATALK to your config to try it out.
|
Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
|
#
1.8 |
|
16-Aug-1996 |
deraadt |
someone send me an i386 assembler book
|
#
1.7 |
|
16-Aug-1996 |
deraadt |
spin processing ast events before going back to userland; my fix
|
#
1.6 |
|
28-Jul-1996 |
downsj |
pccom and com are now mutually exclusive; pccom moves to major 8, the same as com.
Also various function renaming and such so that multiport drivers should now be able to link with pccom. pccomvar.h is no longer needed.
|
#
1.5 |
|
07-Jul-1996 |
downsj |
Integrate the i386 specific com driver from Onno van der Linden, <onno@simplex.nl>, as a seperate driver. This is the OpenBSD com.c, with his changes integrated and the functions renamed.
This driver should work with pcmcia, but hasn't been tested. It will not work the multiport boards.
Simply switch 'com' to 'pccom' in your conf and change the major number of your devices in order to use this.
|
#
1.4 |
|
30-Jun-1996 |
chuck |
add natm intr.
|
#
1.3 |
|
30-Apr-1996 |
mickey |
add IPX support. from now IPX fully attached to the system, but only for i386. other platforms need the same additions.
|
#
1.2 |
|
08-Jan-1996 |
deraadt |
from netbsd: Deal with GCC's dead code elimination being suboptimal. Modify splraise() to allow better optimization. Make cpl, ipending, and astpending volatile. Make sure interrupts are disabled before jumping to a resume point, to prevent races. Make FPU faults use INTRFASTEXIT, and remove INTREXIT. Build the frame for recursive interrupts manually, and make sure to disable interrupts to avoid races. VS: ----------------------------------------------------------------------
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.35 |
|
09-Jul-2018 |
guenther |
Delete the VM86 kernel option and i386_vm86(3) API: it's required a custom kernel for over 20 years.
testing mlarkin@ ok deraadt@ phessler@ jca@ matthieu@
|
#
1.34 |
|
11-Apr-2018 |
bluhm |
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@
|
Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
16-Jul-2015 |
guenther |
Move grab/release of the kernel_lock for softintrs from the ASM stubs to softintr_dispatch(). Delete traces of long superseded stats code.
ok beck@ mpi@ uebayasi@
|
#
1.32 |
|
28-Jun-2015 |
guenther |
Split AST handling from trap() into ast() and get rid of T_ASTFLT
testing by krw@, and then many via snapshots
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.31 |
|
21-Dec-2010 |
claudio |
Convert netisr to a normal soft interrupt instead of hanving MD code 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@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.30 |
|
09-May-2010 |
kettenis |
Make i386 use a pointer to the trap frame like everybody else instead of the weird "pass by reference" that causes problems with gcc4.
ok nicm@, tom@
|
Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
|
#
1.29 |
|
21-May-2008 |
kettenis |
Switch i386 from pccom to com. Welcomed by many.
ok dlg@, jsing@, deraadt@
|
#
1.28 |
|
07-May-2008 |
kettenis |
Move i386 to __HAVE_GENERIC_SOFT_INTERRUPTS
ok dlg@, tested by dlg@, oga@, jsg@, deraadt@
|
#
1.27 |
|
26-Apr-2008 |
kettenis |
Remove softast; it's no longer used.
ok krw@
|
#
1.26 |
|
25-Apr-2008 |
kettenis |
Make ipending per-cpu. Should fix PR 5788.
ok weingart@
|
Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.25 |
|
25-May-2007 |
krw |
"interupt" -> "interrupt" in various comments. Mostly from Diego Casati.
|
#
1.24 |
|
12-Apr-2007 |
art |
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@
|
Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
|
#
1.23 |
|
13-Dec-2005 |
aaron |
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
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.22 |
|
07-Jan-2005 |
pascoe |
Fix profiled kernel builds on i386 by moving splraise/splx code into macros permitting non-recursive reuse in mcount.
Should be a no-op for normal builds.
|
Revision tags: OPENBSD_3_6_BASE
|
#
1.21 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.20 |
|
06-Nov-2003 |
mickey |
move netisr definition into md code to allow arch provide suitable allocation; tested on most archs
|
Revision tags: OPENBSD_3_4_BASE UBC_SYNC_A
|
#
1.19 |
|
17-Apr-2003 |
drahn |
i386 changes to move to ELF. asm cleanup. Change MAXDSIZ to 512M for 1Gsep. DARPA funded work.
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_B
|
#
1.18 |
|
04-Dec-2001 |
niklas |
branches: 1.18.2; New try at a level based irq system.
|
#
1.17 |
|
18-Nov-2001 |
aaron |
Revert niklas's broken ICU interrupt handling changes; deraadt@ ok
|
#
1.16 |
|
12-Nov-2001 |
niklas |
Redo the ICU interrupt handling system to better emulate an APIC system. This is done by representing the current blockings of interrupts with a priority level instead of an interrupt mask. This makes it possible to share implementations for spl* functions/macros between both ICU and APIC (a must when going MP) systems. In this process, assign soft interrupts their own levels to match the way things will be on APIC systems where they actually will be real interrupts and not just bits in a pending mask as they are now. Heavily inspired by Bill Studenmunds SMP work in NetBSD
|
#
1.15 |
|
08-Nov-2001 |
mickey |
veli tpyo stolen fmor nkilsa
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.14 |
|
21-Sep-2001 |
mickey |
use _C_LABEL for c labels consistantly throghout the source
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.13 |
|
08-Nov-2000 |
art |
Use netisr_dispatch.h
|
Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
|
#
1.12 |
|
08-Dec-1999 |
itojun |
branches: 1.12.2; bring in KAME IPv6 code, dated 19991208. replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details.
GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.11 |
|
24-May-1999 |
jason |
Only do basic work in the ethernet interrupt context, and queue packets to be bridged. Do the real work in a scheduled netisr.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.10 |
|
07-Jan-1999 |
deraadt |
global decl for *intr() routines, plus add INET6
|
Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.9 |
|
23-Jul-1997 |
denny |
Add AppleTalk netisr. Only tested (indeed, only compiled) on mac68k port. Add options NETATALK to your config to try it out.
|
Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
|
#
1.8 |
|
16-Aug-1996 |
deraadt |
someone send me an i386 assembler book
|
#
1.7 |
|
16-Aug-1996 |
deraadt |
spin processing ast events before going back to userland; my fix
|
#
1.6 |
|
28-Jul-1996 |
downsj |
pccom and com are now mutually exclusive; pccom moves to major 8, the same as com.
Also various function renaming and such so that multiport drivers should now be able to link with pccom. pccomvar.h is no longer needed.
|
#
1.5 |
|
07-Jul-1996 |
downsj |
Integrate the i386 specific com driver from Onno van der Linden, <onno@simplex.nl>, as a seperate driver. This is the OpenBSD com.c, with his changes integrated and the functions renamed.
This driver should work with pcmcia, but hasn't been tested. It will not work the multiport boards.
Simply switch 'com' to 'pccom' in your conf and change the major number of your devices in order to use this.
|
#
1.4 |
|
30-Jun-1996 |
chuck |
add natm intr.
|
#
1.3 |
|
30-Apr-1996 |
mickey |
add IPX support. from now IPX fully attached to the system, but only for i386. other platforms need the same additions.
|
#
1.2 |
|
08-Jan-1996 |
deraadt |
from netbsd: Deal with GCC's dead code elimination being suboptimal. Modify splraise() to allow better optimization. Make cpl, ipending, and astpending volatile. Make sure interrupts are disabled before jumping to a resume point, to prevent races. Make FPU faults use INTRFASTEXIT, and remove INTREXIT. Build the frame for recursive interrupts manually, and make sure to disable interrupts to avoid races. VS: ----------------------------------------------------------------------
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.34 |
|
11-Apr-2018 |
bluhm |
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@
|
Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
16-Jul-2015 |
guenther |
Move grab/release of the kernel_lock for softintrs from the ASM stubs to softintr_dispatch(). Delete traces of long superseded stats code.
ok beck@ mpi@ uebayasi@
|
#
1.32 |
|
28-Jun-2015 |
guenther |
Split AST handling from trap() into ast() and get rid of T_ASTFLT
testing by krw@, and then many via snapshots
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.31 |
|
21-Dec-2010 |
claudio |
Convert netisr to a normal soft interrupt instead of hanving MD code 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@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.30 |
|
09-May-2010 |
kettenis |
Make i386 use a pointer to the trap frame like everybody else instead of the weird "pass by reference" that causes problems with gcc4.
ok nicm@, tom@
|
Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
|
#
1.29 |
|
21-May-2008 |
kettenis |
Switch i386 from pccom to com. Welcomed by many.
ok dlg@, jsing@, deraadt@
|
#
1.28 |
|
07-May-2008 |
kettenis |
Move i386 to __HAVE_GENERIC_SOFT_INTERRUPTS
ok dlg@, tested by dlg@, oga@, jsg@, deraadt@
|
#
1.27 |
|
26-Apr-2008 |
kettenis |
Remove softast; it's no longer used.
ok krw@
|
#
1.26 |
|
25-Apr-2008 |
kettenis |
Make ipending per-cpu. Should fix PR 5788.
ok weingart@
|
Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.25 |
|
25-May-2007 |
krw |
"interupt" -> "interrupt" in various comments. Mostly from Diego Casati.
|
#
1.24 |
|
12-Apr-2007 |
art |
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@
|
Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
|
#
1.23 |
|
13-Dec-2005 |
aaron |
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
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.22 |
|
07-Jan-2005 |
pascoe |
Fix profiled kernel builds on i386 by moving splraise/splx code into macros permitting non-recursive reuse in mcount.
Should be a no-op for normal builds.
|
Revision tags: OPENBSD_3_6_BASE
|
#
1.21 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.20 |
|
06-Nov-2003 |
mickey |
move netisr definition into md code to allow arch provide suitable allocation; tested on most archs
|
Revision tags: OPENBSD_3_4_BASE UBC_SYNC_A
|
#
1.19 |
|
17-Apr-2003 |
drahn |
i386 changes to move to ELF. asm cleanup. Change MAXDSIZ to 512M for 1Gsep. DARPA funded work.
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_B
|
#
1.18 |
|
04-Dec-2001 |
niklas |
branches: 1.18.2; New try at a level based irq system.
|
#
1.17 |
|
18-Nov-2001 |
aaron |
Revert niklas's broken ICU interrupt handling changes; deraadt@ ok
|
#
1.16 |
|
12-Nov-2001 |
niklas |
Redo the ICU interrupt handling system to better emulate an APIC system. This is done by representing the current blockings of interrupts with a priority level instead of an interrupt mask. This makes it possible to share implementations for spl* functions/macros between both ICU and APIC (a must when going MP) systems. In this process, assign soft interrupts their own levels to match the way things will be on APIC systems where they actually will be real interrupts and not just bits in a pending mask as they are now. Heavily inspired by Bill Studenmunds SMP work in NetBSD
|
#
1.15 |
|
08-Nov-2001 |
mickey |
veli tpyo stolen fmor nkilsa
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.14 |
|
21-Sep-2001 |
mickey |
use _C_LABEL for c labels consistantly throghout the source
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.13 |
|
08-Nov-2000 |
art |
Use netisr_dispatch.h
|
Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
|
#
1.12 |
|
08-Dec-1999 |
itojun |
branches: 1.12.2; bring in KAME IPv6 code, dated 19991208. replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details.
GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.11 |
|
24-May-1999 |
jason |
Only do basic work in the ethernet interrupt context, and queue packets to be bridged. Do the real work in a scheduled netisr.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.10 |
|
07-Jan-1999 |
deraadt |
global decl for *intr() routines, plus add INET6
|
Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.9 |
|
23-Jul-1997 |
denny |
Add AppleTalk netisr. Only tested (indeed, only compiled) on mac68k port. Add options NETATALK to your config to try it out.
|
Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
|
#
1.8 |
|
16-Aug-1996 |
deraadt |
someone send me an i386 assembler book
|
#
1.7 |
|
16-Aug-1996 |
deraadt |
spin processing ast events before going back to userland; my fix
|
#
1.6 |
|
28-Jul-1996 |
downsj |
pccom and com are now mutually exclusive; pccom moves to major 8, the same as com.
Also various function renaming and such so that multiport drivers should now be able to link with pccom. pccomvar.h is no longer needed.
|
#
1.5 |
|
07-Jul-1996 |
downsj |
Integrate the i386 specific com driver from Onno van der Linden, <onno@simplex.nl>, as a seperate driver. This is the OpenBSD com.c, with his changes integrated and the functions renamed.
This driver should work with pcmcia, but hasn't been tested. It will not work the multiport boards.
Simply switch 'com' to 'pccom' in your conf and change the major number of your devices in order to use this.
|
#
1.4 |
|
30-Jun-1996 |
chuck |
add natm intr.
|
#
1.3 |
|
30-Apr-1996 |
mickey |
add IPX support. from now IPX fully attached to the system, but only for i386. other platforms need the same additions.
|
#
1.2 |
|
08-Jan-1996 |
deraadt |
from netbsd: Deal with GCC's dead code elimination being suboptimal. Modify splraise() to allow better optimization. Make cpl, ipending, and astpending volatile. Make sure interrupts are disabled before jumping to a resume point, to prevent races. Make FPU faults use INTRFASTEXIT, and remove INTREXIT. Build the frame for recursive interrupts manually, and make sure to disable interrupts to avoid races. VS: ----------------------------------------------------------------------
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.33 |
|
16-Jul-2015 |
guenther |
Move grab/release of the kernel_lock for softintrs from the ASM stubs to softintr_dispatch(). Delete traces of long superseded stats code.
ok beck@ mpi@ uebayasi@
|
#
1.32 |
|
28-Jun-2015 |
guenther |
Split AST handling from trap() into ast() and get rid of T_ASTFLT
testing by krw@, and then many via snapshots
|
Revision tags: OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.31 |
|
21-Dec-2010 |
claudio |
Convert netisr to a normal soft interrupt instead of hanving MD code 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@
|
Revision tags: OPENBSD_4_8_BASE
|
#
1.30 |
|
09-May-2010 |
kettenis |
Make i386 use a pointer to the trap frame like everybody else instead of the weird "pass by reference" that causes problems with gcc4.
ok nicm@, tom@
|
Revision tags: OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE
|
#
1.29 |
|
21-May-2008 |
kettenis |
Switch i386 from pccom to com. Welcomed by many.
ok dlg@, jsing@, deraadt@
|
#
1.28 |
|
07-May-2008 |
kettenis |
Move i386 to __HAVE_GENERIC_SOFT_INTERRUPTS
ok dlg@, tested by dlg@, oga@, jsg@, deraadt@
|
#
1.27 |
|
26-Apr-2008 |
kettenis |
Remove softast; it's no longer used.
ok krw@
|
#
1.26 |
|
25-Apr-2008 |
kettenis |
Make ipending per-cpu. Should fix PR 5788.
ok weingart@
|
Revision tags: OPENBSD_4_2_BASE OPENBSD_4_3_BASE
|
#
1.25 |
|
25-May-2007 |
krw |
"interupt" -> "interrupt" in various comments. Mostly from Diego Casati.
|
#
1.24 |
|
12-Apr-2007 |
art |
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@
|
Revision tags: OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE
|
#
1.23 |
|
13-Dec-2005 |
aaron |
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
|
Revision tags: OPENBSD_3_7_BASE OPENBSD_3_8_BASE
|
#
1.22 |
|
07-Jan-2005 |
pascoe |
Fix profiled kernel builds on i386 by moving splraise/splx code into macros permitting non-recursive reuse in mcount.
Should be a no-op for normal builds.
|
Revision tags: OPENBSD_3_6_BASE
|
#
1.21 |
|
13-Jun-2004 |
niklas |
debranch SMP, have fun
|
Revision tags: OPENBSD_3_5_BASE SMP_SYNC_A SMP_SYNC_B
|
#
1.20 |
|
06-Nov-2003 |
mickey |
move netisr definition into md code to allow arch provide suitable allocation; tested on most archs
|
Revision tags: OPENBSD_3_4_BASE UBC_SYNC_A
|
#
1.19 |
|
17-Apr-2003 |
drahn |
i386 changes to move to ELF. asm cleanup. Change MAXDSIZ to 512M for 1Gsep. DARPA funded work.
|
Revision tags: OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE UBC_BASE UBC_SYNC_B
|
#
1.18 |
|
04-Dec-2001 |
niklas |
branches: 1.18.2; New try at a level based irq system.
|
#
1.17 |
|
18-Nov-2001 |
aaron |
Revert niklas's broken ICU interrupt handling changes; deraadt@ ok
|
#
1.16 |
|
12-Nov-2001 |
niklas |
Redo the ICU interrupt handling system to better emulate an APIC system. This is done by representing the current blockings of interrupts with a priority level instead of an interrupt mask. This makes it possible to share implementations for spl* functions/macros between both ICU and APIC (a must when going MP) systems. In this process, assign soft interrupts their own levels to match the way things will be on APIC systems where they actually will be real interrupts and not just bits in a pending mask as they are now. Heavily inspired by Bill Studenmunds SMP work in NetBSD
|
#
1.15 |
|
08-Nov-2001 |
mickey |
veli tpyo stolen fmor nkilsa
|
Revision tags: OPENBSD_3_0_BASE
|
#
1.14 |
|
21-Sep-2001 |
mickey |
use _C_LABEL for c labels consistantly throghout the source
|
Revision tags: OPENBSD_2_9_BASE
|
#
1.13 |
|
08-Nov-2000 |
art |
Use netisr_dispatch.h
|
Revision tags: OPENBSD_2_7_BASE OPENBSD_2_8_BASE SMP_BASE kame_19991208
|
#
1.12 |
|
08-Dec-1999 |
itojun |
branches: 1.12.2; bring in KAME IPv6 code, dated 19991208. replaces NRL IPv6 layer. reuses NRL pcb layer. no IPsec-on-v6 support. see sys/netinet6/{TODO,IMPLEMENTATION} for more details.
GENERIC configuration should work fine as before. GENERIC.v6 works fine as well, but you'll need KAME userland tools to play with IPv6 (will be bringed into soon).
|
Revision tags: OPENBSD_2_6_BASE
|
#
1.11 |
|
24-May-1999 |
jason |
Only do basic work in the ethernet interrupt context, and queue packets to be bridged. Do the real work in a scheduled netisr.
|
Revision tags: OPENBSD_2_5_BASE
|
#
1.10 |
|
07-Jan-1999 |
deraadt |
global decl for *intr() routines, plus add INET6
|
Revision tags: OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE
|
#
1.9 |
|
23-Jul-1997 |
denny |
Add AppleTalk netisr. Only tested (indeed, only compiled) on mac68k port. Add options NETATALK to your config to try it out.
|
Revision tags: OPENBSD_2_0_BASE OPENBSD_2_1_BASE
|
#
1.8 |
|
16-Aug-1996 |
deraadt |
someone send me an i386 assembler book
|
#
1.7 |
|
16-Aug-1996 |
deraadt |
spin processing ast events before going back to userland; my fix
|
#
1.6 |
|
28-Jul-1996 |
downsj |
pccom and com are now mutually exclusive; pccom moves to major 8, the same as com.
Also various function renaming and such so that multiport drivers should now be able to link with pccom. pccomvar.h is no longer needed.
|
#
1.5 |
|
07-Jul-1996 |
downsj |
Integrate the i386 specific com driver from Onno van der Linden, <onno@simplex.nl>, as a seperate driver. This is the OpenBSD com.c, with his changes integrated and the functions renamed.
This driver should work with pcmcia, but hasn't been tested. It will not work the multiport boards.
Simply switch 'com' to 'pccom' in your conf and change the major number of your devices in order to use this.
|
#
1.4 |
|
30-Jun-1996 |
chuck |
add natm intr.
|
#
1.3 |
|
30-Apr-1996 |
mickey |
add IPX support. from now IPX fully attached to the system, but only for i386. other platforms need the same additions.
|
#
1.2 |
|
08-Jan-1996 |
deraadt |
from netbsd: Deal with GCC's dead code elimination being suboptimal. Modify splraise() to allow better optimization. Make cpl, ipending, and astpending volatile. Make sure interrupts are disabled before jumping to a resume point, to prevent races. Make FPU faults use INTRFASTEXIT, and remove INTREXIT. Build the frame for recursive interrupts manually, and make sure to disable interrupts to avoid races. VS: ----------------------------------------------------------------------
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|