- WaitForUsbDeviceArrivalNotification: Dont use IoBuildDeviceIoControlRequest to create the IRP as we dont wait for the IRP to complete in the current thread. It must be built using IoAllocateIrp.
- DeviceArrivalCompletion: Allocate the WorkItem from NonPagedPool vice using one in the DeviceExtension. Free the Irp and return STATUS_MORE_PROCESSING_REQUIRED so the IO Manager doesnt try to do anything more with the now freed Irp.
- When selecting the Interface use the routines in USBD library now that they are implemented correctly.
- More fixes for passing the correct DeviceObject when calling QueryRootHub.
svn path=/trunk/; revision=48826
[SETUPLDR]: Unify the old setupldr settings with more recent freeldr ones. Also fixes missing _udiv/mod functions on my build.
svn path=/trunk/; revision=48825
- Improved MSVC toolchain support, now working with WDK, as well
(Thanks to Amine for solving the problems)
- Add compiler specific macro set_subsystem
- add nativecui module type
svn path=/branches/cmake-bringup/; revision=48824
Katayama Hirofumi <katayama.hirofumi.mz@gmail.com>
- Renamed GLOBAL_DATA structures to DATA.
- Added real GLOBAL_DATA in background.c, that manages the background color.
- Resolved conflict of background colors in background.c and appearance.c.
- Fixed drawing the menu in draw.c.
See issue #5620 for more details.
svn path=/trunk/; revision=48812
- Fix calculation bug in USBD_ParseDescriptors which caused descriptors to be skipped and all Parse functions to return bad information.
- USBD_CreateConfigurationRequestEx: Fix calculation for the size of the URB.
Dont copy the InterfaceList to the Urbs Interface member as they are not the same structures. Instead loop through each interface and endpoint to get the data needed for the Interface member of URB.
- USBD_GetInterfaceLength: Add missing brackets for the FOR LOOP. The first descriptors length is part of the Length regardless of what it is.
If bDescriptorType of USB_INTERFACE_DESCRIPTOR_TYPE is reached a second time then break from the loop, as the length calculation is done.
svn path=/trunk/; revision=48810
- Introduce MSVC toolchain support. Just use -DCMAKE_TOOLCHAIN_FILE=toolchain-msvc.cmake for the toolchain.
- Sync setjmp.h from trunk.
- Improve mingw targets (mingw_common, mingw_wmain, oldnames... etc) a bit to make them compile and link with msvc.
- Dedicated to Timo ;)
svn path=/branches/cmake-bringup/; revision=48809
Generalize CMAKE_C_CREATE_SHARED_LIBRARY and remove per project instances.
Thanks to Amine for regexxer tool discovery ;)
svn path=/branches/cmake-bringup/; revision=48804
- Generalize CMAKE_C_LINK_EXECUTABLE and CMAKE_EXE_LINKER_FLAGS, and use additional flags per module.
- Fix usetup: make it depend on psdk and buildno_header, and also fix the entry point (_NtProcessStartup -> _NtProcessStartup@4)
- Make ext2lib depend on psdk.
svn path=/branches/cmake-bringup/; revision=48802
- Add support for Cyrix CPUs by checking and applying a workaround for the Cyrix 6x COMA bug (description here: http://gwyn.tux.org/~balsa/linux/cyrix/p11.html).
See issue #5610 for more details.
svn path=/trunk/; revision=48801
- Roel Messiant: Fix a crash when running some operations in sc without providing arguments. Also, provide usage information for the control and unknown commands.
- Aleksey Bragin: Take Ged Murphy's comments into account and change pointer arithmetic to a convenient style.
See issue #5611 for more details.
svn path=/trunk/; revision=48800
Johannes Anderwald:
- Partly revert 48786
- Use existing sLinkPath instead of own grown sCurFile
- Fixes 6 more winetest failures, 4 to go for shellink test
svn path=/trunk/; revision=48792
Fix a bug, where a failure to allocate the kernel mode WINDOW_OBJECT would cause a page fault, because the WND was still allocated, but never initialized, and Wnd->rpdesktop was then dereferenced to free the WND again.
svn path=/trunk/; revision=48785
- More fixes to VDM PUSH/POPF code:
- When doing a 32bit push, don't store the flags 2 bytes off
- Recalculate HardwareEsp, by substracting the segment part, instead of truncating the flat pointer to 16 bit.
svn path=/trunk/; revision=48781
[NTOSKRNL]: Implement CmdPutString command, and add log message types. Kernel version/build, processor, and RAM, now appear on EMS screen (due to InbvDisplayString), as well as loaded drivers. Next steps are to support log entries and a flag to route debug output (a ReactOS-specific feature request).
svn path=/trunk/; revision=48778
[NTOSKRNL]: Implement basic Headless support in the kernel. Implement missing InbvPort routines based on WinLdrPort (using cportlib). Add header for Hdl. Terminal initializes now on COM2. Added misisng code to InbvDisplayString to also display on Headless Terminal (requires unimplemented HeadlessDispatch). Next steps are to implement the kernel log buffer, and HeadlessCmdPutString to see boot strings.
svn path=/trunk/; revision=48773
- On completion of SCE request, create and queue a workitem to handle:
Clearing the connection flag and reset the port.
Create and initialize the USB device by calling the appropriate roothubs Direct Call Interface.
Create the device object, get the device descriptors and the serial and product strings of the USB device to be used for creating the deviceid and instanceid.
- Format code and misc changes.
- Together with the usbehci driver, ReactOS at least runs the device installation wizard with the correct device description.
svn path=/trunk/; revision=48771
- Dont reset the port in the DPC after device is connected, the usbhub driver will do that later.
- Implement ResetPort and create a timer to call a DPC to coplete the SCE request.
- Dont queue all URBs and have seperate thread complete them as other URBs may still need to be completed.
Instead only queue the SCE request and complete it when a usb device is connected or reset.
- Implement RemoveURBRequest and fix bugs in URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE.
- For IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO dont return the FDO in Argument2 as no upper level driver should be communicating with the FDO of the roothub.
- Dont assign the usb device an address when initialized as the hub driver will do it later.
svn path=/trunk/; revision=48770
[FREELDR]: Implement support for /redirect=comX (usebiossettings not yet supported) and /redirectbaudrate. Uses cportlib. Tested, serial output works and kernel reports "Headless support is not yet implemented". Future revisions should support ACPI SRT for PCI-based serial ports on server systems.
svn path=/trunk/; revision=48768
- Introduce support for the amd64 toolchain. Using it is as simple as adding -DARCH=amd64 to the cmake line (next to the toolchain file define).
- Dedicated to Sylvain (Usurp) ;)
svn path=/branches/cmake-bringup/; revision=48763