History log of /netbsd-current/sys/arch/sparc/dev/obio.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.77 20-Dec-2023 thorpej

Remove unnecessary <sys/malloc.h>.


Revision tags: thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base
# 1.76 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.75 24-Apr-2021 thorpej

branches: 1.75.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?).


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base tls-maxphys-base
# 1.74 24-Mar-2013 jdc

branches: 1.74.50;
Check if sbus is defined in the kernel configuration before using it.
From Taylor R Campbell.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.73 27-Oct-2012 chs

split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.72 01-Jul-2011 dyoung

branches: 1.72.2; 1.72.12;
#include <sys/bus.h> instead of <machine/bus.h>.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE rmind-uvmplock-nbase cherry-xenmp-base uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.71 17-May-2008 macallan

more device_t-ification


Revision tags: yamt-nfs-mp-base2
# 1.70 28-Apr-2008 martin

branches: 1.70.2;
Remove clause 3 and 4 from TNF licenses


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
# 1.69 16-Nov-2005 uwe

branches: 1.69.74; 1.69.76; 1.69.78;
ANSIify function declarations/defintions. Use uint<N>_t.
Propagate "static" to function definitions. Drop trailing whitespace.
Same binary code is produced for GENERIC.MP + KGDB + DDB.


Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.68 26-Aug-2005 drochner

branches: 1.68.6;
s/locdesc_t/int/g


# 1.67 30-Jun-2005 drochner

branches: 1.67.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge
# 1.66 14-Dec-2004 chs

use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array. reviewed by allen briggs.


Revision tags: kent-audio1-base
# 1.65 27-Jun-2004 pk

Always use `full bus space'. In order to implement this more efficiently,
require that all bus tags have pointers to bus_space_read/write functions,
i.e. no run-time hunting for the first "upstream" implementation.
Since this changes the way bus tags should be constructed it makes sense
to do the same thing for the rest of the bus space methods.
So, now bus space tags are generally constructed by copying the parent's bus
tag and then overriding the methods that the bus driver needs to handle,
instead of starting with an empty bus tag and fiiling in only the fields needed.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.64 15-Jul-2003 lukem

__KERNEL_RCSID()


# 1.63 03-May-2003 wiz

branches: 1.63.2;
DMA, not dma nor Dma.


# 1.62 30-Apr-2003 martin

Make this compile with __FULL_SPARC_BUS_SPACE,
from Steve Rumble in PR 21398.


# 1.61 02-Apr-2003 thorpej

Use PAGE_SIZE rather than NBPG.


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.60 03-Jan-2003 mrg

part one of bus_space(9) fixes to enable bus spaces to override the
bus_space_{read,write}_[1248]() functions, which will allow 16-bit
PCMCIA support to work without additional hacks in MI drivers.
this option is not enabled yet.


Revision tags: fvdl_fs64_base
# 1.59 01-Jan-2003 thorpej

Use aprint_normal() for cfprint routines.


Revision tags: gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.58 02-Oct-2002 thorpej

Add trailing ; to CFATTACH_DECL.


# 1.57 01-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.56 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.55 27-Sep-2002 thorpej

Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.


# 1.54 27-Sep-2002 thorpej

Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.


Revision tags: gehenna-devsw-base
# 1.53 25-Aug-2002 thorpej

Put a bus's ranges in the bus space tag, and make sparc_bus_map()
perform the translation and recursion if t->ranges != NULL. Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions. Update all places where
bus space tags are statically allocated.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.52 11-Apr-2002 pk

branches: 1.52.2;
Pass fully encoded bus addresses in the attach arguments.


Revision tags: eeh-devprop-base
# 1.51 11-Mar-2002 pk

* `bus_type_t' is gone.
* Use BUS_ADDR() where appropriate to encode I/O space and physical
address offset into a `bus_addr_t' value.
* Drop obio_bus_map() since it's now completely equivalent to bus_space_map()
* Use bus_space_map2() to map device space at a fixed virtual address.
* Remove the virtual address argument from sbus_sbus_addr()


Revision tags: newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.50 24-Sep-2001 eeh

branches: 1.50.4;
Change bus_space_mmap() signature to the official one.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.49 25-Jul-2000 pk

branches: 1.49.2; 1.49.4;
Add `dma' to the `early device' list, since we need it before an `esp'
is configured. Traced and tested by Julian Coleman.


# 1.48 29-Jun-2000 mrg

remove include of <vm/vm.h> and <machine/pmap.h>. <vm/vm.h> -> <uvm/uvm_extern.h>


Revision tags: netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase
# 1.47 11-Jan-2000 pk

branches: 1.47.4;
Remove old-style boot device recognition.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.46 28-Jun-1999 pk

branches: 1.46.2;
More ugly code to force early configuration of the sun4 on-board timer.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
# 1.45 05-Sep-1998 eeh

branches: 1.45.8;
Remove function naming conflict.


# 1.44 21-Aug-1998 pk

Convert to [pv]addr_t.


Revision tags: eeh-paddr_t-base
# 1.43 07-Apr-1998 pk

The bus space functions now take care of "pass-through" methods.


# 1.42 29-Mar-1998 pk

Implement `_obio_bus_map()' and insert it into the obio bus' bus tag.
Remove obio_bus_probe().


