History log of /src/sys/dev/ic/ld_cac.c |
Revision | | Date | Author | Comments |
1.32 |
| 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.31 |
| 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.30 |
| 27-Sep-2016 |
pgoyette | branches: 1.30.8; Modularize the ld driver and all of its attachments. Ensure that all parents are capable of rescan (or otherwise provide a means of attaching children post-initialization).
|
1.29 |
| 16-Sep-2016 |
jdolecek | modify ldattach() to have default strategy as a parameter
|
1.28 |
| 13-Apr-2015 |
riastradh | branches: 1.28.2; Convert sys/dev to use <sys/rndsource.h>.
|
1.27 |
| 24-Feb-2012 |
mhitch | branches: 1.27.2; 1.27.16; Reserve a CCB for the driver. Stops the annoying cac0: unable to alloc CCB messages.
|
1.26 |
| 02-Feb-2012 |
tls | branches: 1.26.2; 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.25 |
| 12-May-2009 |
cegger | branches: 1.25.12; 1.25.16; struct device * -> device_t, no functional changes intended.
|
1.24 |
| 21-Mar-2009 |
ad | Fix the *third* break to this driver from sloppy device_t conversion.
|
1.23 |
| 04-Dec-2008 |
ad | branches: 1.23.4; PR kern/40099 device_t/softc split broke cac(4)/ld(4): panic: iostat_unbusy
|
1.22 |
| 09-Sep-2008 |
tron | branches: 1.22.2; 1.22.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.21 |
| 28-Apr-2008 |
martin | branches: 1.21.2; 1.21.6; Remove clause 3 and 4 from TNF licenses
|
1.20 |
| 08-Apr-2008 |
cegger | branches: 1.20.2; 1.20.4; use aprint_*_dev and device_xname
|
1.19 |
| 19-Oct-2007 |
ad | branches: 1.19.16; machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
|
1.18 |
| 29-Jul-2007 |
ad | branches: 1.18.4; 1.18.6; 1.18.10; 1.18.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.17 |
| 09-Feb-2007 |
ad | branches: 1.17.6; 1.17.14; Merge newlock2 to head.
|
1.16 |
| 28-Nov-2006 |
ad | Improve error handling. Related to PR/21900.
|
1.15 |
| 16-Nov-2006 |
christos | __unused removal on arguments; approved by core.
|
1.14 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.13 |
| 25-Mar-2006 |
thorpej | branches: 1.13.8; 1.13.10; Use device_parent().
|
1.12 |
| 11-Dec-2005 |
christos | branches: 1.12.4; 1.12.6; 1.12.8; 1.12.10; 1.12.12; merge ktrace-lwp.
|
1.11 |
| 27-Feb-2005 |
perry | branches: 1.11.4; nuke trailing whitespace
|
1.10 |
| 08-Feb-2005 |
briggs | Use aprint_*() instead of printf() at attach time.
|
1.9 |
| 28-Oct-2004 |
yamt | branches: 1.9.4; 1.9.6; move buffer queue related stuffs from buf.h to their own header, bufq.h.
|
1.8 |
| 02-Oct-2002 |
thorpej | branches: 1.8.6; Add trailing ; to CFATTACH_DECL.
|
1.7 |
| 30-Sep-2002 |
thorpej | Use CFATTACH_DECL().
|
1.6 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.5 |
| 25-Jan-2002 |
ad | - Always validate the return value read from the outbound FIFO. - Copy access method info into the softc so we don't double dereference. - Remove static on functions.
|
1.4 |
| 13-Nov-2001 |
lukem | add/cleanup RCSID
|
1.3 |
| 10-Jun-2001 |
ad | branches: 1.3.2; 1.3.8; Centralise the geometry fudge.
|
1.2 |
| 11-Dec-2000 |
ad | branches: 1.2.2; Report soft-errors-per-unit once per minute at most.
|
1.1 |
| 26-Nov-2000 |
ad | branches: 1.1.2; lsu -> ld, by popular request.
|
1.1.2.3 |
| 13-Dec-2000 |
bouyer | Sync with HEAD (for UBC fixes).
|
1.1.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.1.2.1 |
| 26-Nov-2000 |
bouyer | file ld_cac.c was added on branch thorpej_scsipi on 2000-12-08 09:12:23 +0000
|
1.2.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.2.2.3 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.2.2.2 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.2.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.3.8.3 |
| 29-Jan-2002 |
he | Pull up revision 1.5 (requested by ad): Some fixes: o Always validate return value read from outbound FIFO o Copy access method into to softc to avoid double dereference o Remove static on functions Fixes PR#14453.
|
1.3.8.2 |
| 25-Oct-2001 |
he | Pull up revisions 1.1-1.3 (requested by ad): Add Mylex DACC960, CAC-EISA, and I2O block/SCSI drivers.
|
1.3.8.1 |
| 10-Jun-2001 |
he | file ld_cac.c was added on branch netbsd-1-5 on 2001-10-25 17:54:04 +0000
|
1.3.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.3.2.2 |
| 11-Feb-2002 |
jdolecek | Sync w/ -current.
|
1.3.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.6.3 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.8.6.2 |
| 09-Feb-2005 |
skrll | Sync with HEAD.
|
1.8.6.1 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.9.6.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.9.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.9.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.11.4.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.11.4.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.11.4.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.11.4.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.11.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.12.12.1 |
| 28-Mar-2006 |
tron | Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
|
1.12.10.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.12.8.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.12.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.12.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.13.10.2 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.13.10.1 |
| 22-Oct-2006 |
yamt | sync with head
|
1.13.8.3 |
| 15-Jan-2007 |
ad | MP locking.
|
1.13.8.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.13.8.1 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.17.14.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.17.6.3 |
| 23-Oct-2007 |
ad | Sync with head.
|
1.17.6.2 |
| 19-Aug-2007 |
ad | - Back out the biodone() changes. - Eliminate B_ERROR (from HEAD).
|
1.17.6.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.18.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.18.12.1 |
| 29-Jul-2007 |
ad | file ld_cac.c was added on branch matt-mips64 on 2007-07-29 12:50:21 +0000
|
1.18.10.1 |
| 25-Oct-2007 |
bouyer | Sync with HEAD.
|
1.18.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.18.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.19.16.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.19.16.2 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.19.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.20.4.3 |
| 16-May-2009 |
yamt | sync with head
|
1.20.4.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.20.4.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.20.2.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.21.6.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.21.6.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.21.2.1 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.22.4.2 |
| 24-Mar-2009 |
snj | Pull up following revision(s) (requested by ad in ticket #599): sys/dev/ic/ld_cac.c: revision 1.24 Fix the *third* break to this driver from sloppy device_t conversion.
|
1.22.4.1 |
| 13-Dec-2008 |
bouyer | Pull up following revision(s) (requested by mhitch in ticket #186): sys/dev/ic/ld_cac.c: revision 1.23 PR kern/40099 device_t/softc split broke cac(4)/ld(4): panic: iostat_unbusy
|
1.22.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.22.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.23.4.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.25.16.2 |
| 04-Mar-2012 |
mrg | sync to latest -current.
|
1.25.16.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.25.12.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.26.2.1 |
| 09-May-2012 |
riz | Pull up following revision(s) (requested by macallan in ticket #240): sys/dev/ic/ld_cac.c: revision 1.27 Reserve a CCB for the driver. Stops the annoying cac0: unable to alloc CCB messages.
|
1.27.16.3 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.27.16.2 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.27.16.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.27.2.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.28.2.1 |
| 04-Nov-2016 |
pgoyette | Sync with HEAD
|
1.30.8.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
|