Commit graph

46703 commits

Author SHA1 Message Date
Johannes Anderwald a64411cfbf [USB-BRINGUP]
- Implement HidClassFDO_DeviceRelations
- Implement IOCTL_HID_GET_COLLECTION_INFORMATION,  IOCTL_HID_GET_COLLECTION_DESCRIPTOR
- Implement IRP_MN_QUERY_ID, IRP_MN_QUERY_CAPABILITIES, IRP_MN_QUERY_BUS_INFORMATION, IRP_MN_QUERY_PNP_STATE, IRP_MN_QUERY_DEVICE_RELATIONS, 
- HIDClass PDO is now created and starts initialization, needs IRP_MN_START_DEVICE request implementation
- Tested in Vbox 4.1.4 + WinXP + ReactOS hidusb,hidmou,hidclass

svn path=/branches/usb-bringup/; revision=54791
2011-12-31 03:33:14 +00:00
Johannes Anderwald ef72bc2d72 [USB-BRINGUP]
- add missing defines

svn path=/branches/usb-bringup/; revision=54790
2011-12-31 03:21:11 +00:00
Johannes Anderwald c671800d55 [USB-BRINGUP]
- Rename device extension
- Implement FDO Initialization (IRP_MN_START_DEVICE)

svn path=/branches/usb-bringup/; revision=54787
2011-12-30 14:34:07 +00:00
Johannes Anderwald ceb3f5ee43 [USB-BRINGUP]
- Implement AddDevice routine for hidusb
- Fix bug in Hid_DispatchUrb, which returned not initialized status code
- Implement IOCTL_HID_GET_REPORT_DESCRIPTOR, IOCTL_HID_READ_REPORT
- Add support routines for reseting / aborting pipe, not yet used
- TBD: implement error handling
- hidusb now works in combination with a usb mouse (other hid devices such as keyboards will require more ioctl implemented)
- Tested in Vbox 4.1.4 + WinXP + ReactOS usbhid.sys + ReactOS usbmou.sys
- Testing procedure -> inject usb mouse after startup (needs mouse integration disabled -> thanks to timo for pointing this out)

svn path=/branches/usb-bringup/; revision=54781
2011-12-29 19:03:40 +00:00
Johannes Anderwald 7e231e2c92 [USBOHCI]
- Silence a few traces
- Add a hack for handling  URB_FUNCTION_CLASS_INTERFACE. The hid bus driver performs this request with zero buffer length, which is not valid. Needs more investigation

svn path=/branches/usb-bringup/; revision=54777
2011-12-29 10:13:36 +00:00
Johannes Anderwald 4e6638bcc3 [USB-BRINGUP]
- Usage page of zero is not used, increment, the MouHid_ButtonUpFlags / MouHid_ButtonDownFlags array
- Mouse clicks now work
- Implement flushing of the hid report queue
- Driver now works in VBox 4.1.4 + WinXP 
- Secondary mouse pointer does not move in VBox (either a Vbox bug / WinXP), tested with ms driver and the same results were reveiled

svn path=/branches/usb-bringup/; revision=54776
2011-12-29 10:07:00 +00:00
Johannes Anderwald 6717a4ecfe [USB-BRINGUP]
- Fix up / down button detection
- Fix move detection. Mouse changes are now detected
- Mouse does not yet work in Vbox, as mouclass driver is for unknown reasons not connecting to the mouhid, needs to be investigated
- Tested in VBox 4.1.4 + ReactOS mouhid.sys

svn path=/branches/usb-bringup/; revision=54775
2011-12-28 17:18:56 +00:00
Johannes Anderwald b27438e17d [USB-BRINGUP]
- Fix a few bugs & race condition in the read report routine
- mouhid initializes and is able to read input reports
- button press / wheel state change is detected
- mouse move detection not yet working

svn path=/branches/usb-bringup/; revision=54774
2011-12-28 16:35:41 +00:00
Johannes Anderwald 012eac6d8f [USB-BRINGUP]
- Implement mouse move detection, wheel state detection

