Home | History | Annotate | Download | only in isa
History log of /src/sys/dev/isa/wt.c
RevisionDateAuthorComments
 1.89  25-Sep-2022  thorpej malloc(9) -> kmem(9)
 1.88  14-Jul-2016  msaitoh - Use aprint*() more in xxx_attach().
- Add missing aprint_naive("\n").
- Remove extra spaces and tabs.
- KNF.
 1.87  11-Jul-2016  msaitoh KNF. No functional change.
 1.86  25-Jul-2014  dholland branches: 1.86.4;
Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.
 1.85  25-Jul-2014  dholland Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
 1.84  16-Mar-2014  dholland branches: 1.84.2;
Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
 1.83  27-Oct-2012  chs branches: 1.83.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.82  12-May-2009  cegger branches: 1.82.12; 1.82.22;
struct device * -> device_t, no functional changes intended.
 1.81  12-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.80  08-Jun-2008  tsutsui branches: 1.80.12;
Replace device_lookup() with device_lookup_private() on getting softc
for future device_t/softc spilt.
 1.79  08-Apr-2008  cegger branches: 1.79.2; 1.79.4; 1.79.6;
use aprint_*_dev and device_xname
 1.78  19-Oct-2007  ad branches: 1.78.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.77  29-Jul-2007  ad branches: 1.77.4; 1.77.6; 1.77.10; 1.77.12;
It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.76  09-Jul-2007  ad branches: 1.76.2;
Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.75  04-Mar-2007  christos branches: 1.75.2; 1.75.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.74  16-Nov-2006  christos branches: 1.74.4;
__unused removal on arguments; approved by core.
 1.73  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.72  26-Apr-2006  rpaulo branches: 1.72.8; 1.72.10;
Make wtintr() prototype static too.
In wtsense(), make msg local variable const.
 1.71  26-Apr-2006  rpaulo Put back sys/proc.h for wakeup/tsleep.
Fix more typos.
 1.70  26-Apr-2006  rpaulo Make 3rd argument of wtwait() const.
 1.69  26-Apr-2006  rpaulo Fix an obvious typo.
 1.68  26-Apr-2006  rpaulo ktrace-lwp merge.
 1.67  26-Apr-2006  rpaulo ANSIfy, statify, KNfy.
(and maybe deadfy some day?)
 1.66  11-Dec-2005  christos branches: 1.66.4; 1.66.6; 1.66.8; 1.66.10; 1.66.12;
merge ktrace-lwp.
 1.65  28-Feb-2005  simonb branches: 1.65.4;
Add a missing return after an "if" that checks for something then
did nothing.
 1.64  27-Feb-2005  perry nuke trailing whitespace
 1.63  04-Feb-2005  perry de-__P
 1.62  14-Sep-2004  drochner branches: 1.62.4; 1.62.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.61  09-May-2003  fvdl branches: 1.61.2;
A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
 1.60  03-May-2003  wiz DMA, not dma nor Dma.
 1.59  23-Oct-2002  jdolecek merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
 1.58  02-Oct-2002  thorpej Fix sizeof and whitespace bug from the script I'm using to do the
CFATTACH_DECL conversion. (Grumble.)
 1.57  02-Oct-2002  thorpej Use CFATTACH_DECL().
 1.56  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.55  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.54  07-Jan-2002  thorpej branches: 1.54.8;
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.53  13-Nov-2001  lukem add RCSID
 1.52  18-Jul-2001  thorpej branches: 1.52.2;
bcopy -> memcpy
 1.51  06-Jul-2000  thorpej branches: 1.51.2; 1.51.4;
Use device_lookup().
 1.50  26-Jun-2000  mrg <vm/vm_param.h> -> <uvm/uvm_param.h>
 1.49  23-Mar-2000  thorpej 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.48  08-Feb-2000  thorpej Cast bus_size_t to u_long for printing.
 1.47  07-Feb-2000  thorpej Add a new function call to the ISA DMA API: isa_dmamaxsize(), which returns
the maximum transfer size for the specified DMA channel. Make all clients
of ISA DMA use this call to determine their maximum transfer size.
 1.46  10-Jan-1999  augustss branches: 1.46.8;
