#
215b685f |
|
11-Dec-2022 |
X512 <danger_mail@list.ru> |
kernel: Drop non-standard GNU inline assignment syntax * We needed this previously due to our gcc2 compiled kernel. * Now that our kernel is always latest gcc, we can move to the c++20 syntax for inline assignment. * Improves compatibility with clang, less GNU-specific stuff Change-Id: Ib7272a0a52554a31e9a0e788fd3f031db9049795 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5898 Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com> Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
|
#
70e7cf9a |
|
30-Jul-2021 |
Coldfirex <sakison@gmail.com> |
ATAModule: Fix PVS773 The function was exited without releasing the 'channel' pointer. Change-Id: I093fbbc3c5c9c6633a8df8e04234a4076b1d7a05 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4281 Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org> Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
|
#
3ad5b081 |
|
29-Dec-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
ATA bus_manager: return value (signed) put in unsigned variable This might have been occulting an eventual error code. CID 4095.
|
#
51d76425 |
|
13-Jan-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all drivers in the future, such that NetworkStatus and similar software can show nice names for the devices. The device manager should implement this and return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers should actually set this). * Implemented handling of this ioctl in the scsi_periph to return the vendor/ product strings. * Implemented this in the ATA bus manager to return the model from the info block. * KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME succeeds. * As a side effect, at least BootManager now shows the drive name; maybe DriveSetup does as well for the raw device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5987738c |
|
06-Sep-2009 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Faster bus scan by reusing device presence information that is available before resetting the bus. This allows to skip devices that are not present. Works for most but not all devices. Sometimes device 0 pretends that a device 1 exists, but it's usefull anyway. Allow working device 1 only configurations by not selecting device 0 anymore for identification. Moved indentification from Reset into BusScan to do everything in a single step. A SATA emulation in combined mode might have a slave (device 1) only configuration when only one device is connected, depending on the port. Also tested with PATA. Recovery for lost interrupts. Works but is dead slow because of the timeout. Bus reset isn't possible anymore, this needs to be implemented in a save way. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32978 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c8c904a |
|
23-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed wrong indentation, and number of blank lines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30367 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c5cccce |
|
20-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Explicitly check device selection success. If device selection failed, assume there is no device. Should fix long reset timeouts when only device 1 is present and therefore device 0 can't be selected. * In case a device reset error is reported, don't try to identify/use the device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30286 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6b82488 |
|
18-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Apply block count maximum according to device capability. If the device supports LBA48 we can allow a maximum block count of 65535 as we have a 16bit sector count field available. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
827f849a |
|
18-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Reworked device detection, we'll see how well this works... * Reworked some of the transfer handling after reading the specs. * Ensure that the device selection bit is set correctly for all commands. * Generally disable interrupts and enable them only when expecting a DMA one. * Renamed disk failure to device fault according to specs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
118bb4e7 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Fix race condition between finishing a request and returning a busy status when the channel is in use, which would cause the SCSI scheduler to stop sending requests. * Indeed we need to return a status from the interrupt handler, as for PIO transfers there is no way of knowning whether or not the interrupt at hand was ours. * Add some debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30091 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
79973897 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Implement DMA transfers in the new ATA bus_manager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6bb01f71 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding/updating license headers. * Add the standalone ata module to the Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf9a3835 |
|
08-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Work in progress commit of a reworked ATA bus_manager. It's now object based, but doesn't really do anything more than before. * It also replaces everything IDE with ATA counterparts and cleans up a lot of the definitions. * Cleaning up the old ATA bus_manager as well as some license headers missing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ad5b0818ed1ef44da5e9cf46f7a1eb12b2a3a7e |
|
29-Dec-2011 |
Philippe Saint-Pierre <stpere@gmail.com> |
ATA bus_manager: return value (signed) put in unsigned variable This might have been occulting an eventual error code. CID 4095.
|
#
51d76425033b27609fb4e206c7c9610cd4c4a653 |
|
13-Jan-2011 |
Axel Dörfler <axeld@pinc-software.de> |
* Added a new B_GET_DEVICE_NAME ioctl - this should be implemented by all drivers in the future, such that NetworkStatus and similar software can show nice names for the devices. The device manager should implement this and return the B_DEVICE_PRETTY_NAME of the device (and in turn, new style drivers should actually set this). * Implemented handling of this ioctl in the scsi_periph to return the vendor/ product strings. * Implemented this in the ATA bus manager to return the model from the info block. * KDiskDevice now fills in the partition_data::name if the B_GET_DEVICE_NAME succeeds. * As a side effect, at least BootManager now shows the drive name; maybe DriveSetup does as well for the raw device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40231 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5987738cbe03d66514022c2309921302325805a4 |
|
06-Sep-2009 |
Marcus Overhagen <marcusoverhagen@gmail.com> |
Faster bus scan by reusing device presence information that is available before resetting the bus. This allows to skip devices that are not present. Works for most but not all devices. Sometimes device 0 pretends that a device 1 exists, but it's usefull anyway. Allow working device 1 only configurations by not selecting device 0 anymore for identification. Moved indentification from Reset into BusScan to do everything in a single step. A SATA emulation in combined mode might have a slave (device 1) only configuration when only one device is connected, depending on the port. Also tested with PATA. Recovery for lost interrupts. Works but is dead slow because of the timeout. Bus reset isn't possible anymore, this needs to be implemented in a save way. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32978 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c8c904aca6e88d54c583b0c2742c56373f443b0 |
|
23-Apr-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed wrong indentation, and number of blank lines. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30367 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8c5cccce46dcef2f3505205372d8121ac6aba17c |
|
20-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Explicitly check device selection success. If device selection failed, assume there is no device. Should fix long reset timeouts when only device 1 is present and therefore device 0 can't be selected. * In case a device reset error is reported, don't try to identify/use the device. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30286 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b6b82488dfda5ae59f0a48b5371c8a24fb4a24aa |
|
18-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Apply block count maximum according to device capability. If the device supports LBA48 we can allow a maximum block count of 65535 as we have a 16bit sector count field available. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
827f849a3434806b7ab0bcea89bc8791e4aa77ce |
|
18-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Reworked device detection, we'll see how well this works... * Reworked some of the transfer handling after reading the specs. * Ensure that the device selection bit is set correctly for all commands. * Generally disable interrupts and enable them only when expecting a DMA one. * Renamed disk failure to device fault according to specs. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30248 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
118bb4e7505b6ca54926b39ab24d100efbdff121 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Fix race condition between finishing a request and returning a busy status when the channel is in use, which would cause the SCSI scheduler to stop sending requests. * Indeed we need to return a status from the interrupt handler, as for PIO transfers there is no way of knowning whether or not the interrupt at hand was ours. * Add some debug output. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30091 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7997389772efc7249ab5ae3d010514301652cdb8 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
Implement DMA transfers in the new ATA bus_manager. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30069 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6bb01f71bc05b8280fa28bf0bc3d367a11bd57b0 |
|
09-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Adding/updating license headers. * Add the standalone ata module to the Jamfile. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30053 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bf9a38352439cea6594757b3c0c47e5151548d0d |
|
08-Apr-2009 |
Michael Lotz <mmlr@mlotz.ch> |
* Work in progress commit of a reworked ATA bus_manager. It's now object based, but doesn't really do anything more than before. * It also replaces everything IDE with ATA counterparts and cleans up a lot of the definitions. * Cleaning up the old ATA bus_manager as well as some license headers missing. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30049 a95241bf-73f2-0310-859d-f6bbb57e9c96
|