Home | History | Annotate | Download | only in sbus
History log of /src/sys/dev/sbus/if_le.c
RevisionDateAuthorComments
 1.44  15-Oct-2025  thorpej These drivers can use ether_getaddr() instead of prom_getether() now.
 1.43  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.42  29-May-2022  rin Audit unload/unmap v.s. free against DMA buffer for sys/dev;
make sure that bus_dmamap_unload(9) [or bus_dmamap_destroy(9)] or
bus_dmamem_unmap(9) are preceding to freeing DMA buffer, if it is
loaded or mapped, respectively.

This is mandatory for some archs. See, e.g.:

http://www.nerv.org/netbsd/?q=id:20210511T013030Z.013443cc790088147e4beed43f53dedabeaf9312
http://www.nerv.org/netbsd/?q=id:20220511T172220Z.561179f0b6fcc5b9cd73e274f69d74e2ce9e4c93

For some drivers, resource leaks for error paths are fixed at
the same time.

XXX XXX XXX
Compile test only (at least one arch per driver).
 1.41  29-May-2019  msaitoh KNF. No functional change.
 1.40  19-Jan-2010  pooka branches: 1.40.64;
Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.39  17-Sep-2009  tsutsui Remove struct sbusdev and related functions sbus_establish() and sbusreset().
They are derived from 4.4BSD/sparc and have been there since initial import
of NetBSD/sparc in 1993, but the struct sbusdev is almost unused for years,
nothing calls sbusreset(), and all (*sd->sd_reset)() functions look bogus.

Suggested by mrg@ and martin@, and tested on SS1+ and SS20.
 1.38  16-Sep-2009  tsutsui Rewrite code which looks for an unallocated lebuffer and pairs it
with possible orphaned this le at sbus one on old PROMs not using
homegrown struct sbusdev but common cfdriver_t and device_t structures.
Now nothing refers struct sbusdev registered by sbus_establish().

Tested an SBus le/esp combo card on SS1+.
 1.37  08-Sep-2009  tsutsui Fix botch on device_t/softc split caused by awful casts around
registration of (*sd_reset)(device_t) in struct sbusdev via sbus_establish().

XXX: (*sd_reset)() in struct sbusdev seems called from only sbusreset(),
XXX: but there is no function which calls sbusreset()???
 1.36  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.35  04-Apr-2008  tsutsui branches: 1.35.2; 1.35.4;
Split device_t/softc for le(4) and variants and misc cosmetic changes.
 1.34  19-Oct-2007  ad branches: 1.34.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.33  04-Mar-2007  christos branches: 1.33.2; 1.33.14; 1.33.16; 1.33.20;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.32  11-Dec-2005  christos branches: 1.32.26;
merge ktrace-lwp.
 1.31  04-Feb-2005  perry branches: 1.31.6;
de-__P
 1.30  17-Mar-2004  pk branches: 1.30.8; 1.30.10;
Rename PROM_getprop*() => prom_getprop*().
 1.29  15-Mar-2004  pk Replace myetheraddr() by prom_getether().
 1.28  11-Nov-2003  pk Remove ancient DDB-dependent `hide/integrate'.
Simplify lewrcsr/lerdcsr; read-back after write doesn't hurt on sun4 so
skip the cpu type test in generic kernels.
 1.27  10-Dec-2002  pk branches: 1.27.6;
Remove the `flags' argument from bus_intr_establish().
 1.26  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.25  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.24  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.23  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.
 1.22  12-Sep-2002  tsutsui bus_dmamap_load() can't take BUS_DMA_COHERENT flag.
 1.21  20-Mar-2002  eeh Get rid of unnecessary BUS_SPACE_MAP_LINEAR.
 1.20  11-Mar-2002  pk Get rid of `bus_type_t' and use BUS_ADDR() (in sbus_bus_map()) to construct
a `bus_addr_t' to pass on to bus_space_map().

Drop `va' argument from sbus_bus_map(); it should not be used by MI Sbus
drivers.
 1.19  13-Nov-2001  lukem add RCSIDs
 1.18  26-Sep-2001  eeh getprop* -> PROM_getprop*
 1.17  30-May-2001  mrg branches: 1.17.2; 1.17.4;
use _KERNEL_OPT
 1.16  20-Oct-2000  mrg branches: 1.16.2;
ensure DMA mappings are not mapped streamable. fixes ethernet problems on
ultrasparc sbus class machines. from eeh.
 1.15  20-Oct-2000  mrg rework to use bus_dmamem_map() then bus_dmamem_load(), rather than
bus_dmamem_load_raw() then bus_dmamem_map().

tested on SS2 and SS5 and sbus cards.
 1.14  09-Jul-2000  pk Add a `device class' interrupt level argument (from machine/intr.h)
