Commit Graph
2076 Commits
Author SHA1 Message Date
Thomas Bluemel 970e0f7ac4 fixed uninitialized variable warnings
svn path=/trunk/; revision=19103
2005-11-09 18:39:33 +00:00
Hervé Poussineau 3f348259c3 New serial mouse driver, which is PnP compliant
svn path=/trunk/; revision=19100
2005-11-09 11:57:58 +00:00
Hervé Poussineau 9bfa51a8fc Delete old legacy serial mouse driver, will be replaced by a PnP driver in next commit
svn path=/trunk/; revision=19099
2005-11-09 11:54:53 +00:00
Hervé Poussineau e903b5542d - Add registry entry in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP for each mouse class DO
- Don't search for legacy port drivers in DriverEntry, but in first AddDevice

svn path=/trunk/; revision=19095
2005-11-09 11:16:43 +00:00
Hervé Poussineau c8a200b0f6 - Add registry entry in HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP for each keyboard class DO
- Don't search for legacy port drivers in DriverEntry, but in first AddDevice
- Don't dereference non-referenced objects

svn path=/trunk/; revision=19094
2005-11-09 11:15:42 +00:00
Hervé Poussineau 1eb04e9c78 STDCALL -> NTAPI
svn path=/trunk/; revision=19093
2005-11-09 11:13:02 +00:00
Hervé Poussineau dc3bd90918 - pciidex: Fix Hardware IDs returned for channel PDOs
- 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
2005-11-09 11:10:24 +00:00
Gé van Geldorp 4a0e4dc0f4 Allocate mem for the structure, not only for a pointer.
svn path=/trunk/; revision=19068
2005-11-08 21:49:27 +00:00
Hervé Poussineau 1974f400e3 When a driver is a legacy driver, call its AddDevice function with a NULL Pdo
svn path=/trunk/; revision=19059
2005-11-08 17:20:58 +00:00
Hervé Poussineau a485607cfc Patch by Filip Navara/Hervé Poussineau:
- Simplify device number allocation
- Check the case of a NULL Pdo if we're called by a legacy driver

