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 |
|
#
eb67213a |
| 26-Mar-2019 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Rewrite the callout_*() API
* Rewrite the entire API from scratch and improve compatibility with FreeBSD. This is not an attempt to achieve full API compatibility, as FreeBSD's API has
kernel - Rewrite the callout_*() API
* Rewrite the entire API from scratch and improve compatibility with FreeBSD. This is not an attempt to achieve full API compatibility, as FreeBSD's API has unnecessary complexity that coders would frequently make mistakes interpreting.
* Remove the IPI mechanisms in favor of fine-grained spin-locks instead.
* Add some robustness features in an attempt to track down corrupted callwheel lists due to originating subsystems freeing structures out from under an active callout.
* The code supports a full-blown type-stable/adhoc-reuse structural separation between the front-end and the back-end, but this feature is currently not operational and may be removed at some future point. Instead we currently just embed the struct _callout inside the struct callout.
* Replace callout_stop_sync() with callout_cancel().
* callout_drain() is now implemented as a synchronous cancel instead of an asynchronous stop, which is closer to the FreeBSD API and expected operation for ported code (usb stack in particular). We will just have to fix any deadlocks which we come across.
* Retain our callout_terminate() function as the 'better' way to stop using a callout, as it will not only cancel the callout but also de-flag the structure so it can no longer be used.
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.
|
#
cbf684e5 |
| 26-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Extract ad_get_geometry().
While there, extract ata_unit2str() too.
|
#
bb15467a |
| 25-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Misc cleanup in non chipset codes.
* Move some stuff around. * Add local implementations of biofinish() and g_io_deliver(). * Add prints for READ_NATIVE_MAX_ADDRESS. * Use >= in
kernel/nata: Misc cleanup in non chipset codes.
* Move some stuff around. * Add local implementations of biofinish() and g_io_deliver(). * Add prints for READ_NATIVE_MAX_ADDRESS. * Use >= in comparisons for devclass_get_maxunit()
No functional change.
show more ...
|
#
9243051b |
| 24-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Return more data for natacontrol(8).
* include info about backing subdisks * use last 16 bytes of serial number in meta (as MatrixRAID does) * add optional automatc spindown/spinup s
kernel/nata: Return more data for natacontrol(8).
* include info about backing subdisks * use last 16 bytes of serial number in meta (as MatrixRAID does) * add optional automatc spindown/spinup support (dmesg noisy) * various cleanups * natacontrol(8) additions + cleanup
Taken-from: FreeBSD
show more ...
|
#
43156ad7 |
| 24-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Pass interrupt function to ata_setup_interrupt().
There is one strange change ATA_AHCI_GHC_HR 0x80000001 -> 0x00000001. It is used for AHCI reset, all other bits are already in place so
kernel/nata: Pass interrupt function to ata_setup_interrupt().
There is one strange change ATA_AHCI_GHC_HR 0x80000001 -> 0x00000001. It is used for AHCI reset, all other bits are already in place so going with the flow on this one.
Futher reduce differences with FreeBSD r183724: * add ata_netcell_setmode() instead of relying on ata_generic_chipinit() * add ata_promise_mio_setprd() for promise * prepare siliconimage for port multipliers * spray some KASSERT() here and there * fix typo for ATA_READ_NATIVE_MAX_ADDRESS
Taken-from: FreeBSD
show more ...
|
#
59503772 |
| 23-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Constification.
Attempt at making nata a bit more safe: * const attributes where possible * add and use ata_set_desc() helper * add early returns (for future split modules support
kernel/nata: Constification.
Attempt at making nata a bit more safe: * const attributes where possible * add and use ata_set_desc() helper * add early returns (for future split modules support) * fix a bug in ata-sis.c where it was patching ids table.
As a bonus, now CCVER=gcc47 no longer warn on -Warray-bounds in ata-ite.c, finally allowing to buildkernel w/o NO_WERROR (ata_mode2idx() in ata-pci.c).
No functional change intended, except for bugfix in ata-sis.c.
show more ...
|
#
13b0cf9e |
| 23-Nov-2017 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel/nata: Separate sata bits.
Do some cleanup of defines and headers. Rename few ATI controllers.
While there, remove no longer used PC98 defines.
|
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 |
|
#
f6e8a0a1 |
| 07-Jun-2014 |
Imre Vadasz <imre@vdsz.com> |
Convert files to UTF-8
Taken-from: FreeBSD
|
Revision tags: 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, 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 |
|
#
d557216f |
| 20-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
Fix numerous compiler warnings and format conversion specifiers.
|
#
9469b9f3 |
| 19-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
NATA - Replace the queuing algorithm with the one used by bioq.
* NATA doesn't use bioq yet, but I replicated the algorithm to fix the read starvation issue.
* Interesting note: Because NATA does
NATA - Replace the queuing algorithm with the one used by bioq.
* NATA doesn't use bioq yet, but I replicated the algorithm to fix the read starvation issue.
* Interesting note: Because NATA does not have NCQ reads appear to be prioritized even more then they are on AHCI.
show more ...
|
#
3e82b46c |
| 01-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()
|
#
cd29885a |
| 01-Aug-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
DEVFS - Bring in Alex's GSOC kernel adjustments.
This is a rollup commit bringing in Alex Hornung's GSOC adjustments to the main kernel codebase for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmai
DEVFS - Bring in Alex's GSOC kernel adjustments.
This is a rollup commit bringing in Alex Hornung's GSOC adjustments to the main kernel codebase for DEVFS.
Submitted-by: Alex Hornung <ahornung@gmail.com>
show more ...
|
Revision tags: v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0 |
|
#
b43e83df |
| 22-Jan-2009 |
Simon Schubert <corecode@dragonflybsd.org> |
nata: revert 6e40a325 = don't use tsleep in ata_udelay
ata_udelay might be called from softclock context due to a request timeout. However we must not tsleep in softclock. This restores the pre-6e
nata: revert 6e40a325 = don't use tsleep in ata_udelay
ata_udelay might be called from softclock context due to a request timeout. However we must not tsleep in softclock. This restores the pre-6e40a325 behavior.
show more ...
|
#
6e40a325 |
| 26-Dec-2008 |
Matthew Dillon <dillon@apollo.backplane.com> |
Use tsleep in the low level delay functions called when resetting nata ports.
Submitted-by: Dmitry Komissaroff <dxi@mail.ru>
|
Revision tags: v2.1.1, v2.0.1 |
|
#
3ec9ecbc |
| 24-Mar-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Synchronize various changes from FreeBSD. This is not exhaustive but gets the most important patches.
* Better AHCI detection and reporting. * More robust AHCI chipinit. * Fixes for additional chip
Synchronize various changes from FreeBSD. This is not exhaustive but gets the most important patches.
* Better AHCI detection and reporting. * More robust AHCI chipinit. * Fixes for additional chipsets which do not support 64K DMA transfers * VIA8237S support * Hitachi detection logic. * Vendor identification for otherwise unidentified chipsets. * keep ivars intact on atapi-cd reinit.
show more ...
|
#
79f3abfa |
| 29-Oct-2007 |
Thomas E. Spanjaard <tgen@dragonflybsd.org> |
Remove fugly hack from the ATA channel interrupt handler. It never was really correct, and it has long become redundant.
|
#
02d7aa4a |
| 05-Jun-2007 |
Sascha Wildner <swildner@dragonflybsd.org> |
Update FreeBSD ID tags.
|
#
658104b9 |
| 03-Jun-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Part 1/2: Add a sanity check to the NATA interrupt code to assert that the command has actually been issued.
|
#
87870bc8 |
| 01-Jun-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Merge all the FreeBSD work done since our initial import of NATA, except for the disk flushing code. The disk flushing code still needs to be done. The work includes a ton of SATA chipset work, bug
Merge all the FreeBSD work done since our initial import of NATA, except for the disk flushing code. The disk flushing code still needs to be done. The work includes a ton of SATA chipset work, bug fixes, cleanups, and new chip support.
Obtained-from: FreeBSD / =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk>
show more ...
|
#
a774914b |
| 31-May-2007 |
Matthew Dillon <dillon@dragonflybsd.org> |
Adjust M_NOWAIT to M_WAITOK or M_INTWAIT as appropriate.
|
#
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 ...
|