to bus_interrupt_establish().

It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
level to devices in PCI slots.
 1.13  10-May-2000  pk branches: 1.13.4;
No need to specify page alignment; this is automatic.
 1.12  10-May-2000  pk Load DMA buffer before mapping it into kernel space.
 1.11  09-May-2000  pk Conform bus_dmamem_{alloc,map} usage to bus_dma(9) specs.
 1.10  11-Jan-2000  pk Remove old-style boot device recognition.
 1.9  21-Nov-1999  pk Check presence of Sbus interrupt properties before using them.
Only one case is known to trigger this omission: a Sparc Classic
configured as X terminal.
 1.8  16-May-1999  mrg branches: 1.8.2; 1.8.8;
white space.
 1.7  29-Aug-1998  pk branches: 1.7.8;
Nuke unnecessary header files.
 1.6  29-Aug-1998  pk Use bus_space_*() to access device registers.
Add `esp' and `le' DMA engine.
 1.5  28-Aug-1998  pk XXX - BUS_DMA_BIT24 does not exist everywhere..
 1.4  15-Aug-1998  mycroft Assign my copyrights to TNF.
 1.3  30-Jul-1998  pk Enable bus_dmamem_alloc/bus_dmamem_map
 1.2  28-Jul-1998  pk branches: 1.2.2;
Supported medium is IFM_10_5
 1.1  27-Jul-1998  pk Lance front-ends on Sbus moved here.
 1.2.2.1  08-Aug-1998  eeh Revert cdevsw mmap routines to return int.
 1.7.8.1  21-Jun-1999  thorpej Sync w/ -current.
 1.8.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.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.13.4.2  25-Oct-2000  tv Pullup 1.15 and 1.16 [mrg]:
rework to use bus_dmamem_map() then bus_dmamem_load(), rather than
bus_dmamem_load_raw() then bus_dmamem_map().

ensure DMA mappings are not mapped streamable. fixes ethernet problems on
ultrasparc sbus class machines. from eeh.
 1.13.4.1  19-Jul-2000  mrg pull up sparc/sparc64 bus_intr_establish() changes, necessary for sparc64
(originally done by pk, approved by thorpej):

>Add a `device class' interrupt level argument (from machine/intr.h)
>to bus_interrupt_establish().
>
>It's currently only used in sparc64/dev/psycho.c to assign a CPU interrupt
>level to devices in PCI slots.
 1.16.2.7  11-Dec-2002  thorpej Sync with HEAD.
 1.16.2.6  18-Oct-2002  nathanw Catch up to -current.
 1.16.2.5  17-Sep-2002  nathanw Catch up to -current.
 1.16.2.4  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.16.2.3  14-Nov-2001  nathanw Catch up to -current.
 1.16.2.2  08-Oct-2001  nathanw Catch up to -current.
 1.16.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.17.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.17.2.4  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.17.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.17.2.2  16-Mar-2002  jdolecek Catch up with -current.
 1.17.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.27.6.4  04-Feb-2005  skrll Sync with HEAD.
 1.27.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.27.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.27.6.1  03-Aug-2004  skrll Sync with HEAD
 1.30.10.1  12-Feb-2005  yamt sync with head.
 1.30.8.1  29-Apr-2005  kent sync with -current
 1.31.6.2  27-Oct-2007  yamt sync with head.
 1.31.6.1  03-Sep-2007  yamt sync with head.
 1.32.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.33.20.1  25-Oct-2007  bouyer Sync with HEAD.
 1.33.16.1  06-Nov-2007  matt sync with HEAD
 1.33.14.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.33.2.1  23-Oct-2007  ad Sync with head.
 1.34.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.35.4.3  11-Mar-2010  yamt sync with head
 1.35.4.2  16-Sep-2009  yamt sync with head
 1.35.4.1  16-May-2008  yamt sync with head.
 1.35.2.1  18-May-2008  yamt sync with head.
 1.40.64.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed