History log of /src/sys/arch/arc/isa/isabus.c |
Revision | | Date | Author | Comments |
1.54 |
| 07-Dec-2023 |
thorpej | extent(9) -> vmem(9)
|
1.53 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.52 |
| 24-Apr-2021 |
thorpej | branches: 1.52.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.51 |
| 18-Nov-2020 |
thorpej | branches: 1.51.2; malloc(9) -> kmem(9)
|
1.50 |
| 10-Nov-2019 |
chs | branches: 1.50.8; in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT and remove code to handle failures that can no longer happen.
|
1.49 |
| 27-Oct-2012 |
chs | branches: 1.49.38; split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.48 |
| 06-Mar-2011 |
tsutsui | branches: 1.48.4; 1.48.14; Remove trailing spaces.
|
1.47 |
| 16-Dec-2009 |
matt | branches: 1.47.4; 1.47.6; Fix various build with the 32bit mips ports after the mips64 merge.
|
1.46 |
| 27-Nov-2009 |
rmind | - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr. - Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb(). - Amend assembly in ports where it accesses PCB via struct user. - Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
|
1.45 |
| 19-Aug-2009 |
dyoung | Define, and hook into the isa_chipset_tag_t, isabr_detach_hook().
|
1.44 |
| 05-Jul-2008 |
tsutsui | branches: 1.44.14; Split device_t/softc with misc related changes.
|
1.43 |
| 09-Apr-2008 |
tsutsui | branches: 1.43.4; 1.43.6; 1.43.8; Return a proper value from isabr_iointr() even in error path.
|
1.42 |
| 14-Mar-2008 |
tsutsui | Fix spl(9) botch in cpu_intr() on arc: Don't enable unhandled interrupts before all interrupts are processed, and also change all interrupt handlers to return processed MIPS_INT_MASK values, rather than masked values of them.
|
1.41 |
| 03-Dec-2007 |
ad | branches: 1.41.10; 1.41.14; 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.40 |
| 17-Oct-2007 |
garbled | branches: 1.40.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.39 |
| 11-Jul-2007 |
he | branches: 1.39.8; 1.39.10; Adapt to the new signature of callout_init().
|
1.38 |
| 09-Jul-2007 |
ad | Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.37 |
| 04-Mar-2007 |
christos | branches: 1.37.2; 1.37.4; 1.37.10; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.36 |
| 02-Jul-2006 |
tsutsui | branches: 1.36.10; Use register macro defined in <dev/ic/i8259reg.h>.
|
1.35 |
| 25-Jun-2006 |
tsutsui | Remove unused struct abus stuff.
|
1.34 |
| 13-Jun-2006 |
tsutsui | branches: 1.34.2; Before calling the handler of timer at isa for hardclock(9), clear MIPS_SR_INT_IE in struct clockframe status to prevent unintentional spllowersoftclock(9) in hardclock(9). This may be required because current CLKF_BASEPRI() implementation of NetBSD/arc doesn't check ICU_MASK and all ISA devices share the same MIPS CPU INT2 interrupt.
BTW, has anyone tried IPL_ICU_MASK on any mips ports?
|
1.33 |
| 12-Jun-2006 |
tsutsui | Account ISA interrupts by evcnt(9)
|
1.32 |
| 12-Jun-2006 |
tsutsui | - rename struct intrhand -> struct isa_intrhand - remove unused ih_what member
|
1.31 |
| 11-Jun-2006 |
tsutsui | Check whether the specified interrupt handler is valid before referring it.
|
1.30 |
| 15-Nov-2005 |
tsutsui | branches: 1.30.4; 1.30.8; 1.30.14; Explicitly enable interrupts before softintr is handled as noted in the TODO file. At least this fixes "sn0: receive buffers exhausted" messages on my NEC-JC94.
XXX: does anyone know what "Dont reenable" comment means, which was XXX: there since initial import of pica (not arc).
|
1.29 |
| 30-Oct-2005 |
tsutsui | branches: 1.29.2; Use mips3_cp0_count_read() for precise microtime(9).
XXX microtime(9) function should be moved from machdep.c to timer.c?
|
1.28 |
| 22-Jan-2005 |
tsutsui | branches: 1.28.8; 1.28.10; Make all intr_mask value types uint32_t rather than int, u_int, or unsigned etc.
|
1.27 |
| 22-Jan-2005 |
tsutsui | - remove __P() - use ANSI function decls - u_intNN_t -> uintNN_t - some KNF
|
1.26 |
| 30-Aug-2004 |
drochner | branches: 1.26.4; Phase out the use of a string as first "attach args" member to control which bustype should be attached with a specific call to config_found() (from a "mainbus" or a bus bridge). Do it for isa/eisa/mca and pci/agp for now. These buses all attach to an mi interface attribute "isabus", "eisabus" etc., and the autoconf framework now allows to specify an interface attribute on config_found() and config_search(), which limits the search of matching config data to these which attach to that specific attribute. So we basically have to call config_found_ia(..., "foobus", ...) where such a bus is attached. As a consequence, where a "mainbus" or alike also attaches other devices (eg CPUs) which do not attach to a specific attribute yet, we need at least pass an attribute name (different from "foobus") so that the foo bus is not found at these places. This made some minor changes necessary which are not obviously related to the mentioned buses.
|
1.25 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.24 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.23 |
| 15-Jun-2003 |
tsutsui | branches: 1.23.2; Initialize and use extent maps for ISA bus space allocation. Now isapnp on Tyne works properly.
|
1.22 |
| 14-Jun-2003 |
tsutsui | Set intrtype[] properly.
XXX ISA interrupts on Tyne does not work yet.
|
1.21 |
| 14-Jun-2003 |
tsutsui | Add isa_intr_alloc() for isapnp support.
|
1.20 |
| 25-May-2003 |
tsutsui | Add generic software interrupt support with mips/softintr.c.
|
1.19 |
| 27-Apr-2003 |
tsutsui | Remove register declarations.
|
1.18 |
| 19-Jan-2003 |
tsutsui | TAB/space cleanup.
|
1.17 |
| 01-Jan-2003 |
thorpej | Use aprint_normal for cfprint routines.
|
1.16 |
| 04-Mar-2002 |
simonb | branches: 1.16.2; Don't "extern int cold;" - this is in <sys/kernel.h>.
|
1.15 |
| 13-Jun-2001 |
soda | branches: 1.15.2; 1.15.8; split ISA bridge code into bus dependent frontends to remove "cputype" variable.
|
1.14 |
| 24-Dec-2000 |
ur | branches: 1.14.2; Switch pica to jazzio. Split shared MD portion between algor and jazzio.
|
1.13 |
| 29-Jun-2000 |
mrg | branches: 1.13.2; remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.12 |
| 20-Jun-2000 |
soda | branches: 1.12.2; for DeskStation RPC44
|
1.11 |
| 17-Jun-2000 |
soda | fix serious inconsistency against -current isa.
|
1.10 |
| 09-Jun-2000 |
soda | - NEC RISCstation 2250 (RD-94) PCI bus support, contributed by Shuichiro URATA <ur@a-r.org>. - Experimental coding for NEC RISCserver 2200 and RISCstation 2200. (doesn't really work)
|
1.9 |
| 04-Jun-2000 |
cgd | Implement the more flexiable `evcnt' interface as discussed (briefly) on tech-kern and now documented in evcnt(9).
|
1.8 |
| 23-Mar-2000 |
thorpej | branches: 1.8.2; New callout mechanism with two major improvements over the old timeout()/untimeout() API: - Clients supply callout handle storage, thus eliminating problems of resource allocation. - Insertion and removal of callouts is constant time, important as this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
|
1.7 |
| 03-Mar-2000 |
soda | NEC RISCstation 2250 (NEC-RD94) support. contributed by Shuichiro URATA <ur@a-r.org>.
|
1.6 |
| 22-Feb-2000 |
soda | merge changes between OpenBSD-2.1 and OpenBSD-2.6
|
1.5 |
| 23-Jan-2000 |
soda | merge to NetBSD-current (DeskStation and Algor support is currently broken)
|
1.4 |
| 23-Jan-2000 |
soda | Moved from /cvsroot/syssrc/sys/arch/pica/isa/isa.c,v
|
1.3 |
| 15-Aug-1998 |
mycroft | Make copyright notices with my name consistent.
|
1.2 |
| 11-Aug-1996 |
jonathan | Fix old lint and changes not pulled back from pmax, pass1: * include <mips/locore.h> where callbacks into locore are made, to get prototypes in scope. Cast calls appropriately. * include <mips/cpuregs.h>, not the old Sprite-derived <machine/machConst.h>. machConst.h is deprecated. * dk_establish() must return void, not int.
|
1.1 |
| 13-Mar-1996 |
jonathan | branches: 1.1.1; Initial revision
|
1.1.1.3 |
| 22-Feb-2000 |
soda | OpenBSD-2.6/arc
|
1.1.1.2 |
| 23-Jan-2000 |
soda | OpenBSD-2.1/arc
|
1.1.1.1 |
| 13-Mar-1996 |
jonathan | First commit of Per Fogelstrom's port to the Acer pica r4400/isa machine.
|
1.8.2.1 |
| 22-Jun-2000 |
minoura | Sync w/ netbsd-1-5-base.
|
1.12.2.2 |
| 20-Jun-2000 |
soda | for DeskStation RPC44
|
1.12.2.1 |
| 20-Jun-2000 |
soda | file isabus.c was added on branch netbsd-1-5 on 2000-06-20 08:26:56 +0000
|
1.13.2.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.13.2.2 |
| 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.13.2.1 |
| 29-Jun-2000 |
bouyer | file isabus.c was added on branch thorpej_scsipi on 2000-11-20 20:00:39 +0000
|
1.14.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.15.8.3 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.15.8.2 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.15.8.1 |
| 13-Jun-2001 |
nathanw | file isabus.c was added on branch nathanw_sa on 2002-04-01 07:39:05 +0000
|
1.15.2.1 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.16.2.1 |
| 17-Mar-2002 |
thorpej | IPL_IMP -> IPL_VM
|
1.23.2.7 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.23.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.23.2.5 |
| 24-Jan-2005 |
skrll | Sync with HEAD.
|
1.23.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.23.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.23.2.2 |
| 03-Sep-2004 |
skrll | Sync with HEAD
|
1.23.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.26.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.28.10.1 |
| 02-Nov-2005 |
yamt | sync with head.
|
1.28.8.5 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.28.8.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.28.8.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.28.8.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.28.8.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.29.2.1 |
| 22-Nov-2005 |
yamt | sync with head.
|
1.30.14.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.30.8.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.30.8.1 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.30.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.34.2.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.36.10.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.37.10.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.37.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.37.2.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.37.2.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.39.10.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.39.10.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.39.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.39.8.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.40.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.41.14.3 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.41.14.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.41.14.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.41.10.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.43.8.1 |
| 18-Jul-2008 |
simonb | Sync with head.
|
1.43.6.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.43.4.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.43.4.2 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.43.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.44.14.1 |
| 26-Aug-2009 |
matt | Fixup (all but mipsco) to deal the new realities in mipsland.
|
1.47.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.47.4.1 |
| 21-Apr-2011 |
rmind | sync with head
|
1.48.14.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.48.4.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.49.38.1 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.50.8.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|
1.51.2.1 |
| 02-Apr-2021 |
thorpej | config_found_ia() -> config_found() w/ CFARG_IATTR.
|
1.52.8.1 |
| 03-Aug-2021 |
thorpej | Adapt to CFARGS().
|