| History log of /src/sys/arch/alpha/include/intr.h |
| Revision | | Date | Author | Comments |
| 1.85 |
| 16-Jul-2021 |
thorpej | The Alpha AXP Architecture Reference Manual is explcit that the only valid bits in the PSL are the IPL and USER bits, the latter of which will always be clear when in the kernel, and that all other bits MBZ. So, when reading the PSL to get the current IPL, don't bother masking with ALPHA_PSL_IPL_MASK.
|
| 1.84 |
| 04-Jul-2021 |
thorpej | Reduce code duplication when setting up the interrupt handler data structures: - alpha_shared_intr_alloc() no longer takes a "string length" argument, and just uses kmem_asprintf() to create an "irq %u" string by default. This is suitable for nearly every caller. - Add a alpha_shared_intr_set_string() that allows callers to override the default IRQ description string. - Related: make alpha_shared_intr_string() return a const char *, since no callers should need to modify the string directly now. - Re-factor PCI shared interrupt structure allocation / initialization into a new alpha_pci_intr_alloc(), which is suitable for nearly every Alpha PCI platform. Callers are expected to first have initialized the interrupt hardware to the quiescent state.
Adjust various call sites of above functions to account for changes, even if they are not able to use the newly re-factored code.
|
| 1.83 |
| 10-Oct-2020 |
thorpej | branches: 1.83.6; Fix cycle counter-based time keeping on Alpha in MP environments by using a simpler calibration algorithm for the CC timecounter. Proposed in 2018 by Naruaki Etomi:
https://mail-index.netbsd.org/tech-kern/2018/01/14/msg022940.html
This patch is largely based on the proposed change, but avoids changing any other timecounter logic, and re-factors things a bit to keep them as MI as possible.
|
| 1.82 |
| 26-Sep-2020 |
thorpej | Implement cpu_intr_redistribute() for Tusnami/Titan systems.
|
| 1.81 |
| 25-Sep-2020 |
thorpej | Changes to make interrupt {,dis}establish MP-safe on Alpha: - Protect all of the system interrupt linkage with the cpu_lock mutex. - Re-order some of the stores to the SCB vector table to make it safe in the face of lockless interrupt dispatch. - Add a framework for routing interrupts to specific CPUs. Interrupts are still funneled only to the primary CPU, but that will change for some systems soon. Ensure that interrupt handler lists are manipulated only on the CPUs that handle that specific interrupt source. This required a re-factor of the alpha_shared_intr_*() family of functions. - Enable __HAVE_INTR_CONTROL, although interrupt redistribution is still a no-op. - Reduce code duplication in the Jenson direct-SCB interrupt handlers.
|
| 1.80 |
| 23-Sep-2020 |
thorpej | Use a wrapper to acquire the kernel lock for non-MPSAFE interrupts, rather than doing it in alpha_shared_intr_establish() directly.
|
| 1.79 |
| 22-Sep-2020 |
thorpej | Changes to make MPSAFE interrupts work on Alpha:
- Remove the ipl argument to scb_set() and the associated array of "mpsafe" booleans initialized based on the ipl. It was bogus anyway; all IPL_{BIO,NET,TTY}, etc. values are aliases of IPL_VM, and for all practical purposes, there is really only one device interrrupt level on Alpha anyway. Intead, we now treat all dispatches from the SCB vector table as MP-safe, and it is now the handler for that vector who is responsible for acquiring the KERNEL_LOCK if needed.
- Update the direct interrupt vector handlers in jensenio and TURBOchannel to acquire the KERNEL_LOCK.
- Introduce a new ALPHA_INTR_MPSAFE flag, and add a flags argument to alpha_shared_intr_establish(). When it is set, indicate that the handler is MP-safe. Update alpha_shared_intr_dispatch() to pay attention and acquire the KERNEL_LOCK (or not) as indicated.
- Re-factor all of the PCI interrupt handling, providing "generic PCI" "PCI interrupts through ISA IRQs" implementations to significantly reduce code duplication. Supplement the PCI chipset tag with more info to facilitate this, and make the PCI interrupt-related routines take a pci_chipset_tag_t argument rather than a void * argument.
- Because PCI interrupts on KN8AE are dispatched directly from the SCB, provide a wrapper for non-MPSAFE interrupt handlers that acquires the KERNEL_LOCK.
- Change the pci_intr_handle_t type to be a struct rather than an integer type in order to catch any direct use of it as a value. Add a set of functions to interact with pci_intr_handle_t, including setting interrupt flags.
- Implement pci_intr_setattr() so that the PCI_INTR_MPSAFE attribute can be set on a pci_intr_handle_t.
- While I'm here, make all of the MI PCI back-end operations call through real functions rather than hopping directly through function pointers in the chipset tag.
This change looks a lot bigger than it really is because of the re-factor in the plethora of model-specific PCI interrupt back-ends. The KN8AE, KN300, and T2/T3/T4 (Sable) are largely un-changed.
|
| 1.78 |
| 19-Sep-2020 |
thorpej | Move softintr bits into <machine/intr.h> and define ALPHA_ALL_SOFTINTS for locore.s
|
| 1.77 |
| 17-Sep-2020 |
thorpej | Reduce the __HAVE_FAST_SOFTINTS #ifdef perimeter.
|
| 1.76 |
| 16-Sep-2020 |
thorpej | Implement fast soft interrupts for Alpha. It's not yet enabled, because there is a bug lurking that causes problems when user space starts up, so we'll stick with the slow path for now.
|
| 1.75 |
| 05-Sep-2020 |
thorpej | Track the SSIR per-cpu, rather than globally.
|
| 1.74 |
| 05-Sep-2020 |
thorpej | - Document all of the various interrupt levels in the Processor Stataus register, and provide symbolic names for them as well. - Use ALPHA_PSL_IPL_* values directly for IPL_*.
|
| 1.73 |
| 29-Aug-2020 |
thorpej | - Centralize per-CPU pmap initialization into a new pmap_init_cpu() function. Call in from pmap_bootstrap() for the boot CPU, and from cpu_hatch() for secondaary CPUs. - Eliminiate the dedicated I-stream memory barrier IPI; handle it all from the TLB shootdown IPI. Const poison, and add some additional memory barriers and a TBIA to the PAUSE IPI. - Completly rewrite TLB management in the alpha pmap module, borrowing somoe ideas from the x86 pmap and adapting them to the alpha environment. See the comments for theory of operation. Add a bunch of stats that can be reported (disabled by default). - Add some additional symbol decorations to improve cache behavior on MP systems. Ensure coherency unit alignment for several structures in the pmap module. Use hashed locks for pmap structures. - Start out all new processes on the kernel page tables until their first trip though pmap_activate() to avoid the potential of polluting the current ASN in TLB with cross-process mappings.
|
| 1.72 |
| 14-Jan-2017 |
christos | fix types.
|
| 1.71 |
| 19-May-2014 |
rmind | branches: 1.71.4; 1.71.8; Implement MI IPI interface with cross-call support.
|
| 1.70 |
| 06-Feb-2012 |
matt | branches: 1.70.6; 1.70.20; Do a minor cleanup of alpha (this will make applying pullups post branching easier). u_int{8,16,32,64}_t -> uint{*}_t Change all old-style definitions to C89 prototypes. Whitespace cleanup. Constification in db_disasm.c
|
| 1.69 |
| 07-Jun-2011 |
matt | branches: 1.69.2; 1.69.6; Switch alpha to use PCU to manage the FPU. Tested by mhitch and review by rmind.
|
| 1.68 |
| 22-Jun-2010 |
rmind | branches: 1.68.6; Implement high priority (XC_HIGHPRI) xcall(9) mechanism - a facility to execute functions from software interrupt context, at SOFTINT_CLOCK. Functions must be lightweight. Will be used for passive serialization.
OK ad@.
|
| 1.67 |
| 26-Oct-2009 |
thorpej | branches: 1.67.2; 1.67.4; Garbage-collect pmap_do_reactivate() and the associated IPI -- nothing has used them for a long time.
|
| 1.66 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
| 1.65 |
| 24-Apr-2008 |
he | branches: 1.65.2; This file needs <machine/cpu.h> included, for the ALPHA_PSL_IPL_* constants it uses.
|
| 1.64 |
| 10-Mar-2008 |
ad | branches: 1.64.2; Finish moving alpha over to the MI atomic ops.
|
| 1.63 |
| 04-Jan-2008 |
ad | branches: 1.63.2; 1.63.6; More header file cleanup.
|
| 1.62 |
| 03-Dec-2007 |
ad | branches: 1.62.6; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
| 1.61 |
| 17-Oct-2007 |
garbled | branches: 1.61.2; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
| 1.60 |
| 18-May-2007 |
mhitch | branches: 1.60.8; 1.60.10; Fix alpha build after idlelwp merge. I don't know why machine/cpu.h was added here, but it does not seem to be needed now, and was resulting in a circular dependency when sys/sched.h was changed in the yamt-idlelpw branch.
|
| 1.59 |
| 16-Feb-2007 |
ad | branches: 1.59.6; 1.59.8; 1.59.12; 1.59.14; Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts via a soft interrupt. In the near future, softclock will be run from process context.
|
| 1.58 |
| 09-Feb-2007 |
ad | Merge newlock2 to head.
|
| 1.57 |
| 12-Jan-2007 |
ad | Define ipl_cookie_t._psl as uint8_t so that it can be packed into a word with other seldomly written fields.
|
| 1.56 |
| 21-Dec-2006 |
yamt | merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
| 1.55 |
| 16-Feb-2006 |
perry | branches: 1.55.14; 1.55.16; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
| 1.54 |
| 24-Dec-2005 |
perry | branches: 1.54.2; 1.54.4; 1.54.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
| 1.53 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
| 1.52 |
| 03-Nov-2005 |
yamt | - use sys/spl.h. - add some IPL_ definitions.
|
| 1.51 |
| 29-Oct-2005 |
yamt | pull splraiseipl() from newlock branch.
|
| 1.50 |
| 29-Mar-2005 |
thorpej | branches: 1.50.2; 1.50.4; - Add a alpha_shared_intr_reset_strays() function that resets the stray interrupt counter for a given shared interrupt descriptor. - When an interrupt is successfully handled, reset the strays counter, thus preventing a "slow leak" from eventually shutting off the interrupt vector. Idea taken from pci_kn300.c (which was changed to use the new alpha_shared_intr_reset_strays() function).
|
| 1.49 |
| 27-Jul-2001 |
thorpej | branches: 1.49.2; 1.49.10; 1.49.22; 1.49.28; 1.49.30; 1.49.36; Rework the interrupt code, shaving some cycles off in the process. Rather than an "iointr" routine that decomposes a vector into an IRQ, we maintain a vector table directly, hooking up each "iointr" routine at the correct vector. This also allows us to hook device interrupts up to specific vectors (c.f. Jensen).
We can shave even more cycles off, here, and I will, but it requires some changes to the alpha_shared_intr stuff.
|
| 1.48 |
| 15-Jul-2001 |
thorpej | - Tweak the pmap locking protocol slightly -- require that a pmap must be locked before it can be marked as `active' on a processor. - Require that pmaps other than the kernel pmap be locked when they are passed to pmap_tlb_shootdown(). This, combined with the locking protocol tweak, allow us to get a consistent view of `activeness' of a pmap, which means we can optmize away a lot of TLB shootdown traffic for user pmaps. - Borrow an idea from the i386mp branch; use the normal SHOOTDOWN IPI to deal with hitting the entire TLB, and garbage-collect the TBIA and TBIAP IPIs.
|
| 1.47 |
| 28-Apr-2001 |
thorpej | branches: 1.47.2; Add a microtime() implementation that interpolates between ticks using the cycle counter. MP-safeness is achieved by giving each CPU its own PCC frequency variables, and kicking the non-primary processors via an IPI once per second.
Based on the sample code from David Mills' "A Kernel Model for Precision Timekeeping".
|
| 1.46 |
| 20-Apr-2001 |
thorpej | Add splipi() to block interprocessor interrupts (which come in at IPL 5).
|
| 1.45 |
| 20-Apr-2001 |
thorpej | pmap_asn_alloc(): In a multiprocessor configuration, it's possible to arrive here referencing the kernel_lev1map without having the RESERVED ASN -- another CPU may have caused pmap_lev1map_destroy() to be called, and that routine only invalidates the ASN for the CPU that called it. So, in the MULTIPROCESSOR case, simply assign the RESERVED ASN if we reference the kernel_lev1map rather than asserting that we already have the RESERVED ASN. Thanks to Bill Sommerfeld for helping me track down the problem.
Also add a new IPI that causes a CPU to re-activate its address space if the pmap it's using changes level 1 maps (this probably won't happen very often, but it's correct to have it).
This makes Alpha MP kernels boot multiuser. In fact, this commit is being made from my dual-CPU AlphaServer 1200 running an MP kernel.
|
| 1.44 |
| 15-Apr-2001 |
thorpej | In splx(), don't call spl0() unless the ssir != 0.
|
| 1.43 |
| 15-Apr-2001 |
thorpej | Clean up soft interrupt related stuff a bit.
|
| 1.42 |
| 14-Apr-2001 |
thorpej | Change the softintr implementation to be a bit more cache friendly (though, sigh, slightly more expensive at softintr_schedule() time).
|
| 1.41 |
| 13-Apr-2001 |
thorpej | Remove the use of splimp() from the NetBSD kernel. splnet() and only splnet() is allowed for the protection of data structures used by network devices.
|
| 1.40 |
| 15-Jan-2001 |
thorpej | branches: 1.40.2; Make softclock a generic soft interrupt of the API is available, adding the requisite void * argument to softclock().
|
| 1.39 |
| 14-Jan-2001 |
thorpej | Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS, and place the definition in <machine/types.h>. This can now be used as a flag to indicate whether or not <machine/intr.h> can be included to get the generic soft interrupt API.
|
| 1.38 |
| 14-Jan-2001 |
thorpej | Make sure everybody has an splvm() and equate it with splimp() (splimp() is the historical name for this interrupt level, and the historical name is going to go away in the near future).
|
| 1.37 |
| 22-Nov-2000 |
thorpej | Several changes, which get us generally further along with multiprocessor support: - Implement MP-safe halt. - Make the FPU saving code more like Bill's on the i386 MP branch. XXX This code will no doubt be revisited again. - Pass the cpu_info and trapframe to IPI handlers, saving some work in the handlers themselves, and also making it possible for the "pause" handler to reference register state for DDB. - Add "machine cpu" to DDB, making it possible to reference other CPUs registers (and thus get e.g. a traceback) from whichever CPU is actually running the debugger. - Garbage-collect "machine halt" and "machine reboot" DDB commands. They don't have a prayer of working properly in multiprocessor kernels, and didn't really work all that well in uniprocessor kernels.
|
| 1.36 |
| 20-Nov-2000 |
thorpej | Move IPI processing into a separate function.
|
| 1.35 |
| 18-Nov-2000 |
thorpej | Count individual interprocessor interrupts -- it's good to know where they all come from.
|
| 1.34 |
| 22-Aug-2000 |
thorpej | Add spllock(). See spl(9) for details.
|
| 1.33 |
| 21-Aug-2000 |
thorpej | Add experimental code for pausing other CPUs upon a CPU's entry into the debugger. While I'm here, add splsched() as per spl(9).
|
| 1.32 |
| 15-Aug-2000 |
thorpej | Implement MP-safe lazy FP context switching, modeled on the way Bill Sommerfeld implemented it for x86 (and bug fixes fed back to Bill :-)
|
| 1.31 |
| 13-Aug-2000 |
thorpej | Add alpha_multicast_ipi().
|
| 1.30 |
| 13-Jul-2000 |
thorpej | Whitespace police.
|
| 1.29 |
| 09-Jun-2000 |
cgd | make spl0() and spllowersoftclock() return void. Also, move spl0() prototype from param.h to intr.h. (there were some big XXXs in param.h that said to do that, and intr.h is included by param.h, so...)
|
| 1.28 |
| 05-Jun-2000 |
thorpej | Switch to the new `evcnt' mechanism for counting interrupts. Maintain a per-CPU interrupt counter for clock, device, and interprocessor interrupts.
|
| 1.27 |
| 04-Jun-2000 |
thorpej | Un-__P'ify kernel prototypes.
|
| 1.26 |
| 03-Jun-2000 |
thorpej | - Clean up clock interrupt code a bit, and provide a CPU_IS_PRIMARY() macro in the MULTIPROCESSOR case (hardclock() wants it). - Implement __GENERIC_SOFT_INTERRUPTS, and redefine the legacy software interrupts in terms of it. Garbage-collect setsoftserial().
|
| 1.25 |
| 23-May-2000 |
thorpej | branches: 1.25.2; Rename the atomic operations to have generic machine-independent names, and define __HAVE_ATOMIC_OPERATIONS to indicate their existence.
|
| 1.24 |
| 19-Mar-2000 |
thorpej | Point back to the alpha_shared_intr in the intrhand structure. This allows platform-specific code to access the `intr_private' data via the intrhand structure.
|
| 1.23 |
| 02-Dec-1999 |
thorpej | Move atomic operations into <machine/atomic.h>, and make them in-line assembly, rather than function calls.
...except alpha_atomic_testset_l(), which will go away completely once I commit the new <machine/lock.h>.
|
| 1.22 |
| 29-Nov-1999 |
thorpej | - Fix a botch in the IPI bitmasks (they were right-shifted by 1), and add an IPI which causes the target CPU to perform AST processing when it returns to userspace. - Add a way to get/set a private pointer in the shared interrupt header.
|
| 1.21 |
| 10-Aug-1999 |
thorpej | branches: 1.21.2; 1.21.8; Use atomic operations to manipulate the SSIR, and fix a problem introduced with the spllowersoftclock() changes where more interrupts than necessary were blocked while software interrupts were being processed.
|
| 1.20 |
| 05-Aug-1999 |
thorpej | Change the semantics of splsoftclock() to be like other spl*() functions, that is priority is rasied. Add a new spllowersoftclock() to provide the atomic drop-to-softclock semantics that the old splsoftclock() provided, and update calls accordingly.
This fixes a problem with using the "rnd" pseudo-device from within interrupt context to extract random data (e.g. from within the softnet interrupt) where doing so would incorrectly unblock interrupts (causing all sorts of lossage).
XXX 4 platforms do not have priority-raising capability: newsmips, sparc, XXX sparc64, and VAX. This platforms still have this bug until their XXX spl*() functions are fixed.
|
| 1.19 |
| 24-Feb-1999 |
thorpej | Restructure the IPI code a little, allowing multiple IPIs to be sent at once. Add a way to broadcast an IPI to all processors (except the sender, obviously). Add an IPI for TLB shootdown.
|
| 1.18 |
| 26-Sep-1998 |
thorpej | Add basic interprocessor interrupt sending and receiving code. Current IPI functions: HALT, IMB, TBIA, TBIAP.
XXX HALT is not yet implemented, it's just a stub.
|
| 1.17 |
| 25-Sep-1998 |
thorpej | Minor style tweaks.
|
| 1.16 |
| 21-Sep-1998 |
matt | Add softserial to the alpha port. This significantly improved PPP throughput on com ports.
|
| 1.15 |
| 01-Aug-1998 |
thorpej | Implement alpha_shared_intr_disestablish(). Simply removes the handler fromthe list, allowing the caller to manipulate the sharing type, if appropriate.
|
| 1.14 |
| 18-Jul-1998 |
is | Switching dev/ic/lpt.c to use spllpt() instead of spltty(). It doesn't use tty structures, and on some machines (namely the DraCo internal lpt, and some multi-i/o boards for Amigas and DraCos), tying spltty to the pretty high printer interupt level would hurt serial performance.
On all affected ports but Amiga, spllpt() has been defined in machine/intr.h to be spltty(), thus preserving old behaviour. Portmasters are encouraged to change is, if they feel something else is better (e.g., one of its own were possible).
|
| 1.13 |
| 07-Jul-1998 |
thorpej | On second thought, call that like the rest of the shared intr functions.
|
| 1.12 |
| 07-Jul-1998 |
thorpej | Define a macro to test if a shared interrupt should be disabled after a stray has occurred.
|
| 1.11 |
| 10-Nov-1997 |
mjacob | Protect userland applications from the inline splraise function.
|
| 1.10 |
| 07-Jul-1997 |
cgd | branches: 1.10.6; mark prototypes for static inline functions as possibly unused (with __attribute__ ((unused))), to avoid generating warnings when compiling without optimization but with the default warning flags.
|
| 1.9 |
| 05-Jun-1997 |
cgd | two more slight bogons
|
| 1.8 |
| 05-Jun-1997 |
cgd | actually, declare _splraise() as an inline function, because: (1) it was using 'max', and some functions use a variable of that name (*sigh*), and (2) that makes it easier to be a bit trickier, and only call swpipl if changing the IPL.
|
| 1.7 |
| 05-Jun-1997 |
cgd | parens around macro arg (this is an old one)
|
| 1.6 |
| 05-Jun-1997 |
cgd | make sure that splnet(), splbio(), splimp(), spltty(), splclock(), splstatclock(), and splhigh() all _raise_ the IPL. (splhigh() is _not_ the highest possible IPL; mcheck is...)
|
| 1.5 |
| 06-Apr-1997 |
cgd | clean up NetBSD RCS ID strings
|
| 1.4 |
| 03-Dec-1996 |
cgd | branches: 1.4.2; kill siroff() and resturcture do_sir() to be cleaner and more correct.
|
| 1.3 |
| 17-Nov-1996 |
cgd | implement a (hack-ish) set of routines to do common chained-interrupt handler management. It's nasty, but three slightly different copies of the code is worse.
|
| 1.2 |
| 09-Jul-1996 |
cgd | various cleanup, move setsoft* and spl* into intr.h.
|
| 1.1 |
| 12-Apr-1996 |
cgd | the Alpha implementation of <machine/intr.h>
|
| 1.4.2.3 |
| 22-Jul-1997 |
cgd | sync nwscons branch with changes in -current as of July 21, 1997
|
| 1.4.2.2 |
| 06-Jun-1997 |
cgd | sync nwscons with trunk
|
| 1.4.2.1 |
| 01-Jun-1997 |
cgd | sync the nwscons branch up with yesterday's version of the trunk. Lots of conflicts/changes because of the RCS Id format changes. Also, a few cleanups and corrections.
|
| 1.10.6.1 |
| 11-Nov-1997 |
mellon | Pull rev 1.11 up from trunk (mjacob)
|
| 1.21.8.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
| 1.21.2.6 |
| 23-Apr-2001 |
bouyer | Sync with HEAD.
|
| 1.21.2.5 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
| 1.21.2.4 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
| 1.21.2.3 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
| 1.21.2.2 |
| 22-Nov-2000 |
bouyer | Sync with HEAD.
|
| 1.21.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
| 1.25.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
| 1.40.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
| 1.47.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
| 1.49.36.1 |
| 30-Mar-2005 |
tron | Pull up revision 1.50 (requested by thorpej in ticket #76): - Add a alpha_shared_intr_reset_strays() function that resets the stray interrupt counter for a given shared interrupt descriptor. - When an interrupt is successfully handled, reset the strays counter, thus preventing a "slow leak" from eventually shutting off the interrupt vector. Idea taken from pci_kn300.c (which was changed to use the new alpha_shared_intr_reset_strays() function).
|
| 1.49.30.1 |
| 29-Apr-2005 |
kent | sync with -current
|
| 1.49.28.1 |
| 11-May-2005 |
riz | Pull up revision 1.50 (requested by thorpej in ticket #1373): - Add a alpha_shared_intr_reset_strays() function that resets the stray interrupt counter for a given shared interrupt descriptor. - When an interrupt is successfully handled, reset the strays counter, thus preventing a "slow leak" from eventually shutting off the interrupt vector. Idea taken from pci_kn300.c (which was changed to use the new alpha_shared_intr_reset_strays() function).
|
| 1.49.22.2 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
| 1.49.22.1 |
| 01-Apr-2005 |
skrll | Sync with HEAD.
|
| 1.49.10.2 |
| 11-Mar-2002 |
thorpej | Add IPL_VM. (Other ports call this IPL_IMP, and that will be changed in short order.)
|
| 1.49.10.1 |
| 10-Mar-2002 |
thorpej | Adjustments for new mutex routines: * Make all the IPL_* constants meaningful within a single number domain. * Use new SI_* constants to number the soft interrupt queues, rather than IPL_SOFT*. * Add splraiseipl() for use by kern_mutex.c. Usage is e.g. splraiseipl(IPL_BIO).
|
| 1.49.2.2 |
| 27-Jul-2001 |
thorpej | Rework the interrupt code, shaving some cycles off in the process. Rather than an "iointr" routine that decomposes a vector into an IRQ, we maintain a vector table directly, hooking up each "iointr" routine at the correct vector. This also allows us to hook device interrupts up to specific vectors (c.f. Jensen).
We can shave even more cycles off, here, and I will, but it requires some changes to the alpha_shared_intr stuff.
|
| 1.49.2.1 |
| 27-Jul-2001 |
thorpej | file intr.h was added on branch nathanw_sa on 2001-07-27 00:25:20 +0000
|
| 1.50.4.1 |
| 02-Nov-2005 |
yamt | sync with head.
|
| 1.50.2.7 |
| 17-Mar-2008 |
yamt | sync with head.
|
| 1.50.2.6 |
| 21-Jan-2008 |
yamt | sync with head
|
| 1.50.2.5 |
| 07-Dec-2007 |
yamt | sync with head
|
| 1.50.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
| 1.50.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
| 1.50.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
| 1.50.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
| 1.54.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
| 1.54.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
| 1.54.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
| 1.55.16.3 |
| 21-Sep-2006 |
yamt | rename splraiseipl argument to match with the rest of ports.
|
| 1.55.16.2 |
| 18-Sep-2006 |
yamt | correct a header.
|
| 1.55.16.1 |
| 18-Sep-2006 |
yamt | implement new api for alpha.
|
| 1.55.14.2 |
| 01-Feb-2007 |
ad | Header file cleanup.
|
| 1.55.14.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
| 1.59.14.1 |
| 22-May-2007 |
matt | Update to HEAD.
|
| 1.59.12.1 |
| 18-Apr-2007 |
thorpej | Convert to the new atomic op API.
|
| 1.59.8.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
| 1.59.6.5 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
| 1.59.6.4 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
| 1.59.6.3 |
| 18-Oct-2007 |
ad | More interrupt changes; collapse the symbolic levels down to the ones that we actually need (none, soft, vm, sched, high) but retain aliases like IPL_BIO for now.
|
| 1.59.6.2 |
| 18-Oct-2007 |
ad | Interrupt stuff for alpha (but no fast softints yet).
|
| 1.59.6.1 |
| 27-May-2007 |
ad | Sync with head.
|
| 1.60.10.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
| 1.60.10.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.60.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
| 1.60.8.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
| 1.61.2.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
| 1.61.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
| 1.62.6.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
| 1.63.6.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
| 1.63.6.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
| 1.63.2.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
| 1.64.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
| 1.65.2.3 |
| 11-Aug-2010 |
yamt | sync with head.
|
| 1.65.2.2 |
| 11-Mar-2010 |
yamt | sync with head
|
| 1.65.2.1 |
| 16-May-2008 |
yamt | sync with head.
|
| 1.67.4.2 |
| 12-Jun-2011 |
rmind | sync with head
|
| 1.67.4.1 |
| 03-Jul-2010 |
rmind | sync with head
|
| 1.67.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
| 1.68.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
| 1.69.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
| 1.69.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.70.20.1 |
| 10-Aug-2014 |
tls | Rebase.
|
| 1.70.6.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.70.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
| 1.71.8.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
| 1.71.4.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
| 1.83.6.1 |
| 01-Aug-2021 |
thorpej | Sync with HEAD.
|