Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/ld_amr.c
RevisionDateAuthorComments
 1.26  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.25  27-Sep-2016  pgoyette 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.24  16-Sep-2016  jdolecek modify ldattach() to have default strategy as a parameter
 1.23  13-Apr-2015  riastradh branches: 1.23.2;
Convert sys/dev to use <sys/rndsource.h>.
 1.22  02-Mar-2015  christos From Tom Ivar Helbekkmo:

- Use mutexes and condvars instead of spl() calls.
- Add a couple of bugfixes from FreeBSD (the easily observed ones).
- Add a simple watchdog thread for the newer versions of the hardware,
that tickles the controller at task submission time if it seems not ready
(from FreeBSD).
- Add a buffer allocation size hack to the ioctl handler, to work around
a firmware bug in some versions of the controller (also from FreeBSD).
- Rearrange the bus_dmamap_sync() calls to make the use match the
documentation.
 1.21  02-Feb-2012  tls branches: 1.21.6; 1.21.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.20  13-Nov-2010  uebayasi branches: 1.20.8; 1.20.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.19  12-May-2009  cegger branches: 1.19.4;
use device_private().
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
 1.18  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.17  09-Sep-2008  tron branches: 1.17.8;
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.16  28-Apr-2008  martin branches: 1.16.2; 1.16.6;
Remove clause 3 and 4 from TNF licenses
 1.15  10-Apr-2008  cegger branches: 1.15.2; 1.15.4;
use aprint_*_dev and device_xname
 1.14  19-Oct-2007  ad branches: 1.14.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.13  29-Jul-2007  ad branches: 1.13.4; 1.13.6; 1.13.10; 1.13.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.12  16-Nov-2006  christos branches: 1.12.8; 1.12.18;
__unused removal on arguments; approved by core.
 1.11  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.10  23-Jul-2006  bouyer branches: 1.10.4; 1.10.6;
Add a /dev/amr* control file for amr(4) devices, which allows sending raw
commands to the controller.
Add a amrctl(8) control tool, which for now only allows to get status
from the adapter (status of adapter, logical volumes and and individual
drives).
From FreeBSD, with some adjustements by Andrew Doran and me.
 1.9  25-Mar-2006  thorpej Use device_parent().
 1.8  11-Dec-2005  christos branches: 1.8.4; 1.8.6; 1.8.8; 1.8.10; 1.8.12;
merge ktrace-lwp.
 1.7  28-Jun-2005  thorpej branches: 1.7.2;
Use ANSI function decls and static.
 1.6  28-Oct-2004  yamt branches: 1.6.10;
move buffer queue related stuffs from buf.h to their own header, bufq.h.
 1.5  04-May-2003  ad branches: 1.5.2;
- Fix the mailbox protocol. Not tested with newer 'Quartz' controllers.
- Handle failure during initalisation more gracefully.
- Create a watchdog thread to poke the board and check for status changes.
- Make ready for > 64kB transfers.
 1.4  02-Oct-2002  thorpej Add trailing ; to CFATTACH_DECL.
 1.3  30-Sep-2002  thorpej Use CFATTACH_DECL().
 1.2  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.1  30-Jan-2002  ad branches: 1.1.2; 1.1.4;
Bare-bones driver for AMI RAID. Parts taken from FreeBSD. This was tried a
good while ago and it had problems under load. Changes were made to address
that, but I don't have the ability to test them. So, I'm committing it
before it rots.
 1.1.4.3  18-Oct-2002  nathanw Catch up to -current.
 1.1.4.2  28-Feb-2002  nathanw Catch up to -current.
 1.1.4.1  30-Jan-2002  nathanw file ld_amr.c was added on branch nathanw_sa on 2002-02-28 04:14:03 +0000
 1.1.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.1.2.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.1.2.1  30-Jan-2002  jdolecek file ld_amr.c was added on branch kqueue on 2002-02-11 20:10:01 +0000
 1.5.2.2  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.5.2.1  02-Nov-2004  skrll Sync with HEAD.
 1.6.10.1  30-Jul-2006  tron Apply patch (requested by bouyer in ticket #1431):
- Add a /dev/amr* control file for amr(4) devices, which allows sending
raw commands to the controller.
- Add a amrctl(8) control tool, which for now only allows to get status
from the adapter (status of adapter, logical volumes and and
individual drives).
 1.7.2.4  27-Oct-2007  yamt sync with head.
 1.7.2.3  03-Sep-2007  yamt sync with head.
 1.7.2.2  30-Dec-2006  yamt sync with head.
 1.7.2.1  21-Jun-2006  yamt sync with head.
 1.8.12.1  28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.8.10.1  19-Apr-2006  elad sync with head.
 1.8.8.2  11-Aug-2006  yamt sync with head
 1.8.8.1  01-Apr-2006  yamt sync with head.
 1.8.6.1  22-Apr-2006  simonb Sync with head.
 1.8.4.1  09-Sep-2006  rpaulo sync with head
 1.10.6.2  10-Dec-2006  yamt sync with head.
 1.10.6.1  22-Oct-2006  yamt sync with head
 1.10.4.1  18-Nov-2006  ad Sync with head.
 1.12.18.1  15-Aug-2007  skrll Sync with HEAD.
 1.12.8.3  23-Oct-2007  ad Sync with head.
 1.12.8.2  19-Aug-2007  ad - Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).
 1.12.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.13.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.13.12.1  29-Jul-2007  ad file ld_amr.c was added on branch matt-mips64 on 2007-07-29 12:50:23 +0000
 1.13.10.1  25-Oct-2007  bouyer Sync with HEAD.
 1.13.6.1  06-Nov-2007  matt sync with HEAD
 1.13.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.14.16.2  28-Sep-2008  mjf Sync with HEAD.
 1.14.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.15.4.3  16-May-2009  yamt sync with head
 1.15.4.2  04-May-2009  yamt sync with head.
 1.15.4.1  16-May-2008  yamt sync with head.
 1.15.2.1  18-May-2008  yamt sync with head.
 1.16.6.1  19-Oct-2008  haad Sync with HEAD.
 1.16.2.1  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.17.8.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.19.4.1  05-Mar-2011  rmind sync with head
 1.20.12.1  18-Feb-2012  mrg merge to -current.
 1.20.8.1  17-Apr-2012  yamt sync with head
 1.21.24.3  05-Oct-2016  skrll Sync with HEAD
 1.21.24.2  06-Jun-2015  skrll Sync with HEAD
 1.21.24.1  06-Apr-2015  skrll Sync with HEAD
 1.21.6.1  03-Dec-2017  jdolecek update from HEAD
 1.23.2.1  04-Nov-2016  pgoyette Sync with HEAD

RSS XML Feed