svn path=/branches/usb-bringup/; revision=54772
2011-12-28 11:36:05 +00:00
Johannes Anderwald d4bb27774a [USB-BRINGUP]
- Partly implement mouse read completion
- Implement read initiation
- Implement MouHid_Create, MouHid_Close

svn path=/branches/usb-bringup/; revision=54768
2011-12-27 02:35:03 +00:00
Johannes Anderwald 05c20641db - Link to hal
- Implement mouse button change detection
- Implement support routine for dispatching mouse input data
- Allocate mdl for input report, not yet used

svn path=/branches/usb-bringup/; revision=54767
2011-12-27 00:46:10 +00:00
Johannes Anderwald bf1f779fff [USB-BRINGUP]
- Implement retrieving device / configuration descriptor
- Partly implement hid descriptor parsing
- Select configuration when initialization is complete
- Implement starting up device

svn path=/branches/usb-bringup/; revision=54765
2011-12-26 21:51:05 +00:00
Johannes Anderwald c626190319 [USB-BRINGUP]
- Implement IOCTL_HID_GET_DEVICE_ATTRIBUTES, IOCTL_HID_GET_DEVICE_DESCRIPTOR for hidusb
- Partly implement pnp dispatch routines for hidusb

svn path=/branches/usb-bringup/; revision=54764
2011-12-26 18:20:32 +00:00
Johannes Anderwald 3477d17d4b [USB-BRINGUP]
- Halfplement mouse hid driver, WIP, untested

svn path=/branches/usb-bringup/; revision=54762
2011-12-26 03:37:22 +00:00
Johannes Anderwald 69dfb12f9a [HIDCLASS]
- Implement AddDevice routine

svn path=/branches/usb-bringup/; revision=54760
2011-12-25 23:07:50 +00:00
Johannes Anderwald 8632f8d0f0 [USB-BRINGUP]
- add template for hidclass driver 
- fix hidusb build

svn path=/branches/usb-bringup/; revision=54759
2011-12-25 20:21:34 +00:00
Johannes Anderwald d13f78582b - - rearrange hid stack
svn path=/branches/usb-bringup/; revision=54758
2011-12-25 18:28:57 +00:00
Johannes Anderwald c9d5364c98 - rearrange hid stack
svn path=/branches/usb-bringup/; revision=54757
2011-12-25 18:25:18 +00:00
Johannes Anderwald d8200951b5 - rearrange hid stack
svn path=/branches/usb-bringup/; revision=54756
2011-12-25 18:23:22 +00:00
Johannes Anderwald 3c59337294 - rearrange hid stack
svn path=/branches/usb-bringup/; revision=54754
2011-12-25 18:17:07 +00:00
Johannes Anderwald b03bdfff2a - add directory for hid stack
svn path=/branches/usb-bringup/; revision=54753
2011-12-25 18:16:35 +00:00
Johannes Anderwald 1205becf05 [USB-BRINGUP]
- Implement HidP_UsageListDifference, HidP_GetUsagesEx, HidP_UsageAndPageListDifference
- Fix api prototypes
- Fix HidP_GetUsages linking

svn path=/branches/usb-bringup/; revision=54752
2011-12-25 17:09:09 +00:00
Johannes Anderwald df17bddc0f - Fix function declaration
- add missing constant

svn path=/branches/usb-bringup/; revision=54737
2011-12-23 15:21:28 +00:00
Johannes Anderwald 756f0b704b [USBEHCI]
- Implement URB_FUNCTION_ISOCH_TRANSFER, URB_FUNCTION_CLASS_ENDPOINT, URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE

svn path=/branches/usb-bringup/; revision=54736
2011-12-23 15:20:00 +00:00
Johannes Anderwald 2e871fddb3 [HID]
- Implement HidD_GetIndexedString, HidD_GetMsGenreDescriptor, HidD_GetConfiguration, HidD_SetConfiguration, HidP_GetUsagesEx

