History log of /src/sys/arch/mac68k/nubus/nubus.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 |
| 08-Jan-2019 |
jdolecek | branches: 1.66.14; no need to include <machine/param.h> if <sys/param.h> already included
|
1.65 |
| 18-Oct-2014 |
snj | branches: 1.65.18; 1.65.20; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.64 |
| 27-Oct-2012 |
chs | split device_t/softc for all remaining drivers. replace "struct device *" with "device_t". use device_xname(), device_unit(), etc.
|
1.63 |
| 17-Dec-2008 |
cegger | branches: 1.63.14; 1.63.24; kill MALLOC and FREE macros.
|
1.62 |
| 07-Mar-2007 |
tsutsui | branches: 1.62.40; 1.62.44; 1.62.52; Change variables which are used to read byte stream data from (void *) to (char *).
|
1.61 |
| 04-Mar-2007 |
christos | Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.60 |
| 11-Dec-2005 |
christos | branches: 1.60.26; merge ktrace-lwp.
|
1.59 |
| 03-Jun-2005 |
rjs | branches: 1.59.2; Add const.
|
1.58 |
| 15-Jan-2005 |
chs | de-__P, remove register, ansify, b* -> mem*.
|
1.57 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.56 |
| 01-Jan-2003 |
thorpej | branches: 1.56.2; Use aprint_normal() for cfprint routines.
|
1.55 |
| 02-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.54 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.53 |
| 13-Apr-2002 |
briggs | Fixes and changes from Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>. * Clean up after briggs@ changes to support bus_dma. * Add support for reading sMemory resources from nubus cards. * Add support for old cards with only the board rsrc (NatSemi NB-GPIB, e.g.) * Add a few more card identifiers.
|
1.52 |
| 10-Apr-2002 |
briggs | Use m68k/m68k/cacheops.[ch] Use m68k/m68k/bus_dma.c - Add mainbus_attach_args with bus_space_tag_t and bus_dma_tag_t. - Use passed-in tags for nubus scan.
|
1.51 |
| 20-Aug-2001 |
wiz | branches: 1.51.6; "wierd" is weird.
|
1.50 |
| 31-Jul-2000 |
briggs | branches: 1.50.4; Fix code to read a string from the nubus board--it was not terminating the string properly when the string on the board is longer than the pre-allocated space.
|
1.49 |
| 29-Jun-2000 |
mrg | remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
|
1.48 |
| 26-Jun-2000 |
mrg | remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h> <vm/vm_inherit.h> -> <uvm/uvm_inherit.h> <vm/vm_kern.h> -> into <uvm/uvm_extern.h> <vm/vm_object.h> -> nothing <vm/vm_pager.h> -> into <uvm/uvm_pager.h>
also includes a bunch of <vm/vm_page.h> include removals (due to redudancy with <vm/vm.h>), and a scattering of other similar headers.
|
1.47 |
| 23-Aug-1999 |
thorpej | branches: 1.47.2; Garbage-collect reference to <sys/dmap.h>.
|
1.46 |
| 01-Jun-1999 |
briggs | Add debug routine as an aid for working out new nubus cards.
|
1.45 |
| 02-Jun-1998 |
scottr | branches: 1.45.8; 1.45.12; An inability to map a slot's address space may be a normal condition -- for instance, on-board video may live here. Make the complaint about this a DEBUG rather than a DIAGNOSTIC message.
|
1.44 |
| 02-May-1998 |
scottr | Move on-board I/O and NuBus drivers to their own directories via repository copy, and make the necessary adjustments to reflect the moved files.
|
1.43 |
| 13-Jan-1998 |
scottr | Update for bus.h changes.
|
1.42 |
| 12-Jan-1998 |
thorpej | Update for changes to config.
|
1.41 |
| 11-Aug-1997 |
scottr | Make #include directives consistent. All MD headers are of the form:
#include <mac68k/{dev,mac68k}/foo.h>
|
1.40 |
| 15-Jul-1997 |
scottr | branches: 1.40.2; In nubus_print(), always print the NuBus slot number. Also, refine it so that when no driver matches, our output is a little more consistent with existing practice.
|
1.39 |
| 14-Jul-1997 |
scottr | Clean up some DIAGNOSTIC messages: use %x to display the slot number.
|
1.38 |
| 13-May-1997 |
scottr | Update a recently-added comment re: bytelanes values.
|
1.37 |
| 11-May-1997 |
scottr | Implement new NuBus slot space mapping/probing code, utilizing bus.h (and our MD bus_space_probe() extension). This has several side effects:
- NuBus drivers must map and unmap slot space, rather than relying on this happening before they are attached. - Functions exported to NuBus drivers from nubus.c now need to be supplied with a bus space tag/handle pair. - Old bus map/peek functions can be garbage collected, as can pmap support for the same.
Because of some current limitations of the bus space specification, we are violating the abstraction in grf_mv (NuBus grf driver). All such violations are clearly marked /* XXX */, and must be addressed when the specification is updated.
|
1.36 |
| 23-Apr-1997 |
briggs | On video devices, if we're loading non-default resource values, save the resource ID. Thanks to Paul Goyette <paul@pgoyette.bdt.com> for spotting this one.
|
1.35 |
| 22-Apr-1997 |
scottr | #ifdef DIAGNOSTIC, print the NuBus type fields for unrecognized boards.
|
1.34 |
| 10-Apr-1997 |
briggs | Some patches from Bob Nestor <rnestor@metronet.com> and myself to edge toward support for an Apple SONIC-based ethernet card. Some cards, like his, were being missed and/or probed like video cards!
|
1.33 |
| 15-Mar-1997 |
scottr | Defer enabling NuBus slot interrupts until all slots have been probed and drivers attached. This removes the need for the MAC68K_BROKEN_VIDEO option. From Allen Briggs.
|
1.32 |
| 28-Feb-1997 |
scottr | Remove duplicate <machine/bus.h> include that crept in.
|
1.31 |
| 24-Feb-1997 |
scottr | NUBUS_SLOT_TO_PADDR -> NUBUS_SLOT2PA
|
1.30 |
| 22-Feb-1997 |
scottr | Make this compile again; missed this file when fixing nubus.h errors.
|
1.29 |
| 17-Dec-1996 |
scottr | branches: 1.29.6; Revamp mainbus and obio autoconfiguration, with some direction (and the indirect bus code framework) from Jason Thorpe. This allows us to dump bus_scan() and bus_print(), and move bus_peek() and bus_mapin() to the NuBus code (since they'll eventually go away, anyway).
|
1.28 |
| 16-Dec-1996 |
scottr | Convert all foo_match() functions to use a `struct cfdata *' for their second argument. The NuBus autoconfig code had to be reorganized as a result of this, and looks much more like a directly-attached bus now. These changes eliminate __BROKEN_INDIRECT_CONFIG.
|
1.27 |
| 21-Oct-1996 |
scottr | Fix a raft of printf format strings and some declaration problems for the case where we define DEBUG. From Erik Bertelsen, closes PR 2871.
|
1.26 |
| 13-Oct-1996 |
christos | backout previous kprintf change
|
1.25 |
| 11-Oct-1996 |
christos | printf -> kprintf, sprintf -> ksprintf
|
1.24 |
| 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.23 |
| 08-May-1996 |
scottr | Make this compile if DEBUG is defined.
|
1.22 |
| 07-May-1996 |
briggs | Clean up an error printf() and use proper macro.
|
1.21 |
| 06-May-1996 |
briggs | Ooops. Remove debugging printf().
|
1.20 |
| 06-May-1996 |
briggs | Do not depend on the nubus being mapped in one huge segment.
|
1.19 |
| 05-May-1996 |
briggs | Prototype for -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized Also change the device probing scheme to use something a bit more rational. A current side-effect is that nubus cards are double-mapped. I expect to fix that shortly. Also change splclock() to block everything but serial hardware interrupts.
|
1.18 |
| 04-Apr-1996 |
scottr | Make this compile again; will need to deal with matchbyname() later, though.
|
1.17 |
| 01-Apr-1996 |
briggs | Clean up for higher warning level.
|
1.16 |
| 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.15 |
| 12-Jan-1996 |
briggs | Fixes from PR #1931 w/ minor mod in vm_machdep.c
|
1.14 |
| 04-Aug-1995 |
briggs | Nuke int_video_start in favor of consistent use of mac68k_vidlog. Don't find the internal video more than once. Probe for internal video before nubus instead of after.
|
1.13 |
| 30-Jul-1995 |
briggs | Fix the internal video probe again.
|
1.12 |
| 21-Jun-1995 |
briggs | Add some debugging (conditional on DEBUG). Add a more correct probe for internal video. Clean up nubusprint() a bit.
|
1.11 |
| 29-Apr-1995 |
briggs | Add new nubus handling that's much more robust. Update via, if_ae, and grf accordingly. Revamp grf.
|
1.10 |
| 21-Apr-1995 |
briggs | First pass of KNFication. Needs more.
|
1.9 |
| 12-Apr-1995 |
briggs | Make nubus indirect. Duh.
|
1.8 |
| 26-Oct-1994 |
cgd | new RCS ID format.
|
1.7 |
| 26-Jun-1994 |
briggs | Don't assume NuBus is at NBBASE. We might remap it.
|
1.6 |
| 23-Feb-1994 |
briggs | Do a cleaner probe. This still needs lots of work, but will work on reasonable cards...
|
1.5 |
| 22-Feb-1994 |
briggs | Minor tweaks to prevent hangs and other bad behavior... Needs much more work now that we have more info (Designing Cards and Drivers for the Macintosh Family Hardware.
|
1.4 |
| 30-Jan-1994 |
briggs | Just playing include-cop.
|
1.3 |
| 21-Dec-1993 |
briggs | Update ethernet driver to use config.new. At least, it's a first stab working from mycroft's magnum changes to if_ed.c.
|
1.2 |
| 29-Nov-1993 |
briggs | Update to current work in progress. This includes an update to use config.new. Numerous updates to console so it works better on the SE/30 screen. Some nice changes from Brad Parker for handling NuBUS and an ethernet driver that I haven't worked on, yet.
|
1.1 |
| 29-Sep-1993 |
briggs | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 29-Sep-1993 |
briggs | The current MacBSD architecture sub-directory for NetBSD-0.9--more or less. It needs some help to get to be -current. Support for minimal hardware on the SE/30, II, IIx, and IIcx exists.
|
1.29.6.1 |
| 12-Mar-1997 |
is | Merge in changes from The Trunk, partially just reimplementing newarp.
|
1.40.2.1 |
| 23-Aug-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.45.12.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.45.8.2 |
| 01-Nov-1999 |
scottr | Repair merge-related damage
|
1.45.8.1 |
| 01-Nov-1999 |
scottr | Sync with main branch.
|
1.47.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.50.4.3 |
| 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.50.4.2 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.50.4.1 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.51.6.4 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.51.6.3 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.51.6.2 |
| 17-Apr-2002 |
nathanw | Catch up to -current.
|
1.51.6.1 |
| 20-Aug-2001 |
nathanw | file nubus.c was added on branch nathanw_sa on 2002-04-17 00:03:39 +0000
|
1.56.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.56.2.4 |
| 17-Jan-2005 |
skrll | Sync with HEAD.
|
1.56.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.56.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.56.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.59.2.1 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.60.26.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.62.52.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.62.44.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.62.40.1 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.63.24.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.63.24.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.63.14.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.65.20.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.65.18.1 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.66.14.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().
|