- Fix a possible integer overflow in NtGdiCreateBitmap
- Don't cast length of LARGE_STRING (ULONG) to USHORT, instead truncate to MAXUSHORT. This is still hacky, but better than before.
- Fix MSVC warnings
svn path=/trunk/; revision=55993
- Fix bug while scanning endpoint descriptors
- Do not assume interface info has the correct number of pipes set
- Fix alternate interface handling
- Tested in VBox + USB Audio Device
svn path=/trunk/; revision=55992
[NTOS]: The fix above was due to fixing "EndingAddress" which was being initialized to zero too late (after writing to it!). This caused allocations with a fixed base address that were already on top of another allocation not to be seen as a conflict, then we tried inserting a VAD and received an ASSERT saying we've already found a VAD there. After fixing the sizing code, the bug above creeped up.
Whoever wrote the NtFreeVirtualMemory test is a godsend. It has been nailing bug after bug in the VAD implementation. Thank you.
svn path=/trunk/; revision=55990
- Back by popular demand, the storage driver to end all storage drivers, uniata!
- I had forgotten how many issues atapi had itself and the hardware compatibility improvement (if there was one) was offset by lack of features
svn path=/trunk/; revision=55978
Hoping this will work on other configurations other than just my test virtual machine. If so, it is a big day in Mm history. Only sections and cache still use the old Mm functionality. I -will- revert this if all hell breaks loose.
svn path=/trunk/; revision=55977
- Implement support for getting string descriptors (may need more work)
- USB mass storage devices which are part of a composite device now initialize
svn path=/trunk/; revision=55976
When IoReportDetectedDevice() creates a PDO, the PDO is in no way related to the DriverObject given to the function.
Driver calling IoReportDetectedDevice() should then ensure that it attachs a FDO on top of this PDO.
svn path=/trunk/; revision=55972
- Don't assert that the clear stall will complete successfully since it may be sent for a removal
- Fixes removal surprise removal of HID devices
svn path=/trunk/; revision=55971
- Rewrite broken USBD_CreateConfigurationRequestEx
- It did not calculate the required urb size correctly
- It did not store the correct number of provided interfaces
- Length of each interface information was wrong
svn path=/trunk/; revision=55965
- 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
-it looks like IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") return TRUE on MacOS/Linux when cross compiling
-file(TO_NATIVE_PATH) is broken as well
...
next try
svn path=/trunk/; revision=55954
- Implement enabling extended debug output in freeldr without the need to recompile it. Add an option in the f8 menu that allows the user to specify which debug channels and levels will be enabled.
svn path=/trunk/; revision=55946