Avoid `void *' arithmetic. Fixes PR 6783.
 1.45  09-Jun-1998  thorpej Nuke __BROKEN_INDIRECT_CONFIG.
 1.44  09-Jun-1998  thorpej Adjust for changes to the ISA DMA API.
 1.43  20-Jan-1998  drochner make compile without BROKEN_INDIRECT_CONFIG,
fix obvious brokeness in port offset calculation
(untested)
 1.42  12-Jan-1998  thorpej Update for config changes.
 1.41  20-Oct-1997  thorpej branches: 1.41.2;
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  08-Aug-1997  jonathan Add back ia->iobase to initializer macros for softc device-register offsets.
 1.38  05-Aug-1997  jonathan Use <bus.h>.
 1.37  06-Jun-1997  thorpej branches: 1.37.4;
Pull thorpej-bus-dma branch into mainline.
 1.36  13-Oct-1996  christos branches: 1.36.8;
backout kprintf changes
 1.35  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.34  05-Sep-1996  mycroft wtpoll() -> wtsoft()
 1.33  12-May-1996  mycroft Use intr.h.
 1.32  29-Apr-1996  christos Prototype fixes
 1.31  11-Apr-1996  cgd update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
 1.30  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.29  01-Mar-1996  mycroft Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
 1.28  12-Jan-1996  thorpej Use WTDBPRINT() instead of DEBUG() for driver debugging printf()s..
Fixes PR #1927, from Erik Bertelsen <erik@arhpc214.uni-c.dk>
 1.27  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.26  04-Jul-1995  mycroft Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely. Remove d_strategy from cdevsw to
force the abstraction barrier.
 1.25  26-Jun-1995  cgd make dump stubs consistent
 1.24  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.23  29-Jan-1995  cgd lip service to making ISA support machine-independent. This is the first
round: moving the drivers into a machine-independent directory.
Some drivers (e.g. fd.c) not moved because they use other pc features (e.g.
CMOS settings), and none of the non-driver files moved, because they're
still pretty much PC specific. eventually (when other ports with ISA
busses really start using this code), more 'high-level' ISA support will
live here.
 1.22  03-Jan-1995  mycroft Add interrupt sharing types.
 1.21  18-Nov-1994  mycroft Convert port, IRQ, and DRQ numbers to ints.
 1.20  03-Nov-1994  mycroft Update to match autoconfig code.
 1.19  30-Oct-1994  cgd be more careful with types, also pull in headers where necessary.
 1.18  27-Oct-1994  cgd new RCS ID format.
 1.17  25-Jul-1994  mycroft Add missing splbio()s, pointed out by Gene Stark.
 1.16  16-Jun-1994  mycroft branches: 1.16.2;
b_un.b_addr -> b_data
 1.15  05-May-1994  mycroft Remove now-bogus cast.
 1.14  05-May-1994  cgd lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around. kill some unnecessary type and macro
definitions. standardize clock handling. More changes than you'd want.
 1.13  22-Apr-1994  mycroft Separate DMA functions.
 1.12  21-Apr-1994  mycroft Fix return of I/O space size from wtprobe(), as reported by Rafal Boni.
 1.11  07-Apr-1994  mycroft Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
 1.10  29-Mar-1994  mycroft New version from Sergey Ryzhkov and Serge Vakulenko.
 1.9  08-Mar-1994  mycroft #include cpu.h in all files which use spl*().
 1.8  06-Mar-1994  mycroft DELAY() --> delay(). This is not a macro.
 1.7  09-Feb-1994  mycroft All ioctl routines take a struct proc * now.
 1.6  20-Dec-1993  mycroft Canonicalize all #includes, and add pio.h where appropriate.
 1.5  28-Jul-1993  cgd branches: 1.5.2;
incorporate changes from 0-9-base to 0-9-ALPHA
 1.4  19-Jul-1993  cgd branches: 1.4.2;
kill damned RCS Log
 1.3  19-Jul-1993  cgd Reading file marks or writing end of tape return 0 bytes, AND THEY
DON'T SET THE ERROR BIT ON THE BUFFER UNLESS THE AUTHOR OF PHYSIO
IS STUPID!
 1.2  22-May-1993  cgd add rcsids to everything and clean up headers
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.4.2.1  19-Jul-1993  cgd my previous change to get rid of error flagging on EOM/EOF was wrong-headed
 1.5.2.2  02-Feb-1994  mycroft Partial cleanup; needs work.
 1.5.2.1  24-Sep-1993  mycroft clock.c: Finish conversion. Make rtcput() work if VRT bit not set. Speed up
time conversion in delay().
fd.c: Minor changes to autoconfig. Use dv_parent rather than storing another
pointer to the fdc_softc in each fd_softc. Change disk label stuff for our
kernel.
icu.s: Make splx() and splnone() return previous cpl for now.
isa.c: Minor autoconfig changes.
isa.h: rtcin() is now nvram() and is declare in nvram.h. Make isaphysmem a
caddr_t.
pccons.c: XXXX: Maybe we should insist they open /dev/io now.
timerreg.h: #define TIMER_NPORTS.
wd.c: Delete unused wdnoreloc() and wddospart(), and use remaining two bits in
unit number. struct disk --> struct wd_softc. struct board --> struct
wdc_softc. Still needs much work.
 1.16.2.1  26-Jul-1994  cgd from trunk
 1.36.8.1  13-May-1997  thorpej Adapt to new software interface to the on-board ISA DMA controller.
 1.37.4.1  23-Aug-1997  thorpej Update marc-pcmcia branch from trunk.
 1.41.2.1  08-May-1998  mycroft Pull up 1.43, per request of drochner.
 1.46.8.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.51.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.51.4.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.51.4.1  03-Aug-2001  lukem update to -current
 1.51.2.7  11-Nov-2002  nathanw Catch up to -current
 1.51.2.6  18-Oct-2002  nathanw Catch up to -current.
 1.51.2.5  17-Sep-2002  nathanw Catch up to -current.
 1.51.2.4  28-Feb-2002  nathanw Catch up to -current.
 1.51.2.3  11-Jan-2002  nathanw More catchup.
 1.51.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.51.2.1  24-Aug-2001  nathanw Catch up with -current.
 1.52.2.1  10-Oct-2001  fvdl Convert all remaining devices.
 1.54.8.1  16-May-2002  gehenna Add the block/character device switches.
 1.61.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.61.2.3  04-Feb-2005  skrll Sync with HEAD.
 1.61.2.2  21-Sep-2004  skrll Fix the sync with head I botched.
 1.61.2.1  18-Sep-2004  skrll Sync with HEAD.
 1.62.6.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.62.6.1  12-Feb-2005  yamt sync with head.
 1.62.4.1  29-Apr-2005  kent sync with -current
 1.65.4.4  27-Oct-2007  yamt sync with head.
 1.65.4.3  03-Sep-2007  yamt sync with head.
 1.65.4.2  30-Dec-2006  yamt sync with head.
 1.65.4.1  21-Jun-2006  yamt sync with head.
 1.66.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.66.10.1  11-May-2006  elad sync with head
 1.66.8.1  24-May-2006  yamt sync with head.
 1.66.6.1  01-Jun-2006  kardel Sync with head.
 1.66.4.1  09-Sep-2006  rpaulo sync with head
 1.72.10.2  10-Dec-2006  yamt sync with head.
 1.72.10.1  22-Oct-2006  yamt sync with head
 1.72.8.1  18-Nov-2006  ad Sync with head.
 1.74.4.1  12-Mar-2007  rmind Sync with HEAD.
 1.75.4.1  11-Jul-2007  mjf Sync with head.
 1.75.2.4  23-Oct-2007  ad Sync with head.
 1.75.2.3  19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.75.2.2  01-Jul-2007  ad Adapt to callout API change.
 1.75.2.1  09-Jun-2007  ad Sync with head.
 1.76.2.1  15-Aug-2007  skrll Sync with HEAD.
 1.77.12.2  29-Jul-2007  ad It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.
 1.77.12.1  29-Jul-2007  ad file wt.c was added on branch matt-mips64 on 2007-07-29 12:50:22 +0000
 1.77.10.1  25-Oct-2007  bouyer Sync with HEAD.
 1.77.6.1  06-Nov-2007  matt sync with HEAD
 1.77.4.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.78.16.3  29-Jun-2008  mjf Sync with HEAD.
 1.78.16.2  02-Jun-2008  mjf Sync with HEAD.
 1.78.16.1  05-Apr-2008  mjf - add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
list of device drivers yet to be converted see,
http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
names associated with a device_t, which saves us having to construct
device names when the driver is detached.

- add a DEV_AUDIO type for devices.
 1.79.6.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.79.4.2  16-May-2009  yamt sync with head
 1.79.4.1  04-May-2009  yamt sync with head.
 1.79.2.1  17-Jun-2008  yamt sync with head.
 1.80.12.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.82.22.3  03-Dec-2017  jdolecek update from HEAD
 1.82.22.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.82.22.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.82.12.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.82.12.1  30-Oct-2012  yamt sync with head
 1.83.2.1  18-May-2014  rmind sync with head
 1.84.2.1  10-Aug-2014  tls Rebase.
 1.86.4.1  05-Oct-2016  skrll Sync with HEAD

RSS XML Feed