# 1.41 23-Mar-1998 pk

Only print interesting interrupt levels.


# 1.40 21-Mar-1998 pk

Switch to a bus_space(9)-based device attachment scheme.

- device attachment arguments contain bus-specific
address and interrupt levels.

- devices must call back on bus map functions to get their
addresses and interrupt levels translated properly.

- sun4m's obio bus is treated like an Sbus slot.

- the sun4-style obio bus has its own attach arguments
and map functions.


# 1.39 25-Jan-1998 pk

All VME stuff is gone from here.


# 1.38 12-Jan-1998 thorpej

Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
# 1.37 29-Jul-1997 fair

%x -> 0x%x


# 1.36 10-Jun-1997 pk

vme_establishintr: remove SUN4 arch check; this now works on sun4m as well.


# 1.35 07-Jun-1997 pk

Use the `ranges' property to deal with VMEbus address spaces.


# 1.34 24-May-1997 pk

Use `rr_iospace' to track the MMU page type bits. On sun4c/sun4m the
iospace value is always learned from the PROM; on sun4, we infer it
from the BUS_* parameters.

This obsoletes the `bustype' argument in bus_tmp().


# 1.33 18-May-1997 pk

Remove bus_tmp(); it's just a special case of mapdev().


# 1.32 18-May-1997 pk

A bit of framework for sun4m VME busses.


# 1.31 08-Apr-1997 pk

Move "range" property description out of generic `romaux'.
Allocate room for this property when needed in bus attachment.


Revision tags: is-newarp-before-merge
# 1.30 10-Mar-1997 pk

Replace `cpumod' with `cpuinfo.cpu_type' equivalents.


Revision tags: is-newarp-base
# 1.29 10-Dec-1996 pk

branches: 1.29.6;
Not all sun4m's have an `auxio'.


# 1.28 10-Dec-1996 pk

Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.


# 1.27 13-Oct-1996 christos

backout previous kprintf change


# 1.26 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.25 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).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.24 18-May-1996 mrg

don't set tmp twice.


# 1.23 05-Apr-1996 chuck

make netbsd/sparc boot on sun4 once again. the sun4m changes introduced
config lines for obio0 devices without addresses (thus cf->cf_loc[0] took
the default value of -1). we now ignore these entries on a sun4 since
they could never be valid (eliminates a 'panic:alignment' fault at bootup).


# 1.22 31-Mar-1996 pk

Handle sun4m `obio' devices.
Cleanup `#if defined(SUN4*)' mess.


# 1.21 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.20 14-Mar-1996 christos

Bring prototypes into scope and fix compiler warnings.


# 1.19 12-Jan-1996 chuck

improved handling of mapping of devices who's registers do not reside on
page boundaries:
- change bus_tmp() to include the offset from the start of page in the
returned KVA [rather than forcing each driver to add it back in
individually]
- changed bus_map() to include the offset from the start of page in the
the returned value if a mapping is found in the PROM's KVA area
- clarified a few comments


# 1.18 11-Jan-1996 pk

Correct page frame calculation after mapdev() interface change.


# 1.17 11-Dec-1995 pk

Adapt to changed mapiodev() interface.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.16 18-Aug-1995 pk