svn path=/branches/usb-bringup/; revision=54115
2011-10-13 17:51:13 +00:00
Johannes Anderwald 6cd3e83d47 [HIDUSB]
- Add stub hidusb driver
- Hidusb driver is reponsible to connect with the hidclass driver (not yet present) and connect hid framework with usb hid devices

svn path=/branches/usb-bringup/; revision=53500
2011-08-30 16:01:00 +00:00
Johannes Anderwald 326fe80f8b [DDK]
- Add header for hid framework

svn path=/branches/usb-bringup/; revision=53499
2011-08-30 15:46:09 +00:00
Cameron Gutman b8d27ea0ac [USBSTOR]
- Fix a typo so SRB_FUNCTION_RELEASE_DEVICE actually does what was intended

svn path=/branches/usb-bringup/; revision=52072
2011-06-03 05:43:41 +00:00
Cameron Gutman 392e4b95be [USBSTOR]
- Don't leave DISPATCH_LEVEL while holding a spin lock acquired at DISPATCH_LEVEL
- Synchronize cancellation checking by acquiring the cancel spin lock

svn path=/branches/usb-bringup/; revision=52071
2011-06-03 05:38:27 +00:00
Johannes Anderwald ab7ce0c45c [HIDPARSE]
- Start of HID parser driver
- Contains currently only stubs

svn path=/branches/usb-bringup/; revision=52067
2011-06-02 19:13:51 +00:00
Johannes Anderwald 0dede89665 [USBSTOR]
- Comment out getting usb device interface. It is currently unused and usbhub does not yet support it
- Forward pnp capabilities request to lower device object
- Fix compilation by Usurp

svn path=/branches/usb-bringup/; revision=52063
2011-06-02 15:35:04 +00:00
Johannes Anderwald 217a0347b7 [USB-BRINGUP]
- Copy disk.inf from trunk
- Add upper layer filter partmgr when usb mass storage device is plugged in
- Usbstor now loads and starts up
- Currently stops at loading partmgr(not yet present)

svn path=/branches/usb-bringup/; revision=52039
2011-06-01 12:01:55 +00:00
Johannes Anderwald da9d8082b0 [USBSTOR]
- Remove superflous declaration
- Fix bug when quering for compatible ids
- Remove unused local variable

svn path=/branches/usb-bringup/; revision=52038
2011-06-01 11:31:34 +00:00
Johannes Anderwald 80f8e1b66c [NTOS]
- Fix bug in PnpRegSzToString. The caller expects the result length to be the length of the string in bytes, not the string length
- Introduced in rev 46690

svn path=/trunk/; revision=52037
2011-06-01 09:59:54 +00:00
Johannes Anderwald d7582766db [USBHUB_NEW]
- Check if the port is usb 2.0 controller. In that case call the Usb2.0 initialize function
- Prevents crash when used with usbohci

svn path=/branches/usb-bringup/; revision=52036
2011-06-01 08:31:33 +00:00
Johannes Anderwald 804a2dc28a [USBHUB_NEW]
- Fix compilation

svn path=/branches/usb-bringup/; revision=52035
2011-06-01 08:10:41 +00:00
Cameron Gutman 9048ea9dcf [NTOSKRNL]
- Remove the device node when the device object is destroyed to prevent PnP manager from crashing when manipulating device nodes with device objects that no longer exist
- Move removal notifications into IopRemoveDevice and call it from IopPrepareDeviceForRemoval and IoRequestDeviceEject to manage all of the removal relations for each device removed

svn path=/trunk/; revision=52034
2011-06-01 06:22:54 +00:00
Cameron Gutman 47328a7510 [NTOSKRNL]
- Fix a bug in device removal and ejection which caused the request to fail when EjectionRelations or RemovalRelations was not handled by a driver in the stack

svn path=/trunk/; revision=52033
2011-06-01 01:06:35 +00:00
Rafal Harabien f1ad369297 [INF]
- Really add disk.inf. Forgotten in r51978

