Commit Graph
100 Commits
Author SHA1 Message Date
Marcus Overhagen 4ca14fe1a6 Fixed harmless copy & paste bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 23:19:52 +00:00
Marcus Overhagen eb5b2f6fde Removed a lot of unsave memory handling.
Check for memory allocation errors.
Added limit to maximum flavor format count (300).
No longer crashes when out_format_count is invalid for B_BUFFER_CONSUMER,
or in_format_count is invalid for B_BUFFER_PRODUCER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 23:24:40 +00:00
Marcus Overhagen 47b63fed56 Changed license from GPL to MIT. I'm the sole author of this code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 02:57:28 +00:00
Marcus Overhagen 18c2aaaea2 Changed the license from GPL to MIT on request by Maurice. I'm the sole author of this code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 22:33:37 +00:00
Marcus Overhagen 08c01f715f gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 19:18:31 +00:00
Marcus Overhagen b91371e409 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 19:14:50 +00:00
Marcus Overhagen 4af8877673 build fix for r23929
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:59:52 +00:00
Marcus Overhagen 6af5db20f4 Reuse virtual bus numbers when a mapping already exists.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-17 14:44:33 +00:00
Marcus Overhagen bc3318b640 Rewrote mapping of domains and busses into a virtual bus number to
allow arbitrary bus numbers. Disabled domain support for __INTEL__.
This should fix bug #1774


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 23:39:35 +00:00
Marcus Overhagen 05b79eadff Removed the no longer needed debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 22:08:25 +00:00
Marcus Overhagen 3cad4dae71 Print ids in decimal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 23:19:54 +00:00
Marcus Overhagen 7694461ea6 Use decimal for thread ids.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:58:02 +00:00
Marcus Overhagen c486dde9d6 cosmetic
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:48:56 +00:00
Marcus Overhagen fad02fc2ac Print thread ids in decimal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-28 22:43:22 +00:00
Marcus Overhagen c4bf6940f5 Fixed timeouts, they were too small.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 12:02:13 +00:00
Marcus Overhagen df0e96bcef fixed a crash during device identification
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 09:41:40 +00:00
Marcus Overhagen a5ec34950d Allow ata_request_set_sense and ata_request_set_status to be called with NULL request pointer.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 02:42:19 +00:00
Marcus Overhagen 02193d0df5 improved timeout handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:54:08 +00:00
Marcus Overhagen d5c05044c6 ATAPI fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 01:50:58 +00:00
Marcus Overhagen f0d174e96f fix comments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:04:40 +00:00
Marcus Overhagen f44927fccb Do a shorter wait during identify command, and retry it once to find atapi drives that report a wrong signature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 00:00:58 +00:00
Marcus Overhagen cf3c203afa improved PIO transfer speed and system responsiveness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 21:58:33 +00:00
Marcus Overhagen 38d1ee9587 Removed debug output in the read/write path, and added it to other functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 10:32:10 +00:00
Marcus Overhagen afb50bcdc0 fixed timeout and crash
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 01:58:30 +00:00
Marcus Overhagen c85a921b70 fixed multi block data transfer
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 01:56:33 +00:00
Marcus Overhagen 9c67580a9f removed/disabled some debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-12 00:52:57 +00:00
Marcus Overhagen f03e236672 Implemented PIO transfers again. Haiku starts in vmware now with this stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 23:13:27 +00:00
Marcus Overhagen 795beb75d2 Converted check_output() into ata_finish_request().
Moved timeout from device_info int ata_request-.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 18:49:12 +00:00
Marcus Overhagen 3d424d5c73 Replaced most true and false with named flags.
Made all timeouts use bigtime_t.
Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:25:38 +00:00
Marcus Overhagen ddb73d9f46 fix bugs exposed by ASSERT
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:33:10 +00:00
Marcus Overhagen e3c8f43645 implemented basic atapi support framework.
improved device detection.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:10:00 +00:00
Marcus Overhagen 3831b73445 fixed bugs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 20:50:24 +00:00
Marcus Overhagen 1cdfe7f991 some cleanup to make it compile again
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 20:39:30 +00:00
Marcus Overhagen c40a87f8d4 Removed finish_* functions and converted to new ata_request_* functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 16:40:42 +00:00
Marcus Overhagen 041c70132c converted to use the new ata_request_* functions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 16:34:32 +00:00
Marcus Overhagen a3af33c75d New struct ata_request.
Added ata_request as wrapper around scsi_ccb while they are executed in the ata stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 16:09:24 +00:00
Marcus Overhagen dd7579a79b started reimplementing pio command completition...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 23:59:00 +00:00
Marcus Overhagen 5558f70663 Renamed ide_qrequest *qrequest into ata_request *request.
Removed synced pcs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 21:58:23 +00:00
Marcus Overhagen d688a5ad65 set bus state to ata_state_busy during device scanning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 19:45:44 +00:00
Marcus Overhagen a0183a22a1 removed fast_log usage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 19:35:03 +00:00
Marcus Overhagen a094d41047 Rewrote bus state functions, commented out much code to make it compile.
Moved bus_reset from basic_protocol.c into ata.c


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 19:26:05 +00:00
Marcus Overhagen 84fe450d15 fix the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 17:54:10 +00:00
Marcus Overhagen 478a8f0151 fix build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 17:53:30 +00:00
Marcus Overhagen 27d6150677 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 17:48:32 +00:00
Marcus Overhagen 1f1863e2a8 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 17:45:12 +00:00
Marcus Overhagen cc91279875 removed command queuing and refactored device configuration
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 15:37:49 +00:00
Marcus Overhagen f017b372bd added more debug output, read device error register after a reset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:39:03 +00:00
Marcus Overhagen 479c2cafbc added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:08:12 +00:00
Marcus Overhagen f0e260b3bf added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:07:38 +00:00
Marcus Overhagen 152fffc418 added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 12:06:15 +00:00
Marcus Overhagen 5f50c05486 cleanup of the rescanning code
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-09 00:17:51 +00:00
Marcus Overhagen d394cf760c check for device presence before trying to read the signature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 22:31:35 +00:00
Marcus Overhagen 4e9047599d Modified device reset and detection, still broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 21:46:30 +00:00
Marcus Overhagen b44b755c91 modified device detection
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 19:29:15 +00:00
Marcus Overhagen 0cd362c755 copying current ide bus manager into ata directory
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:59:53 +00:00
Marcus Overhagen 413e26b8a0 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23275 a95241bf-73f2-0310-859d-f6bbb57e9c96 2008-01-07 12:59:01 +00:00
Marcus Overhagen 580e5994d9 Moved files again, this time to the correct dir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:56:59 +00:00
Marcus Overhagen ffaf504fbc copying current ide bus manager into ata directory
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 12:48:21 +00:00
Marcus Overhagen b830be90e2 Marked some bits as RWC and RW1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 15:35:48 +00:00
Marcus Overhagen 0762289b3f Cleanup ccb->data_length handling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 15:19:10 +00:00
Marcus Overhagen ebd99341e9 Fixed a copy&paste error. scsi_cmd_rw_10 has only a 16 bit length field,
while scsi_cmd_rw_12 has a 32 bit field. As both are big endian, that 
error shouldn't have caused any problem or data corruption.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 14:53:38 +00:00
Marcus Overhagen ec2bf719e8 Implemented ExecuteSataRequest() to execute all ATA and (later) ATAPI commands.
Converted Identify Device and Read / Write commands, they now create a sata_request
and pass it to ExecuteSataRequest. Added support for cache flushing.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:27:05 +00:00
Marcus Overhagen 56f0b1a01a A helper class to easier support Native Command Qeueuing and ATAPI support.
This class either encapsulates scsi_ccb or can be used stand alone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23249 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:23:39 +00:00
Marcus Overhagen e50610ed49 added defines for LBA limitations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 02:19:58 +00:00
Marcus Overhagen 0cc1690a17 Added a comment describing the command FIS layout, because AHCI, SATA and ATA/ATAPI standards use inconsitent terminology.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-04 21:24:51 +00:00
Marcus Overhagen f6872148ca Restart. Do not pass Go, do not collect 00.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 22:02:15 +00:00
Marcus Overhagen 971cf1881e Disable an io interrupt when more than 99% are unhandled. This somewhat prevents random freezing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 17:33:27 +00:00
Marcus Overhagen 7eb5430510 Added debug info at the place that seems to deadlock in SMP systems with > 2 CPUs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 20:45:29 +00:00
Marcus Overhagen 70eb0da7e0 Mask io-space bit in promise_tx2 driver, the driver was broken after recent ide-adapter changes.
Replaced IDE_ADAPTER_IS_PRIMARY by IDE_ADAPTER_CHANNEL_INDEX to support more than 2 bus master channels,
and made ide_adapter aware of 3rd and 4th channel when calculating bus master dma address.
Fixed bus master DMA support in legacy_sata driver for tertiary and quaternary channel, channel 3 and 4
were using the DMA engine of primary and secondary channels (that might have destroyed your data).
Use PCI_address_io_mask instead of ~PCI_address_space (no functional change).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 20:31:14 +00:00
Marcus Overhagen fc205e9717 added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:35:26 +00:00
Marcus Overhagen 65751aad16 Increased keypress detection time to 750ms. The old 50ms value never worked for me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:30:41 +00:00
Marcus Overhagen 882123356b Added more debugging code. The partition code appears to be using objects that have been destroyed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:26:08 +00:00
Marcus Overhagen 37502d0f9f added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 22:24:40 +00:00
Marcus Overhagen 61d902eaf9 improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 15:26:38 +00:00
Marcus Overhagen 518772739f dump all found devices and partitions to serial debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-26 15:25:05 +00:00
Marcus Overhagen 4b4e08cc67 added more debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 14:52:49 +00:00
Marcus Overhagen 2e4a883509 Disabled setting Intel IDE mode to AHCI until the PCI manager can assign new resources
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23150 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-24 00:38:06 +00:00
Marcus Overhagen 434785951a better debug output during device scanning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23149 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-24 00:36:07 +00:00
Marcus Overhagen fbdeb12ca0 Properly restore IRQ setting for JMicron PATA function.
No longer reconfigure JMB360 and JMB362, those have no PATA function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-23 23:22:54 +00:00
Marcus Overhagen edfb3c00bc disabled some debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23147 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-23 22:21:25 +00:00
Marcus Overhagen b53df1b383 Although this should simply enable IO decoding and bus master
functionality when not set by bios, it currently crashes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23143 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-19 22:22:23 +00:00
Marcus Overhagen 5aa9034e50 Moved masking of PCI ressource bits into a single place.
Improved debug output and error reporting for I/O and interrupts resources.
Init of ISA IDE or PCI IDE driver can now be seen in debug output, too.
Verified that both still work with Vmware


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-19 21:33:30 +00:00
Marcus Overhagen 35f6af0388 PCI bus enumeration shouldn't be required on x86, thus enable it only for PPC an M68k
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 22:49:45 +00:00
Marcus Overhagen 39ee19ec0c preserve IRQ when splitting Jmicron devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-16 22:15:46 +00:00
Marcus Overhagen b571493666 drop into debugger when things go wrong
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 22:04:34 +00:00
Marcus Overhagen 91b75ef2fd gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-24 11:20:38 +00:00
Marcus Overhagen 27367cc308 Workaround for ICH6M: ports implemented mask 0 is no longer an error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 19:14:46 +00:00
Marcus Overhagen 3c374980b5 improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-19 19:12:37 +00:00
Marcus Overhagen f668d91b37 This hopefully stops BPoligon from corrupting memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:23:04 +00:00
Marcus Overhagen aee1388ada improved debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 19:15:12 +00:00
Marcus Overhagen 68cbf40298 Switch Intel AHCI controller from IDE into AHCI mode.
Clears BAR5 on ICH8 and ICH9.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:59:29 +00:00
Marcus Overhagen f41613d5b2 Removed non-AHCI id. Reverts bugreport #1599 change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:55:57 +00:00
Marcus Overhagen f53094e7ea fail gracefully when base address register or irq hasn't been assigned.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 18:41:24 +00:00
Marcus Overhagen 79844706c2 Propagate is-ATAPI restriction to the SCSI bus manager.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 17:47:57 +00:00
Marcus Overhagen 117c680d90 Warn when lun is not 0. Might be needed for SATA PM support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:49:39 +00:00
Marcus Overhagen 8d722116c2 Enable SATA ports 5 and 6 on Intel ICH8 and ICH9 based
systems, and possibly enable ports 7 and 8 in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 16:25:49 +00:00
Marcus Overhagen 65621982c9 New PCI quirk/fixup support.
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 15:51:40 +00:00
Marcus Overhagen 270d4ee0ec disabled most debug output, this makes the driver useable
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 16:36:59 +00:00
Marcus Overhagen 8c8d63ee00 added more device IDs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22862 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-09 15:49:55 +00:00
Marcus Overhagen 88d9b383f5 added more IDs, removed Intel IDE mode ID due to possible collision with a physical PATA interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 20:16:11 +00:00