- 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
Prepare ReactOS for the change from the ancient 32 sectors / 64 tracks disk layout (used until Windows NT4) to the modern 63 sectors / 255 tracks disk layout (used since Windows 2000).
svn path=/trunk/; revision=51437
Increase floppy drives count in global ConfigurationInformation. Fixes not working floppies in explorer.
See issue #4236 for more details.
svn path=/trunk/; revision=51409
- Check for the correct, just created, registry key. Fix
a wrong comparison. Patch by Thomas Faber.
See issue #6123 for more details.
svn path=/trunk/; revision=51375
- KbdDispatch: Set Status vice IoStatus.Status for all branches of switch. Use break instead of goto intcontfailure.
The previous code would set Status to what ever was in the IoStatus.Status of the IRP and return that Status.
Some times this would be STATUS_PENDING, which IIRC is a no-no.
This caused the kbdclass to enter into a wait that would never be satisifed hence blocking the keyboard thread.
This should fix the failure of keyboard input bugs.
svn path=/trunk/; revision=51344
- Implement ExecuteTransfer to replace SubmitTransfer.
- Start implentation for BulkTransfers and needed DMA. This needs much more work to be done correctly. We will get to it.
- Implement URB_FUNCTION_CLASS_INTERFACE.
- Add comments.
Change 3 of 3.
svn path=/trunk/; revision=51327
- For common buffer memory, only allocate one page and allocate more as needed. This implementation will most likely be replaced with janderwalds.
- Use a safecount while attempting to stop and start the controller, so that an error can be displayed vice doing endless loop for controllers that are misbehaving.
- Reorganize a few structuers and remove members of structures that are not used.
- Add comments for some of the DirectCall Interface Functions.
Change 2 of 3.
svn path=/trunk/; revision=51326
- Fix linking of QueueHeads. Implement LinkQueueHeadToCompletedList and CleanupAsyncList. These functions are used to software link the completed queueheads to a completed list. Only after the driver handshakes with the controller can this memory be freed.
Fix a few incorrect values for QueueHead.
- EhciDefferedRoutine: Implement handling of completed QueueHeads by removing them from the AnsycList and setting any errors for failure.
- Reserved a QueueHead that will always be in the AsyncList Address Register. By setting it as the Head of Reclamation the controller can know when it has reached the end of the QueueHead list.
- Remove all code from FdoDispatchInternalDeviceControl. This should never be called by upper level drivers.
Change 1 of 3.
svn path=/trunk/; revision=51325
Patch by Rafal Harabien (rafalh1992 at o2 dot pl)
- Change () to (VOID) in function declarators. Part 6/XX.
[USETUP]
Patch by Rafal Harabien (rafalh1992 at o2 dot pl)
- Initialize Offset field of partition list. Spotted using DPH.
svn path=/trunk/; revision=51072
- Don't alter the IoStatus.Information field with the number of bytes written
- Fixes sndrec32 crash (now also working in ReactOS)
- Should be merged to 0.3.13 ;)
svn path=/trunk/; revision=51067
- Fix "EnableUserModePnpManager() failed!" in second stage setup.
Tested by Eric Kohl and igorko.
See issue #5989 for more details.
svn path=/trunk/; revision=51043
- 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
- Prevent code duplication by using vfatAttachFCBToFileObject() for volume opening, instead of rewritting the whole function.
- Properly check requested disposition when opening a volume.
This fixes bug #5839. Trying to exec \\.\C: in explorer run dialog now ends with an error, as it does on Windows.
svn path=/trunk/; revision=50958
- Check if there is a reset request in progress while the wave thread is active. In that case exit the wave buffer commiting activity
- In the reset routine, perform an alertable wait in order to make the apc io completion complete
[PORTCLS]
- Only perform copying audio bytes to dma buffer while the adapter is reset state is KSREST_END
- Set the reset state indicator before canceling the audio buffers
- Should fix the audio hang experienced in Winamp when skipping audio bytes
svn path=/trunk/; revision=50851
- Oleg Baikalow: Implement basic event and delayed event support functions for CTE. Structure names are made up, but their contents should be compatible with what Windows 2003 tdi.sys uses. Formatting and coding style fixes by the committer.
svn path=/trunk/; revision=50550
- Oleg Baikalow: Don't use psdk's tdi.h but use a real tdikrnl.h (adding a _TDI_ global define so it's recognized as a tdi driver itself).
svn path=/trunk/; revision=50546
- Merge from audio branch
- Perform irp completion in dedicated function
- Move Software Bus function into own file
- Remove debugging code which caused crashes
- Partly implement IKsProcessingObject interface for filter
- Fix check in FindMatchingCreateItem function
- Implement software bus enumerator functions
[SWENUM]
- Implement SwDispatchPower, SwDispatchPower
svn path=/trunk/; revision=50531
Check if the whole pipe name fits into the return buffer. Return STATUS_BUFFER_OVERFLOW if it does not fit and copy only a part of the file name in this case.
svn path=/trunk/; revision=50474
Initialize only the required parts of the return buffer. This will enable the driver to return information about multiple pipes in a single request.
svn path=/trunk/; revision=50452
- EhciDefferedRoutine: Only free Mdl if one was created when the request was added to the queue.
- Dont assume that three transfer descriptors need to be freed, use a while moving to each linked and free instead.
- Yabba Dabba Doo added to increase size of message. :)
svn path=/trunk/; revision=50304
- Implement URB_FUNCTION_SELECT_INTERFACE.
- Add missing IoMarkIrpPending before calling SubmitControlRequest.
- Now use BuildSetupPacketFromURB for creating the CtrlSetup data structure.
- When selecting configuration, make the ConfigurationHandle from the related UsbDevice instead of always the RootHub device.
- Fix typo that caused all pipes to be marked as interrupt type.
- Change CompletePendingURBRequest to only complete one SCE request Irp.
svn path=/trunk/; revision=50303
- Fix bug in InitializeUsbDevice that caused endpoints to be duplicated in internal config structure.
- Fix implementation of UsbRemoveDevice.
- Implement SetDeviceHandleData and RestoreUsbDevice.
- SubmitControlTransfer: Not all control request need data, in which case dont create a MDL and a PID_CODE_IN_TOKEN TD Descriptor.
- Fix bug in ReleaseMemory that caused memory not to be marked as free.
- Fix incorrect memory header size that resulted in memory corruption.
svn path=/trunk/; revision=50302