Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/ld_twa.c
RevisionDateAuthorComments
 1.21  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.20  27-Feb-2017  jdolecek refactor the ld(4) DIOCCACHESYNC hook into general ioctl hook, so that attachments
would be able to implement arbitrary other ioctls
 1.19  27-Sep-2016  pgoyette branches: 1.19.2;
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.18  16-Sep-2016  jdolecek modify ldattach() to have default strategy as a parameter
 1.17  13-Apr-2015  riastradh branches: 1.17.2;
Convert sys/dev to use <sys/rndsource.h>.
 1.16  17-Oct-2013  christos branches: 1.16.6;
- remove unused variables
- move debugging code inside debugging sections
 1.15  02-Feb-2012  tls branches: 1.15.6; 1.15.10;
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.14  13-Nov-2010  uebayasi branches: 1.14.8; 1.14.12;
Don't pull in the whole uvm(9) API to access only PAGE_SIZE and
some other constants. These are provided by sys/param.h now.
 1.13  09-Sep-2008  tron branches: 1.13.16;
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.12  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.11  07-May-2008  joerg branches: 1.11.2; 1.11.4; 1.11.6;
First part of twa(4) improvements:
- more/better diagnostic messages
- dynamically allocate units in preparation for 9650+ support
- better distribute queue slots over disks according to size
- drain large request queue on 9550
- keep track of resets, will be needed for 9650.

This changes have been contributed by Wasabi Systems.
 1.10  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.9  19-Oct-2007  ad branches: 1.9.16; 1.9.18; 1.9.20;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.8  07-Aug-2007  simonb branches: 1.8.2; 1.8.6;
Unwrap not-too-long line.
 1.7  29-Jul-2007  ad branches: 1.7.4; 1.7.6;
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.6  21-Jul-2007  ad Don't depend on uvm_extern.h pulling in proc.h.
 1.5  08-Feb-2007  ad branches: 1.5.6; 1.5.14;
Add a quick hack to allow addressing over 2G sectors. XXX This driver
needs to be rewritten to use the scsipi layer. Additionally:

- Missing copyright years: 2000, 2001, 2002, 2003
- Missing attribution: Andrew Doran and Jason R. Thorpe
 1.4  16-Nov-2006  christos __unused removal on arguments; approved by core.
 1.3  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.2  25-May-2006  wrstuden branches: 1.2.2; 1.2.6; 1.2.8; 1.2.10; 1.2.12; 1.2.16; 1.2.18; 1.2.20;
Add $NetBSD: ids, which work better than $netbsd: ones.
 1.1  24-May-2006  wrstuden 3ware 9000 driver, contributed by Wasabi Systems and written
by Jordan Rhody (based on the FreeBSD driver).

Contributed in NetBSD PR 33364.
 1.2.20.2  10-Dec-2006  yamt sync with head.
 1.2.20.1  22-Oct-2006  yamt sync with head
 1.2.18.2  09-Sep-2006  rpaulo sync with head
 1.2.18.1  25-May-2006  rpaulo file ld_twa.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:52:18 +0000
 1.2.16.2  09-Feb-2007  ad Sync with HEAD.
 1.2.16.1  18-Nov-2006  ad Sync with head.
 1.2.12.2  31-Jul-2006  tron Apply patch (requested by bouyer in ticket #1441):
Pullup the twa(4) driver for the 3ware Apache RAID controllers.
Matching revisions in current:
share/man/man4/twa.4 1.1
sys/dev/pci/ld_twa.c 1.2
sys/dev/pci/twa.c 1.9
sys/dev/pci/twaio.h 1.3
sys/dev/pci/twareg.h 1.5
sys/dev/pci/twavar.h 1.5
 1.2.12.1  25-May-2006  tron file ld_twa.c was added on branch netbsd-3 on 2006-07-31 12:35:22 +0000
 1.2.10.2  26-Jun-2006  yamt sync with head.
 1.2.10.1  25-May-2006  yamt file ld_twa.c was added on branch yamt-pdpolicy on 2006-06-26 12:51:22 +0000
 1.2.8.6  27-Oct-2007  yamt sync with head.
 1.2.8.5  03-Sep-2007  yamt sync with head.
 1.2.8.4  26-Feb-2007  yamt sync with head.
 1.2.8.3  30-Dec-2006  yamt sync with head.
 1.2.8.2  21-Jun-2006  yamt sync with head.
 1.2.8.1  25-May-2006  yamt file ld_twa.c was added on branch yamt-lazymbuf on 2006-06-21 15:05:05 +0000
 1.2.6.2  19-Jun-2006  chap Sync with head.
 1.2.6.1  25-May-2006  chap file ld_twa.c was added on branch chap-midi on 2006-06-19 04:01:36 +0000
 1.2.2.2  01-Jun-2006  kardel Sync with head.
 1.2.2.1  25-May-2006  kardel file ld_twa.c was added on branch simonb-timecounters on 2006-06-01 22:36:46 +0000
 1.5.14.1  15-Aug-2007  skrll Sync with HEAD.
 1.5.6.5  23-Oct-2007  ad Sync with head.
 1.5.6.4  09-Oct-2007  ad Sync with head.
 1.5.6.3  19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.5.6.2  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.5.6.1  05-Apr-2007  ad Compile fixes.
 1.7.6.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.7.6.1  29-Jul-2007  ad file ld_twa.c was added on branch matt-mips64 on 2007-07-29 12:50:23 +0000
 1.7.4.2  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.7.4.1  09-Aug-2007  jmcneill Sync with HEAD.
 1.8.6.1  25-Oct-2007  bouyer Sync with HEAD.
 1.8.2.1  06-Nov-2007  matt sync with HEAD
 1.9.20.2  04-May-2009  yamt sync with head.
 1.9.20.1  16-May-2008  yamt sync with head.
 1.9.18.1  18-May-2008  yamt sync with head.
 1.9.16.2  28-Sep-2008  mjf Sync with HEAD.
 1.9.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.11.6.1  19-Oct-2008  haad Sync with HEAD.
 1.11.4.2  11-Jun-2008  simonb Revert my suggested fix for kern/38655 - that shouldn't have snuck in
to this branch.
 1.11.4.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.11.2.2  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.11.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.13.16.1  05-Mar-2011  rmind sync with head
 1.14.12.1  18-Feb-2012  mrg merge to -current.
 1.14.8.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.14.8.1  17-Apr-2012  yamt sync with head
 1.15.10.1  18-May-2014  rmind sync with head
 1.15.6.2  03-Dec-2017  jdolecek update from HEAD
 1.15.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.6.3  28-Aug-2017  skrll Sync with HEAD
 1.16.6.2  05-Oct-2016  skrll Sync with HEAD
 1.16.6.1  06-Jun-2015  skrll Sync with HEAD
 1.17.2.2  20-Mar-2017  pgoyette Sync with HEAD
 1.17.2.1  04-Nov-2016  pgoyette Sync with HEAD
 1.19.2.1  21-Apr-2017  bouyer Sync with HEAD

RSS XML Feed