- 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
- Split retrieving the full configuration descriptor into 2 steps
- Fixes errors while initializing usb devices on UHCI controller
- Tested in VmWare / VBox and real hardware
svn path=/trunk/; revision=55942
1) Assert on empty kernel PTE instead of handling it as a bugcheck. Windows ASSERTs too. Also clarify some ASSERTs which Windows also does versus ASSERTs we are only doing due to lack of support for said feature.
2) User page fault path can now distinguish between a user-mode PTE fault, and a kernel-mode fault on a user PDE, both by creating a correct kernel PDE when needed instead of always creating user PTEs, as well as by only touching the UsedPageTableEntry reference counting mechanism when a user-address is in play.
3) Related to #2, also recognize when the faulting PTE is actually a PDE in the self-mapping region -- another scenario when the "user fault" is actually a kernel fault for a user PDE.
4) Add one more path where a Paged Pool PDE fixup can save the day instead of always faulting.
5) Finally, related to #2 and #3, handle the MI_IS_PAGE_TABLE_OR_HYPER_ADDRESS scenario for a User PDE by treating it as a user fault. The code looks deceptively similar but there are slight differences which require the separate codepaths with some duplicated code. The magic is in the ordering.
In trunk, these changes should not cause any regressions (let's hope so). On the internal VAD-based Virtual Memory branch, they now allow booting to 3rd stage and a fully usable ReactOS environment. MEMORY_AREA_VIRTUAL_MEMORY is gone on that branch. It's coming.
[NTOS]: Use PAGE_READWRITE as hardcoded protection instead of PAGE_EXECUTE_READWRITE -- the difference is meaningless on ReactOS Mm but actually causes issues on ARM3 with VADs.
svn path=/trunk/; revision=55938
- Add a missing device node flag to legacy reported devices to avoid an assertion failure during installation
- The fact that this was exposed by a change in device node linking order terrifies me
svn path=/trunk/; revision=55926
- assert PDE ref count consistency everywhere
- fix the fix(tm) : after reference decrement, the maximum must not be reached
svn path=/trunk/; revision=55925
- Clean up code, fix memory leaks, check returns codes, add asserts
- Use root device handle which is is prerequisite for usb hub support
[USBLIB]
- Fix root hub handle checks
- Add more code for hub support
svn path=/trunk/; revision=55923