svn path=/trunk/; revision=19054
2005-11-08 16:24:58 +00:00
Hartmut Birr e087024bb5 Use the share disposition to detect the direction of a pipe.
svn path=/trunk/; revision=19021
2005-11-05 22:03:47 +00:00
Eric Kohl 3753cf3e49 Open pipe in 'passive' mode if the desired access right is FILE_READ_ATTRIBUTES.
svn path=/trunk/; revision=19017
2005-11-05 16:08:41 +00:00
Hervé Poussineau 10981b14f0 Replace a void* by PDEVICE_OBJECT and fix its usage
svn path=/trunk/; revision=19013
2005-11-05 11:51:30 +00:00
Hervé Poussineau 175467288d - Remove Mou and Mouse strings in names to share more code with kbdclass
- 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
2005-11-05 08:37:01 +00:00
Hervé Poussineau cfd5a15157 Revert Kdb and Keyboard strings in name to share more code with mouclass
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
2005-11-05 08:21:59 +00:00
Hervé Poussineau aefb7a1354 Allow more than one USB controller (was a XBOX hack no more needed)
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
2005-11-04 20:24:44 +00:00
Hervé Poussineau 76c3fa7451 Revert 18883 and 18912, as they break named pipes
(These changes were correct per se, but another problem surfaced: see http://www.reactos.org/archives/public/ros-dev/2005-November/005958.html)

svn path=/trunk/; revision=19002
2005-11-04 19:31:47 +00:00
Royce Mitchell III 13415bb36a fix uninitialized variable
svn path=/trunk/; revision=18981
2005-11-04 00:10:39 +00:00
Royce Mitchell III 7783f0f747 fix indentation
svn path=/trunk/; revision=18980
2005-11-04 00:07:47 +00:00
Royce Mitchell III 3364c02cec fix indentation
svn path=/trunk/; revision=18979
2005-11-04 00:03:34 +00:00
Gé van Geldorp baee1b54eb Patch by hpoussin/GvG
- 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
2005-11-01 23:39:12 +00:00
Hartmut Birr 5fad003df8 Removed the 'special' mode, because it didn't connect a pipe.
svn path=/trunk/; revision=18912
2005-10-31 18:56:44 +00:00
Hervé Poussineau 5a77f871d4 Big move of driver input stack to a Plug-and-Play model:
- 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
2005-10-31 16:46:46 +00:00
Hervé Poussineau aeeab7d1f4 Rewrite mouclass, so it can now handle more than one mouse.
win32k: try to open the keyboard/mouse in a loop, as they can not be present at startup

svn path=/trunk/; revision=18906
2005-10-31 00:14:45 +00:00
Hervé Poussineau f79ddc7ce9 Prevent i8042prt to search for a keyboard/mouse more than once
svn path=/trunk/; revision=18902
2005-10-30 23:48:30 +00:00
Art Yerkes ed344d626c use %lx for printing NTSTATUS
svn path=/trunk/; revision=18899
2005-10-30 22:47:31 +00:00
Art Yerkes b440e561dc Some upgrades for green:
- 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
2005-10-30 22:33:26 +00:00
Hervé Poussineau 839760d8b4 Implement IRP_MJ_PNP / IRP_MN_QUERY_INTERFACE for GUID_BUS_INTERFACE_STANDARD
svn path=/trunk/; revision=18893
2005-10-30 19:37:11 +00:00
Thomas Bluemel c89514fbae fixed uninitialized variable warning
svn path=/trunk/; revision=18827
2005-10-28 09:49:45 +00:00
Hervé Poussineau 2c54e857c6 STDCALL -> NTAPI
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
2005-10-28 07:49:16 +00:00
Art Yerkes e78968e133 Added build xml.
svn path=/trunk/; revision=18825
2005-10-28 07:04:05 +00:00
Art Yerkes 73062a4f3c Add green.
svn path=/trunk/; revision=18824
2005-10-28 07:03:31 +00:00
Art Yerkes 28056f2091 Make green build with rbuild and current headers.
svn path=/trunk/; revision=18823
2005-10-28 07:03:08 +00:00
Thomas Bluemel 0448c9617f no need to create a symbolic link in \??
svn path=/trunk/; revision=18799
2005-10-27 20:04:17 +00:00
Gé van Geldorp f821b2833d Don't issue KBD_LINE_TEST, the results are unreliable. Fixes reopen of #688.
svn path=/trunk/; revision=18699
2005-10-23 11:32:52 +00:00
Aleksey Bragin 7b786e95e7 Implement acpi_pci_X_cfg_Y using HalXBusDataByOffset()
svn path=/trunk/; revision=18688
2005-10-22 20:03:50 +00:00
Gé van Geldorp 6940e61dd6 - Enable/disable keyboard by writing the controller command byte instead of
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
2005-10-21 20:28:05 +00:00
Hervé Poussineau 6f1abc4b16 Add pciidex (controller driver) and pciide (miniport driver). They enumerate channels 0 and 1 on IDE controllers.
svn path=/trunk/; revision=18644
2005-10-20 19:33:16 +00:00
Gé van Geldorp b098d29e8c Patch by hardon. Properly handle 0 timeouts. Fixes bug 857.
svn path=/trunk/; revision=18536
2005-10-17 22:08:07 +00:00
Gé van Geldorp e988d53026 Inform HAL about the switch to graphics mode as late as possible. Fixes bug 880.
svn path=/trunk/; revision=18529
2005-10-17 21:36:23 +00:00
Hartmut Birr abb25bef4f Implemented SMART commands for ide devices.
svn path=/trunk/; revision=18496
2005-10-16 11:17:26 +00:00
Hartmut Birr 831aa04b24 - Do only read the pci config header. Some devices/drivers don't like it
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
2005-10-16 11:08:01 +00:00
Hervé Poussineau 463b91a5b9 Transform pci.sys to a Plug-and-Play driver.
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
2005-10-14 18:29:55 +00:00
Andrew Munger a45c2e461f MiTestCard is only used in DBG=1, surround with ifdef so DBG=0 builds.
svn path=/trunk/; revision=18395
2005-10-10 14:29:15 +00:00
Hervé Poussineau 0b7207b338 Fix Hardware IDs and Compatible IDs returned for PCI devices
svn path=/trunk/; revision=18326
2005-10-08 12:24:39 +00:00
Hervé Poussineau c2199941a3 Allocate memory even for NULL strings, as we must not return a NULL pointer
svn path=/trunk/; revision=18310
2005-10-07 15:47:17 +00:00
Hervé Poussineau 10e6548a78 - Fill Level field in DEVICE_NODE structure
- 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
2005-10-07 13:09:23 +00:00
Thomas Bluemel 5bd4220e33 fixed warnings when compiled with -Wmissing-declarations
svn path=/trunk/; revision=18302
2005-10-06 21:39:18 +00:00
Hartmut Birr 09f3f08c6d Implemented SRB_FUNCTION_IO_CONTROL/IOCTL_SCSI_MINIPORT_IDENTIFY.
svn path=/trunk/; revision=18275
2005-10-05 18:36:10 +00:00
Hartmut Birr baac20f12f Implemented IOCTL_SCSI_MINIPORT.
svn path=/trunk/; revision=18274
2005-10-05 18:24:24 +00:00