svn path=/trunk/; revision=52032
2011-05-31 23:19:07 +00:00
Cameron Gutman b22890ae01 [NTOSKRNL]
- Remove an extra semicolon
- Dedicated to encoded

svn path=/trunk/; revision=52031
2011-05-31 23:04:59 +00:00
Rafal Harabien eac5ee241d [CMAKE]
- sys-stubs.S depends now on w32ksvc.h. Unfortunately CMake isn't smart enough to find it automatically

svn path=/trunk/; revision=52030
2011-05-31 21:05:03 +00:00
Cameron Gutman 80d7517cde [NTOSKRNL]
- Implement IopRemoveDevice and IopStopDevice
- Do a graceful remove before installing new drivers (like Windows does)
- Debug log warnings abound (don't be alarmed ;)) because drivers aren't used to receiving IRP_MN_QUERY_REMOVE_DEVICE, IRP_MN_REMOVE_DEVICE and IRP_MN_QUERY_PNP_DEVICE_STATE from our (formly) crippled PnP manager

svn path=/trunk/; revision=52029
2011-05-31 19:34:08 +00:00
Cameron Gutman 3d472cf72f [PCIIDEX]
- Handle IRP_MN_QUERY_REMOVE_DEVICE
- Handle IRP_MN_QUERY_PNP_DEVICE_STATE to report that we are not disableable to the PnP manager so we don't get removed during driver installation

svn path=/trunk/; revision=52028
2011-05-31 19:29:22 +00:00
Cameron Gutman 200cdb6daf [NTOSKRNL]
- Set the DNF_DISABLED flag if a driver returns with the HardwareDisabled flag set to true (but only BEFORE starting the device)
- Don't try to start a device with the DNF_DISABLED flag set
- Send IRP_MN_QUERY_CAPABILITIES (again) and IRP_MN_QUERY_PNP_DEVICE_STATE after the device has started
- Write the UINumber and Capabilities registry entries in IopQueryDeviceCapabilities so they will be updated after every IRP_MN_QUERY_CAPABILITIES is sent
- Set the DNUF_DONT_SHOW_IN_UI flag in response to the NoDisplayInUI flag set in DEVICE_CAPABILITIES or PNP_DEVICE_DONT_DISPLAY_IN_UI set after sending IRP_MN_QUERY_PNP_DEVICE_STATE
- Set DNUF_NBOT_DISABLEABLE if PNP_DEVICE_NOT_DISABLEABLE is set after sending IRP_MN_QUERY_PNP_DEVICE_STATE
- Remove duplicate code
- Fix sending GUID_DEVICE_ARRIVAL (patch by Eric Kohl)
- IRPs sent to PnP devices on enumeration and start are now completely compatible with Windows XP/2003/Vista

svn path=/trunk/; revision=52026
2011-05-31 18:11:40 +00:00
Cameron Gutman d6680bc1fa [I8042PRT]
- Don't ASSERT(FALSE) when receiving an unknown PNP IRP

svn path=/trunk/; revision=52025
2011-05-31 18:02:49 +00:00
Timo Kreuzer aebc59bf83 fix build
svn path=/trunk/; revision=52024
2011-05-31 17:50:55 +00:00
Timo Kreuzer 94ce2dcf66 [CRT]
Rewrite _splitpath.
See issue #6244 for more details.

svn path=/trunk/; revision=52023
2011-05-31 17:29:49 +00:00
Timo Kreuzer 3e584471ab [MSVCRT_APITEST]
Add tests for splitpath

svn path=/trunk/; revision=52022
2011-05-31 17:26:30 +00:00
Cameron Gutman 48c9bead3d [NTOSKRNL]
- Implement IoTranslateBusAddress

svn path=/trunk/; revision=52019
2011-05-30 22:27:28 +00:00
Rafal Harabien 57bc8f07bf [USER32]
- Use DISPLAY_DEVICEW instead of assuming DISPLAY_DEVICE is in unicode

svn path=/trunk/; revision=52016
2011-05-30 21:34:10 +00:00