History log of /src/sys/dev/isa/ast.c |
Revision | | Date | Author | Comments |
1.68 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.67 |
| 24-Apr-2021 |
thorpej | branches: 1.67.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.66 |
| 11-Jul-2016 |
msaitoh | branches: 1.66.34; KNF. No functional change.
|
1.65 |
| 27-Oct-2012 |
chs | branches: 1.65.14; split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.64 |
| 12-May-2009 |
cegger | branches: 1.64.12; 1.64.22; struct device * -> device_t, no functional changes intended.
|
1.63 |
| 12-May-2009 |
cegger | struct cfdata * -> cfdata_t, no functional changes intended.
|
1.62 |
| 14-Mar-2009 |
dsl | Change about 4500 of the K&R function definitions to ANSI ones. There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
|
1.61 |
| 30-May-2008 |
martin | branches: 1.61.6; 1.61.12; Pass the com softc to comintr, not the device_t. Fixes PR kern/38776.
|
1.60 |
| 08-Apr-2008 |
cegger | branches: 1.60.2; 1.60.4; 1.60.6; use aprint_*_dev and device_xname
|
1.59 |
| 19-Oct-2007 |
ad | branches: 1.59.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.58 |
| 16-Nov-2006 |
christos | branches: 1.58.8; 1.58.22; 1.58.24; 1.58.28; __unused removal on arguments; approved by core.
|
1.57 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.56 |
| 11-Dec-2005 |
christos | branches: 1.56.20; 1.56.22; merge ktrace-lwp.
|
1.55 |
| 04-Feb-2005 |
perry | branches: 1.55.6; de-__P
|
1.54 |
| 14-Sep-2004 |
drochner | branches: 1.54.4; 1.54.6; Separate the namespace for default (ie unspecified) locators used by the isa.c bus driver and the "address/whatever not specified" argument passed to leaf device drivers. The former is "ISACF_XXX_DEFAULT" as generaterd by config(8), the latter "ISA_UNKNOWN_XXX", defined in isavar.h. This way we save a dependency of every ISA device driver on "locators.h".
|
1.53 |
| 14-Sep-2004 |
drochner | replace 7 identical instances if cfprint functions by a single one
|
1.52 |
| 01-Jan-2003 |
thorpej | branches: 1.52.2; Use aprint_normal() in cfprint routines.
|
1.51 |
| 02-Oct-2002 |
thorpej | Fix sizeof and whitespace bug from the script I'm using to do the CFATTACH_DECL conversion. (Grumble.)
|
1.50 |
| 02-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.49 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.48 |
| 07-Jan-2002 |
thorpej | Overhaul of the ISA autoconfiguration code to support direct configuration of devices logically attached to the ISA bus:
* Change the isa_attach_args to have arrays of io, mem, irq, drq resources. * Add a "pnpnames" and a linked list of "pnpcompatnames" to the isa_attach_args. If either of these members are non-NULL, direct configuration of the bus is being performed. Add an ISA_DIRECT_CONFIG() macro to test for this. * Drivers are not allowed to modify the isa_attach_args unless direct configuration is not being performed and the probe fucntion is returning success. * Adapt device drivers -- currently, all driver probe routines return "no match" if ISA_DIRECT_CONFIG() evaluates to true.
|
1.47 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.46 |
| 20-May-2000 |
thorpej | branches: 1.46.6; 1.46.8; Rather than using a magic constant, use `com_scratch' as the offset in UART space to the interrupt CSR.
|
1.45 |
| 18-Sep-1998 |
enami | branches: 1.45.12; Make these files compile again; no longer necessary to pass iobase to comprobe1.
|
1.44 |
| 15-Aug-1998 |
mycroft | Make copyright notices with my name consistent.
|
1.43 |
| 09-Jun-1998 |
thorpej | Nuke __BROKEN_INDIRECT_CONFIG.
|
1.42 |
| 12-Jan-1998 |
thorpej | Update for config changes.
|
1.41 |
| 20-Oct-1997 |
thorpej | Don't panic if we fail to remap i/o or mem space in the attach function. Instead, print a diagnostic and return. (Some drivers do this already.)
Also, normalize the diagnostic message, and fix some places where the printfs were getting ugly.
|
1.40 |
| 19-Oct-1997 |
thorpej | Make sure the i/o and/or mem addresses aren't wildcarded (i.e. -1) before using the address in a bus_space_map() call.
|
1.39 |
| 16-Oct-1997 |
thorpej | Adjust for the new "com" driver home.
|
1.38 |
| 03-Oct-1997 |
cjs | Make this compile on alpha and, presumably, other non _BROKEN_INDIRECT_CONFIG machines.
|
1.37 |
| 12-Sep-1997 |
drochner | Make console on multiport cards more likely to work (obvious bug, fix still untested). Closes PR kern/4095 by enami tsugutomo.
|
1.36 |
| 23-Aug-1997 |
drochner | Use the new com_is_console() to decide if the port is already initialized. XXX shouldn't the attach() use the existing handle if present???
|
1.35 |
| 16-Aug-1997 |
drochner | Bring back the "comconsattached" flag. It is necessary for starred com devices (on non "__BROKEN_INDIRECT_CONFIG" ISA).
|
1.34 |
| 13-Aug-1997 |
jtk | fix multi-port serial drivers to reflect recent changes to com driver for console/kgdb
|
1.33 |
| 09-Apr-1997 |
mycroft | branches: 1.33.4; Update for new com driver.
|
1.32 |
| 21-Oct-1996 |
thorpej | New bus.h implementation/interface: - No more distinction between i/o-mapped and memory-mapped devices. It's all "bus space" now, and space tags differentiate the space with finer grain than the bus chipset tag. - Add memory barrier methods. - Implement space alloc/free methods. - Implement region read/write methods (like memcpy to/from bus space). This interface provides a better abstraction for dealing with machine-independent chipset drivers.
|
1.31 |
| 13-Oct-1996 |
christos | backout kprintf changes
|
1.30 |
| 10-Oct-1996 |
christos | printf -> kprintf, sprintf -> ksprintf
|
1.29 |
| 27-Aug-1996 |
cgd | change cfprint_t type definition to take a const char *, rather than a char *, because that's what was really intended, and because if the print function modifies the string, various things could become unhappy (so the string should _not_ be modified).
|
1.28 |
| 12-May-1996 |
mycroft | Use intr.h.
|
1.27 |
| 05-May-1996 |
christos | Make those compile again; they were missing a declaration for bc. Also fix prototypes.
|
1.26 |
| 15-Apr-1996 |
cgd | include <sys/termios.h> to make comvar.h happy
|
1.25 |
| 11-Apr-1996 |
cgd | update for addition of a machine-dependent cookie as the first argument to isa_intr_{,dis}establish().
|
1.24 |
| 04-Apr-1996 |
cgd | remove tricky open-coded variants of config_found(), by using the child device pointer now returned by config_found(). (previously, the code played games to get that pointer; now they are unnecesary.)
|
1.23 |
| 17-Mar-1996 |
thorpej | New device attachment scheme:
- split softc size and match/attach out from cfdriver into a new struct cfattach.
- new "attach" directive for files.*. May specify the name of the cfattach structure, so that devices may be easily attached to parents with different autoconfiguration semantics.
|
1.22 |
| 10-Mar-1996 |
cgd | convert these to use new <machine/bus.h> interfaces. This involved substantial reworking of the multi-port drivers, as they need to frob bits in the io-port spaces of their children. As a result, the commulti->com attachment interface is substantially more complex. (This may be fixable in the future by making some of the code common, but as long as io-port allocation checking is planned, it's necessary.)
|
1.21 |
| 09-Mar-1996 |
cgd | Include comvar.h, for comprobe1() prototype and for commulti_attach_args. Remove multiple identical definitions for the arg struct used by multiport boards' to attach slave com ports.
|
1.20 |
| 09-Mar-1996 |
cgd | minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES macro where appropriate. No point in hard-coding numbers in multiple places. At the very least, this makes the drivers slightly easier to diff/understand.
|
1.19 |
| 24-Dec-1995 |
mycroft | The IST_* and IPL_* constants are not bus-specific; don't treat them as such. Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
|
1.18 |
| 26-Jun-1995 |
cgd | if subdevices specified with wildcarded unit number, config_attach() can change the cf_unit, so save it before attach and use saved value.
|
1.17 |
| 17-Apr-1995 |
cgd | clean up several ISA device interfaces: autoconfiguration, header inclusion, and interrupt configuration. more work still needs to be done, but it's getting better...
|
1.16 |
| 04-Jan-1995 |
mycroft | Fix oversight in previous.
|
1.15 |
| 03-Jan-1995 |
mycroft | \ These files have been 99% rewritten from the original ast driver. Add an appropriate copyright notice.
|
1.14 |
| 03-Jan-1995 |
mycroft | Add interrupt sharing types.
|
1.13 |
| 02-Jan-1995 |
mycroft | Use direct config for subdevices.
|
1.12 |
| 18-Nov-1994 |
mycroft | Convert port, IRQ, and DRQ numbers to ints.
|
1.11 |
| 18-Nov-1994 |
mycroft | Convert port, IRQ, and DRQ numbers to ints.
|
1.10 |
| 07-Nov-1994 |
mycroft | Update for new autoconfig.
|
1.9 |
| 27-Oct-1994 |
cgd | new RCS ID format.
|
1.8 |
| 14-Aug-1994 |
mycroft | Slight optimization, and don't go bonkers if one of the sub-devices is not configured.
|
1.7 |
| 07-Apr-1994 |
mycroft | branches: 1.7.2; Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls. Reorganize and clean up the relevant code.
|
1.6 |
| 29-Mar-1994 |
mycroft | astprobe(): Set ia_iosize.
|
1.5 |
| 29-Mar-1994 |
mycroft | Updates for new autoconfig.
|
1.4 |
| 23-Mar-1994 |
cgd | copyright foo
|
1.3 |
| 23-Mar-1994 |
mycroft | Don't poll more than 4 ports.
|
1.2 |
| 23-Mar-1994 |
mycroft | Some stylistic cleanup, and a very minor speedup.
|
1.1 |
| 23-Mar-1994 |
cgd | add AST-style serial multiport support, from Roland McGrath <roland@frob.com>. Needs light clean by Mr. I386, but mostly OK.
|
1.7.2.1 |
| 14-Aug-1994 |
mycroft | update from trunk
|
1.33.4.5 |
| 16-Oct-1997 |
thorpej | Sync w/ trunk.
|
1.33.4.4 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.33.4.3 |
| 16-Sep-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.33.4.2 |
| 27-Aug-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.33.4.1 |
| 23-Aug-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.45.12.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.46.8.2 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.46.8.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.46.6.5 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.46.6.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.46.6.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.46.6.2 |
| 11-Jan-2002 |
nathanw | More catchup.
|
1.46.6.1 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.52.2.3 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.52.2.2 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.52.2.1 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.54.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.54.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.55.6.2 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.55.6.1 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.56.22.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.56.22.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.56.20.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.58.28.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.58.24.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.58.22.1 |
| 26-Oct-2007 |
joerg | Sync with HEAD.
Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
|
1.58.8.1 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.59.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.60.6.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.60.4.2 |
| 16-May-2009 |
yamt | sync with head
|
1.60.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.60.2.1 |
| 04-Jun-2008 |
yamt | sync with head
|
1.61.12.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.61.6.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.64.22.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.64.22.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.64.12.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.65.14.1 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.66.34.1 |
| 21-Mar-2021 |
thorpej | Give config_found() the same variadic arguments treatment as config_search(). This commit only adds the CFARG_EOL sentinel to the existing config_found() calls. Conversion of config_found_sm_loc() and config_found_ia() call sites will be in subsequent commits.
|
1.67.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|