- Don't search for legacy port drivers in DriverEntry, but in first AddDevice
- Don't dereference non-referenced objects
svn path=/trunk/; revision=19094
- pciidex: Better test to see if the PCI controller is in compatible or native mode before getting channel resources
- pciidex: Change IDE_DRIVE_IDENTIFY structure to IDENTIFY_DATA structure
- pciide: Implement PciIdeUseDma
- pciide: Tell that channel state is unknown instead of enabled
svn path=/trunk/; revision=19092
- Handle IRP_MJ_CLEANUP and IRP_MJ_DEVICE_CONTROL
- Read parameters in the right registry key
- Force exclusive opening on device object
- Reference pointer port DOs when they are linked to pointer class DO
- Fix PORT_DEVICE_EXTENSION and CLASS_DEVICE_EXTENSION structures and use them correctly (PORT_DEVICE_EXTENSION was not used...)
svn path=/trunk/; revision=19011
Fix PORT_DEVICE_EXTENSION and CLASS_DEVICE_EXTENSION structures and use them correctly (PORT_DEVICE_EXTENSION was not used...)
ObDereference DOs when an error occurs, instead of ObReferencing them
svn path=/trunk/; revision=19010
Implement IRP_MJ_PNP/IRP_MN_QUERY_DEVICE_TEXT for Root USB hub/USB devices
Add missing initialization which lead to BSOD when connecting a device to a UHCI controller
svn path=/trunk/; revision=19003
- Read parameters in the right registry key
- Force exclusive opening on device object
- Add hack for first stage setup (link main device object to \??\Keyboard)
- Use buffered IO
- Reference pointer port DOs when they are linked to pointer class DO
svn path=/trunk/; revision=18943
- mouclass:
Do non buffered IO. The pointer move should be smoother.
Search non Plug-and-Play drivers in registry, instead of using their device name.
- kbdclass:
Full rewrite to support more than one keyboard.
Use registry settings as specified in MSDN.
(Info: kbdclass is now very similar to mouclass)
- i8042prt:
Keep it as a non Plug-and-Play driver, but register it in DEVICEMAP registry key.
- USB controller:
Enable USB keyboard/mouse
I may have broken support for serial mice, i'll add it back in a few days...
svn path=/trunk/; revision=18911
- Either create the blue device or attach to it
- If we can't open a serial device, forward the IRP to the original blue
- Scrolling fix
- Don't do DO_BUFFERED_IO if we use Irp->UserBuffer
- Pass a zero offset when writing to serial port
Green now displays correctly and fails back correctly. Keyboard part doesn't
yet coexist with current ReactOS. That's next.
svn path=/trunk/; revision=18898
Update headers to minimize differences between GCC and MSVC
Move the #include <debug.h> to each file to be able to use precompiled headers
Remove $Id tags
svn path=/trunk/; revision=18826
issuing keyboard commands, the keyboard commands seem to confuse some kvm
switches.
- Use STATUS_IO_TIMEOUT consistently, STATUS_TIMEOUT is not an error condition
- Introduce symbolic constants for controller command byte bits
- Try to detect mouse early and if its not present, reset the keyboard
controller. Some controllers seem to get locked up when writing to a
non-present mouse.
- Don't check the timeout status bit when reading from the controller. It is
often wrong.
- Don't treat failure to read keyboard id as a fatal error, we only read it
to set KeyboardIsAT which we then don't use. Still try to detect the keyboard
type, but don't fail if it doesn't work.
Fixes bug 688. Thanks to Hartmut, Filip and WaxDragon for testing.
svn path=/trunk/; revision=18664
if the complete pci config space is accessed (like my Tekram DC-390F SCSI controller).
- Replaced some numeric values with nice named constants.
svn path=/trunk/; revision=18494
Simplify most of the PciCreateCompatible*String functions
Fix error handling in FdoQueryBusRelations
=> pci.sys now manages only 1 bus. It is still using HalGetBusDataByOffset/HalGetBusData which are deprecated, but it shouldn't be too hard to remove
svn path=/trunk/; revision=18449
- Full support of ParentIdPrefix value in registry
- Implement IRP_MJ_PNP/IRP_MN_QUERY_CAPABILITIES for PDOs enumerated by Root bus
- Add a temporary hack in pci driver as long as Plug and Play is not ready
=> This would allow to have two identical devices plugged on different buses (for example, two USB mices plugged on different hubs)
svn path=/trunk/; revision=18309