Fix a bug in size calculation that causes memory corruption on 64 bit
Fix some MSVC/x64 warnings
[UNIATA]
Fix some MSVC/x64 warnings
svn path=/trunk/; revision=58985
- Update Uniata to 41b5. Thanks to Alter for the great driver and Olaf Siejka for preparing the patch, getting our changes upstream and testing the updated version.
See issue #7148 for more details.
svn path=/trunk/; revision=56870
- Experimental change to try to increase real hardware compatibility
- Load both atapi and uniata and allow atapi to have priority and uniata will pick up devices that atapi doesn't like
- Fix a bug in uniata enumeration
svn path=/trunk/; revision=55958
- Sync to 0.41b2
- Fixed bug with unnecessary call to AtapiEnableInterrupts() inside AtapiSendCommand() when DRQ is never asserted
- Added registry option AtapiSendDisableIntr to manage ATAPI command sending behavior. AFAIU, under VirtualBox it is unnecessary to disable interrupts around sending ATAPI commands.
- Implemented registry options for BUSY and DRQ timing adjustments.
- Added VirtualBox tuning option - VirtualBox value in registry. Sets timings and ATAPI (CD/DVD) related options to the most compatible values.
- Fixed bug with UDMA2 support on Intel ICH1/2/3/4/5 chips.
- Made some experimental changes in automatic slow-down algorithm. This code is rather old, but was not tested properly.
- Fixed bug with accessing SATA registers on Intel chips
- Many other fixes
svn path=/trunk/; revision=51736
- Rafal Harabien: Sync UniATA to 0.40a5. Changelog:
* Fixed bug with BSOD on newer SATA/AHCI Intel chips.
* Added support for different number of devices on different channls.
* Updated AHCI support code (not ready yet).
* All ReactOS specific changes have been left.
See issue #5976 for more details.
svn path=/trunk/; revision=50985
Merge from amd64 branch:
44634: Make x86 specific optimizations x86 specific, use macros otherwise. (Samuel Serapion)
44639: Try to fix numerous pointer to ULONG casts. (Samuel Serapion)
47846/47847: Remove all the byteswap "optimisations" and use portable RTL byteswap functions (Timo Kreuzer)
svn path=/trunk/; revision=47848
- Adjust timings in WaitOnBaseBusy, WaitForDrq, WaitShortForDrq to match old atapi driver. Thanks Caemyr for testing and finding optimal values (which are slightly below the values used in this commit). The proper solution would be to implement adaptive delays scaling.
See issue #4995 for more details.
svn path=/trunk/; revision=46716
This reduces the UniATA bootup time in VMware (which doesn't seem to clear the IDE_STATUS_BUSY flag) from 70 seconds to around 8.
Tested successfully under QEMU, VBox, VMware and an Athlon XP-based system.
svn path=/trunk/; revision=44552
- Don't disable/enable IDE controller interrupts in AtapiSendCommand. This confuses Virtual Box's controller (it consumes one interrupt without ever emitting it) and thus sending any ATAPI command fails.
- Turn off ATAPI DMA raw read support by default. It seems to be incompatible with (at least) Virtual Box IDE controller.
See issue #3645 for more details.
svn path=/trunk/; revision=41173
- Fix a bug in id_dma.cpp on line 1261: This probably shouldn't be an assignment, but a check, otherwise all ATI chips will be treated as Silicon Image chips
svn path=/trunk/; revision=29288
I still disabled building the driver, so someone else can test it first.
- The i386.h, libgcc2.c, libgcc2.h, longlong.h and powerpc.h files were taken from the boot/freeldr/freeldr/math directory.
They are used for 64-bit division support
- Created a directory "ros_glue" for all this stuff, moved the ros_glue.cpp file there
- Imported the three functions MOV_DD_SWP (the i486 version), MOV_DW2DD_SWP and MOV_DW_SWP from the misc_i386.cpp file of CrossNt into the ros_glue_asm.s file
svn path=/trunk/; revision=29285
- Start changing CrNt to actual ReactOS functions (no need for supporting different versions / importing CrossNT lib).
svn path=/trunk/; revision=29280