Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2 |
|
#
cec957e9 |
| 04-Mar-2019 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Change callout in struct ccb_hdr
* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size
kernel - Change callout in struct ccb_hdr
* Change the callout declaration in struct ccb_hdr from an embedded structure to a pointer, add padding to get the whole structure to its original size (prior to the recent callout patch).
* This removes an improper ABI dependency on the kernel struct callout structure which was causing 'camcontrol', and 'smartctl' (from smartmontools) to fail.
Testing: dillon, tuxillo
show more ...
|
Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2 |
|
#
2458a87a |
| 26-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Deal with ATA_DEV() and atadev->unit.
Hopefully I got all places correctly.
While there, some misc cleanup.
|
Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2 |
|
#
15bd3c73 |
| 25-Nov-2014 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Fix boot-time panic in NATA revealed by new callout mechanics
* The NATA driver was using spin locks in a very, very dangerous way. They did not play nice with the new blocking callout me
kernel - Fix boot-time panic in NATA revealed by new callout mechanics
* The NATA driver was using spin locks in a very, very dangerous way. They did not play nice with the new blocking callout mechanism.
* Replace all of NATAs spinlocks with lockmgr locks. In addition, change all asynchronous callout_stop() calls to synchronous callout_stop_sync() calls, and use callout_init_lk() to auto-lock ch->state_lock for the callback, which fixes a long-time deadlock race.
Reported-by: tuxillo
show more ...
|
Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0 |
|
#
ba87a4ab |
| 24-Aug-2014 |
Sascha Wildner <saw@online.de> |
kernel/spinlock: Add a description to struct spinlock.
And add it to spin_init() and SPINLOCK_INITIALIZER().
Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>) OK'd-by: dill
kernel/spinlock: Add a description to struct spinlock.
And add it to spin_init() and SPINLOCK_INITIALIZER().
Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>) OK'd-by: dillon
show more ...
|
Revision tags: v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
d3c9c58e |
| 20-Feb-2013 |
Sascha Wildner <saw@online.de> |
kernel: Use DEVMETHOD_END in the drivers.
|
#
a43d9d72 |
| 05-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel/disk: Remove some unused variables and add __debugvar.
|
Revision tags: v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|
Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0, v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0 |
|
#
a1347219 |
| 01-Feb-2009 |
Hasso Tepper <hasso@estpak.ee> |
Make XPT_SCSI_IO path quiet again.
Now when problems with SATA ATAPI devices are resolved, it's not helpful any more.
|
Revision tags: v2.1.1 |
|
#
5b527db0 |
| 19-Nov-2008 |
Hasso Tepper <hasso@dragonflybsd.org> |
Hopefully more bulletproof workaround to fix problems with SATA ATAPI drives - don't allow DMA for requests with length not multiple of 16 bytes. Matches the behaviour of the Linux ATA stack.
|
#
c436b8b4 |
| 17-Nov-2008 |
Hasso Tepper <hasso@dragonflybsd.org> |
Bring in some fixes from FreeBSD. Amongst other fixes, like panics in debug mode, it should also workaround the problems (interrupt storms etc) with SATA ATAPI devices many of us have seen lately.
O
Bring in some fixes from FreeBSD. Amongst other fixes, like panics in debug mode, it should also workaround the problems (interrupt storms etc) with SATA ATAPI devices many of us have seen lately.
Obtained-from: FreeBSD
show more ...
|
Revision tags: v2.0.1 |
|
#
1c8b7a9a |
| 18-May-2008 |
Peter Avalos <pavalos@dragonflybsd.org> |
Sync CAM with FreeBSD using lockmgr locks instead of mutexes. Note: This is mostly a code sync with FreeBSD which improves stability in addition to the items listed below. This provides a framework
Sync CAM with FreeBSD using lockmgr locks instead of mutexes. Note: This is mostly a code sync with FreeBSD which improves stability in addition to the items listed below. This provides a framework for releasing the mplock, but for now it's still there.
Add an xpt_print function to reduce most of the xpt_print_path/printf pairs. Convert the core code to use it.
Initial cut at Basic Domain Validation.
Make cam_xpt's pronouncements match camcontrol (Tagged -> Command) Queueing.
Pay attention to return value from xpt_bus_register in xpt_init.
Add an xpt_rescan function and a thread that will field rescan requests. The purpose of this is to allow a SIM (or other entities) to request a bus rescan and have it then fielded in a different (process) context from the caller.
Check the return value from cam_periph_acquire.
Drop the periph/sim lock when calling disk_destroy().
Drop the topology lock before calling the periph oninvalidate and dtor vectors.
For the XPT_SASYNC_CB operation, only decouple the broadcast to the bus and device lists instead of decoupling the whole operation. This avoids problems with SIMs going away.
Split the camisr into per-SIM done queues. This optimizes the locking a little bit and allows for direct dispatch of the doneq from certain contexts that would otherwise face recursive locking problems.
Zero the CCBs when mallocing them.
Only schedule the xpt_finishconfig_task once.
Eliminate the use of M_TEMP.
Add a helper function for registering async callbacks.
Release the bus reference that is acquired when doing a CAMIOCOMMAND ioctl.
Zero scsi_readcapacity allocations so we can really tell if there has been data returned.
Remove duplicate includes and fix typos.
Add a bunch of definitions and structures to support newer drivers.
When probing a newly found device, don't automatically assume that the device supports retrieving a serial number. Instead, first query the list of VPD pages it does support, and only query the serial number if it's supported, else silently move on. This eliminates a lot of noise during verbose booting, and will likely eliminate the need for most NOSERIAL quirks.
Reduce diffs from FreeBSD.
Obtained-from: FreeBSD
show more ...
|
#
aa58569c |
| 10-Feb-2008 |
Peter Avalos <pavalos@dragonflybsd.org> |
Make CAM_NEW_TRAN_CODE default.
As previously mentioned, this makes a huge performance difference for one of my disks, and future work depends on this change.
Obtained-from: FreeBSD
|
#
f19fcfb0 |
| 23-Dec-2007 |
Peter Avalos <pavalos@dragonflybsd.org> |
Fixes for CAM_NEW_TRAN_CODE.
This commit is taken from a FreeBSD changeset, and is not intended to be comprehensive. Some drivers will still not compile/work with the CAM_NEW_TRAN_CODE option, but
Fixes for CAM_NEW_TRAN_CODE.
This commit is taken from a FreeBSD changeset, and is not intended to be comprehensive. Some drivers will still not compile/work with the CAM_NEW_TRAN_CODE option, but this opens the door for wider testing.
Obtained-from: FreeBSD
show more ...
|
#
405f453f |
| 23-Jul-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Incorporate the device DMA limitations into the request transfer size limit.
Reported-by: "Max Herrgaard" <herrgaard@gmail.com>
|
#
a01741bb |
| 03-Jun-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
M_NOWAIT can only be used in a driver where a failed memory allocation is recoverable, such as in a network driver. FreeBSD seems to have a looser definition but in DragonFly M_NOWAIT really means M
M_NOWAIT can only be used in a driver where a failed memory allocation is recoverable, such as in a network driver. FreeBSD seems to have a looser definition but in DragonFly M_NOWAIT really means M_NOWAIT ... any blocking at all, including waiting on the BGL or getting the kernel_map lock, will result in a failure NULL.
Change all M_NOWAIT's to either M_WAITOK or M_INTWAIT.
show more ...
|
#
dbcd0c9b |
| 01-May-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Implement kern.do_async_attach. default disabled. To enable add kern.do_async_attach="1" to your /boot/loader.conf. This feature allows conforming drivers to attach in their own thread, allowing mu
Implement kern.do_async_attach. default disabled. To enable add kern.do_async_attach="1" to your /boot/loader.conf. This feature allows conforming drivers to attach in their own thread, allowing multiple drivers to attach in parallel.
Implement a new device state, DS_INPROGRESS. Seems to work properly. Implement device_set_async_attach(), which allows a device's probe function to indicate that it is ok for its attach function to be run in its own thread.
Split tsleep's enable out from the 'cold' variable. tsleep works earlier then when cold is cleared. Add a 'tsleep_now_works' variable to take over the functionality.
Implement DRIVERSLEEP()... similar to DELAY(), this function works in any context and will call lwkt_switch() in its spin loop. It isn't perfect yet.
ATA/NATA: * Uses the new async attach feature * Uses DRIVERSLEEP * No longer uses a configuration interrupt hook. Interrupts are now available during device config.
NOTE: atapicam does not seem to be scanning the 'bus' (from cam's point of view), so 'cd0' is not found until CAM scans the bus itself in the interrupt config hook code.
USB: * Uses the new async attach feature * Uses tsleep instead of DELAY
MISC: * IF_EM, IF_NFE also use the async attach feature as a test, but it doesn't seem to have a huge effect.
show more ...
|
#
e3869ec7 |
| 22-Dec-2006 |
Sascha Wildner <swildner@dragonflybsd.org> |
Rename printf -> kprintf in sys/ and add some defines where necessary (files which are used in userland, too).
|
#
fde3413b |
| 14-Dec-2006 |
Thomas E. Spanjaard <tgen@dragonflybsd.org> |
There is no "atapi-all.h" anymore. Remove reference to it from atapi-cam.c.
|
#
d6aaf612 |
| 05-Dec-2006 |
Thomas E. Spanjaard <tgen@dragonflybsd.org> |
Our cam_sim_free() does not have a flag to signify it should free the devq. We can probably get away with it like this.
Also, make sure opt_scsi.h is generated for individual kmod builds. The CAM he
Our cam_sim_free() does not have a flag to signify it should free the devq. We can probably get away with it like this.
Also, make sure opt_scsi.h is generated for individual kmod builds. The CAM header files need it.
show more ...
|
#
c1b3d7c5 |
| 04-Dec-2006 |
Thomas E. Spanjaard <tgen@dragonflybsd.org> |
Initial import of the port of the new(er) FreeBSD ATA code.
Note this code has not yet been hooked into the build as such, unless you (unwisely) specify the devices in your kernel config according t
Initial import of the port of the new(er) FreeBSD ATA code.
Note this code has not yet been hooked into the build as such, unless you (unwisely) specify the devices in your kernel config according to sys/conf/files. The modules are also excluded from the module build due to not having a SUBDIR entry in sys/dev/disk/Makefile. The PCI code isn't yet operation pending a patch for sys/bus/pci/pci.c I will send to kernel@ shortly. It short-circuits lazy resource allocation for PCI ATA controllers in legacy mode (i.e. on legacy ISA ATA addresses, which are not configured in the PCI BARs).
The userland utility used to control nata ('natacontrol') and documentation will follow later. Also, be aware only nata, natapci, natadisk and natapicd have seen testing on real hardware so far. nataraid, natausb and natacam are probably not compilable yet, I need to clean those up.
show more ...
|
#
287a8577 |
| 30-Aug-2010 |
Alex Hornung <ahornung@gmail.com> |
spinlocks - Rename API to spin_{try,un,}lock
* Rename the API to spin_trylock, spin_unlock and spin_lock instead of spin_lock_wr, spin_unlock_wr and spin_trylock_wr now that we only have exclusi
spinlocks - Rename API to spin_{try,un,}lock
* Rename the API to spin_trylock, spin_unlock and spin_lock instead of spin_lock_wr, spin_unlock_wr and spin_trylock_wr now that we only have exclusive spinlocks.
* 99% of this patch was generated by a semantic coccinelle patch
show more ...
|
#
684a93c4 |
| 20-Dec-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Move mplock to machine-independent C
* Remove the per-platform mplock code and move it all into machine-independent code: sys/mplock2.h and kern/kern_mplock.c.
* Inline the critical path
kernel - Move mplock to machine-independent C
* Remove the per-platform mplock code and move it all into machine-independent code: sys/mplock2.h and kern/kern_mplock.c.
* Inline the critical path.
* When a conflict occurs kern_mplock.c will KTR log the file and line number of both the holder and conflicting acquirer. Set debug.ktr.giant_enable=-1 to enable conflict logging.
show more ...
|