Use actual bus names (matches Chuck's bootpath code).


# 1.15 27-May-1995 pk

Propagate bootpaths


# 1.14 25-Apr-1995 pk

Remove duplication of code from subr_autoconf.c


# 1.13 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.12 01-Mar-1995 pk

Better 4/100 support.


# 1.11 01-Feb-1995 pk

Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
romaux defines an array of register spaces.
pay attention to `vactype'.
quirks handling 4/100 idiosyncracies.


# 1.10 25-Nov-1994 deraadt

wzero/wcopy moved to machdep.c


# 1.9 23-Nov-1994 deraadt

XXmatch change (and a few __P() as well)


# 1.8 05-Nov-1994 deraadt

only print the vec if needed


# 1.7 02-Nov-1994 deraadt

let busmatch print the level/vec


# 1.6 02-Nov-1994 deraadt

add wcopy/wzero, and ack VME using ldcontrob


# 1.5 26-Oct-1994 deraadt

working vme16/32 support


# 1.4 15-Oct-1994 deraadt

mapiodev takes a bustype argument now


# 1.3 02-Oct-1994 deraadt

sun4/300 support works


# 1.2 17-Sep-1994 deraadt

obio bus driver, for dealing with devices on the sun4 motherboard.


# 1.1 24-Aug-1994 deraadt

first cut at sun4 on-board io bus


# 1.76 07-Aug-2021 thorpej

Merge thorpej-cfargs2.


Revision tags: thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.75 24-Apr-2021 thorpej

branches: 1.75.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?).


Revision tags: netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 nick-nhusb-base-20170204 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 nick-nhusb-base-20161204 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE nick-nhusb-base-20161004 localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base tls-maxphys-base
# 1.74 24-Mar-2013 jdc

branches: 1.74.50;
Check if sbus is defined in the kernel configuration before using it.
From Taylor R Campbell.


Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.73 27-Oct-2012 chs

split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.72 01-Jul-2011 dyoung

branches: 1.72.2; 1.72.12;
#include <sys/bus.h> instead of <machine/bus.h>.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE rmind-uvmplock-nbase cherry-xenmp-base uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base uebayasi-xip-base6 uebayasi-xip-base5 netbsd-5-1-RELEASE uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 netbsd-5-1-RC4 matt-nb5-mips64-k15 uebayasi-xip-base2 yamt-nfs-mp-base10 netbsd-5-1-RC3 netbsd-5-1-RC2 uebayasi-xip-base1 netbsd-5-1-RC1 rmind-uvmplock-base yamt-nfs-mp-base9 uebayasi-xip-base netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 yamt-nfs-mp-base8 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 yamt-nfs-mp-base7 netbsd-5-0-1-RELEASE jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 jym-xensuspend-nbase yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base mjf-devfs2-base
# 1.71 17-May-2008 macallan

more device_t-ification


Revision tags: yamt-nfs-mp-base2
# 1.70 28-Apr-2008 martin

branches: 1.70.2;
Remove clause 3 and 4 from TNF licenses


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking wrstuden-fixsa-base-1 vmlocking2-base3 netbsd-4-0-RELEASE bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 netbsd-4-0-RC5 matt-nb4-arm-base matt-armv6-nbase jmcneill-base netbsd-4-0-RC4 mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base netbsd-4-0-RC3 yamt-x86pmap-base3 yamt-x86pmap-base2 netbsd-4-0-RC2 yamt-x86pmap-base netbsd-4-0-RC1 matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 wrstuden-fixsa-base ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 abandoned-netbsd-4-base yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 yamt-pdpolicy-base7 netbsd-4-base yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base yamt-readahead-base3 yamt-readahead-base2 ktrace-lwp-base
# 1.69 16-Nov-2005 uwe

branches: 1.69.74; 1.69.76; 1.69.78;
ANSIify function declarations/defintions. Use uint<N>_t.
Propagate "static" to function definitions. Drop trailing whitespace.
Same binary code is produced for GENERIC.MP + KGDB + DDB.


Revision tags: yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.68 26-Aug-2005 drochner

branches: 1.68.6;
s/locdesc_t/int/g


# 1.67 30-Jun-2005 drochner

branches: 1.67.2;
adaptions to config_search() change, and minor autoconf fixes, mostly from Havard Eidnes


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge
# 1.66 14-Dec-2004 chs

use the generated macros in locators.h rather than hard-coded numbers
to index the cf_loc[] array. reviewed by allen briggs.


Revision tags: kent-audio1-base
# 1.65 27-Jun-2004 pk

Always use `full bus space'. In order to implement this more efficiently,
require that all bus tags have pointers to bus_space_read/write functions,
i.e. no run-time hunting for the first "upstream" implementation.
Since this changes the way bus tags should be constructed it makes sense
to do the same thing for the rest of the bus space methods.
So, now bus space tags are generally constructed by copying the parent's bus
tag and then overriding the methods that the bus driver needs to handle,
instead of starting with an empty bus tag and fiiling in only the fields needed.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.64 15-Jul-2003 lukem

__KERNEL_RCSID()


# 1.63 03-May-2003 wiz

branches: 1.63.2;
DMA, not dma nor Dma.


# 1.62 30-Apr-2003 martin

Make this compile with __FULL_SPARC_BUS_SPACE,
from Steve Rumble in PR 21398.


# 1.61 02-Apr-2003 thorpej

Use PAGE_SIZE rather than NBPG.


Revision tags: nathanw_sa_before_merge nathanw_sa_base
# 1.60 03-Jan-2003 mrg

part one of bus_space(9) fixes to enable bus spaces to override the
bus_space_{read,write}_[1248]() functions, which will allow 16-bit
PCMCIA support to work without additional hacks in MI drivers.
this option is not enabled yet.


Revision tags: fvdl_fs64_base
# 1.59 01-Jan-2003 thorpej

Use aprint_normal() for cfprint routines.


Revision tags: gmcgarry_ctxsw_base gmcgarry_ucred_base kqueue-aftermerge kqueue-beforemerge kqueue-base
# 1.58 02-Oct-2002 thorpej

Add trailing ; to CFATTACH_DECL.


# 1.57 01-Oct-2002 thorpej

Use CFATTACH_DECL().


# 1.56 27-Sep-2002 thorpej

Declare all cfattach structures const.


# 1.55 27-Sep-2002 thorpej

Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.


# 1.54 27-Sep-2002 thorpej

Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.


Revision tags: gehenna-devsw-base
# 1.53 25-Aug-2002 thorpej

Put a bus's ranges in the bus space tag, and make sparc_bus_map()
perform the translation and recursion if t->ranges != NULL. Make
sbus, cpuunit, and bootbus inherit the parent's map/mmap routines,
and delete the now-unused mapping functions. Update all places where
bus space tags are statically allocated.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.52 11-Apr-2002 pk

branches: 1.52.2;
Pass fully encoded bus addresses in the attach arguments.


Revision tags: eeh-devprop-base
# 1.51 11-Mar-2002 pk

* `bus_type_t' is gone.
* Use BUS_ADDR() where appropriate to encode I/O space and physical
address offset into a `bus_addr_t' value.
* Drop obio_bus_map() since it's now completely equivalent to bus_space_map()
* Use bus_space_map2() to map device space at a fixed virtual address.
* Remove the virtual address argument from sbus_sbus_addr()


Revision tags: newlock-base ifpoll-base thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2
# 1.50 24-Sep-2001 eeh

branches: 1.50.4;
Change bus_space_mmap() signature to the official one.


Revision tags: post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.49 25-Jul-2000 pk

branches: 1.49.2; 1.49.4;
Add `dma' to the `early device' list, since we need it before an `esp'
is configured. Traced and tested by Julian Coleman.


# 1.48 29-Jun-2000 mrg

remove include of <vm/vm.h> and <machine/pmap.h>. <vm/vm.h> -> <uvm/uvm_extern.h>


Revision tags: netbsd-1-5-base minoura-xpg4dl-base chs-ubc2-newbase
# 1.47 11-Jan-2000 pk

branches: 1.47.4;
Remove old-style boot device recognition.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base chs-ubc2-base
# 1.46 28-Jun-1999 pk

branches: 1.46.2;
More ugly code to force early configuration of the sun4 on-board timer.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 kame_141_19991130 netbsd-1-4-PATCH001 kame_14_19990705 kame_14_19990628 netbsd-1-4-RELEASE netbsd-1-4-base kenh-if-detach-base chs-ubc-base
# 1.45 05-Sep-1998 eeh

branches: 1.45.8;
Remove function naming conflict.


# 1.44 21-Aug-1998 pk

Convert to [pv]addr_t.


Revision tags: eeh-paddr_t-base
# 1.43 07-Apr-1998 pk

The bus space functions now take care of "pass-through" methods.


# 1.42 29-Mar-1998 pk

Implement `_obio_bus_map()' and insert it into the obio bus' bus tag.
Remove obio_bus_probe().


# 1.41 23-Mar-1998 pk

Only print interesting interrupt levels.


# 1.40 21-Mar-1998 pk

Switch to a bus_space(9)-based device attachment scheme.

- device attachment arguments contain bus-specific
address and interrupt levels.

- devices must call back on bus map functions to get their
addresses and interrupt levels translated properly.

- sun4m's obio bus is treated like an Sbus slot.

- the sun4-style obio bus has its own attach arguments
and map functions.


# 1.39 25-Jan-1998 pk

All VME stuff is gone from here.


# 1.38 12-Jan-1998 thorpej

Update for changes to config.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base thorpej-signal-base marc-pcmcia-bp marc-pcmcia-base
# 1.37 29-Jul-1997 fair

%x -> 0x%x


# 1.36 10-Jun-1997 pk

vme_establishintr: remove SUN4 arch check; this now works on sun4m as well.


# 1.35 07-Jun-1997 pk

Use the `ranges' property to deal with VMEbus address spaces.


# 1.34 24-May-1997 pk

Use `rr_iospace' to track the MMU page type bits. On sun4c/sun4m the
iospace value is always learned from the PROM; on sun4, we infer it
from the BUS_* parameters.

This obsoletes the `bustype' argument in bus_tmp().


# 1.33 18-May-1997 pk

Remove bus_tmp(); it's just a special case of mapdev().


# 1.32 18-May-1997 pk

A bit of framework for sun4m VME busses.


# 1.31 08-Apr-1997 pk

Move "range" property description out of generic `romaux'.
Allocate room for this property when needed in bus attachment.


Revision tags: is-newarp-before-merge
# 1.30 10-Mar-1997 pk

Replace `cpumod' with `cpuinfo.cpu_type' equivalents.


Revision tags: is-newarp-base
# 1.29 10-Dec-1996 pk

branches: 1.29.6;
Not all sun4m's have an `auxio'.


# 1.28 10-Dec-1996 pk

Comply with recent autoconfiguration changes. Diffs graciously
supplied by Chris Demetriou.


# 1.27 13-Oct-1996 christos

backout previous kprintf change


# 1.26 11-Oct-1996 christos

printf -> kprintf, sprintf -> ksprintf


# 1.25 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).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.24 18-May-1996 mrg

don't set tmp twice.


# 1.23 05-Apr-1996 chuck

make netbsd/sparc boot on sun4 once again. the sun4m changes introduced
config lines for obio0 devices without addresses (thus cf->cf_loc[0] took
the default value of -1). we now ignore these entries on a sun4 since
they could never be valid (eliminates a 'panic:alignment' fault at bootup).


# 1.22 31-Mar-1996 pk

Handle sun4m `obio' devices.
Cleanup `#if defined(SUN4*)' mess.


# 1.21 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.20 14-Mar-1996 christos

Bring prototypes into scope and fix compiler warnings.


# 1.19 12-Jan-1996 chuck

improved handling of mapping of devices who's registers do not reside on
page boundaries:
- change bus_tmp() to include the offset from the start of page in the
returned KVA [rather than forcing each driver to add it back in
individually]
- changed bus_map() to include the offset from the start of page in the
the returned value if a mapping is found in the PROM's KVA area
- clarified a few comments


# 1.18 11-Jan-1996 pk

Correct page frame calculation after mapdev() interface change.


# 1.17 11-Dec-1995 pk

Adapt to changed mapiodev() interface.


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.16 18-Aug-1995 pk

Use actual bus names (matches Chuck's bootpath code).


# 1.15 27-May-1995 pk

Propagate bootpaths


# 1.14 25-Apr-1995 pk

Remove duplication of code from subr_autoconf.c


# 1.13 10-Apr-1995 mycroft

kernel_pmap --> pmap_kernel()


# 1.12 01-Mar-1995 pk

Better 4/100 support.


# 1.11 01-Feb-1995 pk

Integrate changes from Chuck Cranor for the Sun 4/100.
Support for multiple register banks on SBUS devices (based on patches
from Francis Dupont).
Highlights:
romaux defines an array of register spaces.
pay attention to `vactype'.
quirks handling 4/100 idiosyncracies.


# 1.10 25-Nov-1994 deraadt

wzero/wcopy moved to machdep.c


# 1.9 23-Nov-1994 deraadt

XXmatch change (and a few __P() as well)


# 1.8 05-Nov-1994 deraadt

only print the vec if needed


# 1.7 02-Nov-1994 deraadt

let busmatch print the level/vec


# 1.6 02-Nov-1994 deraadt

add wcopy/wzero, and ack VME using ldcontrob


# 1.5 26-Oct-1994 deraadt

working vme16/32 support


# 1.4 15-Oct-1994 deraadt

mapiodev takes a bustype argument now


# 1.3 02-Oct-1994 deraadt

sun4/300 support works


# 1.2 17-Sep-1994 deraadt

obio bus driver, for dealing with devices on the sun4 motherboard.


# 1.1 24-Aug-1994 deraadt

first cut at sun4 on-board io bus