History log of /src/sys/dev/i2o/ld_iop.c |
Revision | | Date | Author | Comments |
1.42 |
| 13-Apr-2025 |
rin | ld(4): Convert blkno argument for sc_dump() to daddr_t
PR kern/59153
(1) For backends that accept 64-bit block address, i.e., nvme(4), virtio(4), aac(4), iop(4), and mainbus(usermode/4), this should enable to dump beyond 2Gi blocks.
(2) sdmmc(4) backend allows to dump up to the last block.
(3) For other backends, block address is handled as `int`. Some of them may support blocks up to 4Gi, but I do not have enough time to examine datasheets. So, continue to reject >2Gi blocks as before.
XXX This is KABI change, and cannot be pulled up into netbsd-{10,9}.
XXX Compile-test only (for amd64/ALL) due to lack of large SSDs ;)
Thanks mlelstv@ for discussion and careful review!!
|
1.41 |
| 08-Sep-2024 |
rillig | fix a/an grammar in obvious cases
|
1.40 |
| 31-May-2023 |
ad | Fix typo.
|
1.39 |
| 09-Aug-2017 |
mlelstv | While ld(4) is MP safe, many backends are not.
Add a flag for backends that are MP safe. Take KERNEL_LOCK when calling into a backend that doesn't have the flag set. Do the same for the discard routine.
Fixes PR 52462.
|
1.38 |
| 09-Aug-2017 |
mlelstv | Don't wait for allocation in polling mode.
|
1.37 |
| 27-Feb-2017 |
jdolecek | branches: 1.37.6; refactor the ld(4) DIOCCACHESYNC hook into general ioctl hook, so that attachments would be able to implement arbitrary other ioctls
|
1.36 |
| 16-Sep-2016 |
jdolecek | branches: 1.36.2; modify ldattach() to have default strategy as a parameter
|
1.35 |
| 13-Apr-2015 |
riastradh | branches: 1.35.2; Convert sys/dev to use <sys/rndsource.h>.
|
1.34 |
| 02-Feb-2012 |
tls | branches: 1.34.6; 1.34.24; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
1.33 |
| 15-Dec-2008 |
mhitch | branches: 1.33.14; 1.33.18; More device_t/softc split fallout, this time in iop(4). Fix from Juan Romero Pardines. Tested on alpha by me.
|
1.32 |
| 09-Sep-2008 |
tron | branches: 1.32.2; 1.32.4; Complete device_t/softc split for the ld(4) attachments. This should prevent crashes while attaching a drive.
Patch supplied by Juan RP in PR kern/39468.
|
1.31 |
| 08-Sep-2008 |
gmcgarry | Replace most gcc-specific __attribute__ uses with BSD-style sys/cdef.h preprocessor macros.
|
1.30 |
| 11-Aug-2008 |
simonb | Add a flags argument to the ld(4) flush handlers, and call these with a "poll" flag when called from ld_shutdown().
This is the infrastructure part of kern/38655 - in itself it doesn't fix the panic referenced in that PR.
XXX: At least ld_twa.c and perhaps ld_iop.c and ld_icp.c need to check for this new poll flag and do something useful.
|
1.29 |
| 10-May-2008 |
simonb | branches: 1.29.2; 1.29.4; Fix a tyop in a comment.
|
1.28 |
| 28-Apr-2008 |
martin | branches: 1.28.2; Remove clause 3 and 4 from TNF licenses
|
1.27 |
| 06-Apr-2008 |
cegger | branches: 1.27.2; 1.27.4; use aprint_*_dev and device_xname
|
1.26 |
| 19-Oct-2007 |
ad | branches: 1.26.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.25 |
| 29-Jul-2007 |
ad | branches: 1.25.4; 1.25.6; 1.25.10; 1.25.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.24 |
| 16-Jun-2007 |
ad | branches: 1.24.2; - Merge changes from the vmlocking branch. - Eliminate opt_i2o.h, since I2OVERBOSE is gone.
|
1.23 |
| 16-Nov-2006 |
christos | branches: 1.23.8; 1.23.10; __unused removal on arguments; approved by core.
|
1.22 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.21 |
| 14-Apr-2006 |
christos | branches: 1.21.8; 1.21.10; Coverity CID 1532: Off-by-one array overrun.
|
1.20 |
| 29-Mar-2006 |
thorpej | Use device_private().
|
1.19 |
| 25-Mar-2006 |
thorpej | Use device_parent().
|
1.18 |
| 11-Dec-2005 |
christos | branches: 1.18.4; 1.18.6; 1.18.8; 1.18.10; 1.18.12; merge ktrace-lwp.
|
1.17 |
| 30-May-2005 |
christos | branches: 1.17.2; add const
|
1.16 |
| 27-Feb-2005 |
perry | nuke trailing whitespace
|
1.15 |
| 28-Oct-2004 |
yamt | branches: 1.15.4; 1.15.6; move buffer queue related stuffs from buf.h to their own header, bufq.h.
|
1.14 |
| 19-Apr-2004 |
wiz | Spell removable with only two es. Inspired by jmc@openbsd.
|
1.13 |
| 02-Oct-2002 |
thorpej | branches: 1.13.6; Add trailing ; to CFATTACH_DECL.
|
1.12 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.11 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.10 |
| 13-Nov-2001 |
lukem | add RCSID
|
1.9 |
| 22-Aug-2001 |
ad | branches: 1.9.6; Parameter group changes:
- Do FIELD_SET correctly for scalar types. - Add some basic table ops. - Push error reporting back into iop.c. - Add some field index and (yet more) LAN defs to i2o.h.
|
1.8 |
| 04-Aug-2001 |
ad | Some changes from OpenBSD, and some of my own:
- More SCSI port defs. - Nuke vtophys(). - Release resources in iop_init() upon failure. - Don't use a message wrapper when initalising the outbound FIFO. - A couple of field size/endian fixes. - Just use iop_post() when we don't need special handling. - IM_DISCARD is now pointless, since we don't queue at the driver level. - Map data transfers from/to userspace directly. - A few comment and stylistic changes.
|
1.7 |
| 10-Jun-2001 |
ad | branches: 1.7.2; Centralise the geometry fudge.
|
1.6 |
| 20-Mar-2001 |
ad | Major update; basically, improve performance somewhat and play nicer with Intel and AMI IOPs. There still exists one nasty problem with Intel adapters when under load, which I'm working on.
|
1.5 |
| 06-Feb-2001 |
ad | branches: 1.5.2; Sync with ld.c.
|
1.4 |
| 03-Jan-2001 |
ad | Make dumps work, and put the first part of detach into ld.c.
|
1.3 |
| 03-Dec-2000 |
ad | branches: 1.3.2; Oops.
|
1.2 |
| 03-Dec-2000 |
ad | - Only configure un-claimed devices. Implement re-configuration. - Adhere to the spec better in some places. Also, work around some quirks noted in the Linux I2O code. - Register event handlers for the executive and RBS devices. - Fix a number of buglets and tidy a little. - Implement a message pass-through interface and some other useful ioctls.
|
1.1 |
| 26-Nov-2000 |
ad | lsu -> ld, by popular request.
|
1.3.2.6 |
| 01-Apr-2001 |
ad | Sync w/current.
|
1.3.2.5 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.3.2.4 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.3.2.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.3.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.3.2.1 |
| 03-Dec-2000 |
bouyer | file ld_iop.c was added on branch thorpej_scsipi on 2000-12-08 09:12:19 +0000
|
1.5.2.6 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.5.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.5.2.4 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.5.2.3 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.5.2.2 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.5.2.1 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.7.2.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.7.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.7.2.1 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.9.6.2 |
| 25-Oct-2001 |
he | Pull up revisions 1.1-1.9 (requested by ad): Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
|
1.9.6.1 |
| 22-Aug-2001 |
he | file ld_iop.c was added on branch netbsd-1-5 on 2001-10-25 17:54:01 +0000
|
1.13.6.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.13.6.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.13.6.4 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.13.6.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.13.6.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.13.6.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.15.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.15.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.17.2.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.17.2.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.17.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.17.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.18.12.3 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.18.12.2 |
| 31-Mar-2006 |
tron | Merge 2006-03-31 NetBSD-current into the "peter-altq" branch.
|
1.18.12.1 |
| 28-Mar-2006 |
tron | Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
|
1.18.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.18.8.2 |
| 24-May-2006 |
yamt | sync with head.
|
1.18.8.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.18.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.18.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.21.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.21.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.21.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.23.10.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.23.8.5 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.23.8.4 |
| 19-Aug-2007 |
ad | - Back out the biodone() changes. - Eliminate B_ERROR (from HEAD).
|
1.23.8.3 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.23.8.2 |
| 27-May-2007 |
ad | Checkpoint work in progress. Seems to break block I/O but I am not sure why yet:
- Avoid a NULL pointer dereference in bus_dmamap_sync. - MP safety changes, incomplete.
|
1.23.8.1 |
| 13-May-2007 |
ad | - Pass the error number and residual count to biodone(), and let it handle setting error indicators. Prepare to eliminate B_ERROR. - Add a flag argument to brelse() to be set into the buf's flags, instead of doing it directly. Typically used to set B_INVAL. - Add a "struct cpu_info *" argument to kthread_create(), to be used to create bound threads. Change "bool mpsafe" to "int flags". - Allow exit of LWPs in the IDL state when (l != curlwp). - More locking fixes & conversion to the new API.
|
1.24.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.25.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.25.12.1 |
| 29-Jul-2007 |
ad | file ld_iop.c was added on branch matt-mips64 on 2007-07-29 12:50:21 +0000
|
1.25.10.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.25.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.25.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.26.16.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.26.16.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.26.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.27.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.27.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.27.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.28.2.3 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.28.2.2 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.28.2.1 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.29.4.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.29.2.2 |
| 11-Jun-2008 |
simonb | Revert my suggested fix for kern/38655 - that shouldn't have snuck in to this branch.
|
1.29.2.1 |
| 10-Jun-2008 |
simonb | Initial commit of Wasabi System's WAPBL (Write Ahead Physical Block Logging) journaling code. Originally written by Darrin B. Jewell while at Wasabi and updated to -current by Antti Kantee, Andy Doran, Greg Oster and Simon Burge.
Still a number of issues - look in doc/BRANCHES for "simonb-wapbl" for more info.
|
1.32.4.1 |
| 18-Dec-2008 |
snj | Pull up following revision(s) (requested by mhitch in ticket #190): sys/dev/i2o/ld_iop.c: revision 1.33 More device_t/softc split fallout, this time in iop(4). Fix from Juan Romero Pardines. Tested on alpha by me.
|
1.32.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.33.18.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.33.14.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.34.24.3 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.34.24.2 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.34.24.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.34.6.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.35.2.2 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.35.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.36.2.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.37.6.1 |
| 01-Sep-2017 |
martin | Pull up following revision(s) (requested by mlelstv in ticket #261): sys/dev/sdmmc/ld_sdmmc.c: revision 1.32 sys/dev/sdmmc/ld_sdmmc.c: revision 1.33 sys/dev/sdmmc/ld_sdmmc.c: revision 1.34 sys/dev/sdmmc/sdmmc_mem.c: revision 1.62 sys/dev/i2o/ld_iop.c: revision 1.39 sys/dev/ld.c: revision 1.102 sys/dev/ld.c: revision 1.103 sys/dev/dksubr.c: revision 1.98 sys/dev/dksubr.c: revision 1.99 sys/dev/sdmmc/sdmmcvar.h: revision 1.29 sys/dev/ic/ld_nvme.c: revision 1.17 sys/dev/ldvar.h: revision 1.31 sys/dev/ldvar.h: revision 1.32 sys/dev/ic/ld_cac.c: revision 1.31 sys/dev/pci/ld_virtio.c: revision 1.16 While ld(4) is MP safe, many backends are not. Add a flag for backends that are MP safe. Take KERNEL_LOCK when calling into a backend that doesn't have the flag set. Do the same for the discard routine. Fixes PR 52462. Defer sdmmc discard operations to the sdmmc task queue. Fixes a panic introduced by ld.c r1.102. validate length for discard operation and split operation when byte length doesn't fit into 'int'. make the sc_discard interface for the ld backend asynchronous and signal completion through new callback lddiscardend. Use a standard struct buf to pass disk address and range instead of two off_t values. make lddiscard synchronous again. This is a requirement of the current ffs discard code. Initialize error also in the case where len=0, which just succeeds. while here, assert that the len is indeed non-negative. this is already confirmed by sys_fdiscard, but let's be sure. reported by: GCC, but with different compile flags
|