Commit graph

143 commits

Author SHA1 Message Date
Michael Martin 775c4ce80d [USBEHCI_NEW]
- hub_controller: Implement Status Change Endpoint for RootHub. 
Handling the URB can return STATUS_PENDING, as in the new SCE code. Check for this before completing the Irp.
Uncomment calls to PortStatus, SetPortFeature, and ClearPortStatus now that they are implemented.
- For function receiving a port number check that its not larger than the actual number of ports on the controller.

svn path=/branches/usb-bringup/; revision=51401
2011-04-19 13:57:32 +00:00
Michael Martin 40e499c2d4 [USBEHCI_NEW]
- Forgotten changes in r51397.

svn path=/branches/usb-bringup/; revision=51398
2011-04-19 07:36:44 +00:00
Michael Martin c3d1d6fda9 [USBEHCI_NEW]
- Move USB_REQUEST_SET_FEATURE / USB_REQUEST_GET_FEATURE flags to header file.
- Remove QueueHead and Descriptor creation as its in UsbRequest.
- Move DMACommon Buffer allocation back to UsbHardwareDevice class.
- Implement Port Handling functions GetPortStatus, ClearPortStatus and SetPortFeature.
- Implement GetUSBQueue for returning pointer to UsbQueue and GetDMA to return DMAMemoryManager.
- Fix a typo in one of the defines for Port Register Flags.

svn path=/branches/usb-bringup/; revision=51397
2011-04-19 06:56:30 +00:00
Johannes Anderwald 3ac2c07f55 [USBEHCI_NEW]
- Null terminate buffer from IOCTL_USB_GET_ROOT_HUB_NAME, fixes usbview problems
- Implement URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER, IUSBHardware needs more work
- Silence debug traces
- Start implementing IUSBRequest interfaces
- Complete unhandled major irp with status success

svn path=/branches/usb-bringup/; revision=51396
2011-04-19 01:21:10 +00:00
Michael Martin d3e13a4ada [USBEHCI_NEW]
- Use PQUEUE_HEAD as the Head of pending list  and Async (Active) list vice using PLIST_ENTRY.
- Implement linking/unlinking a QueueHead to these Head QueueHeads.
- Implement chain linking/unlinking of QueueHeads. Thr plan being to used these functions during DMA operations to pull a number of QueueHeads from the pending list to place into the Async list for execution. 
- Will look for optimization in these functions later.

svn path=/branches/usb-bringup/; revision=51390
2011-04-18 11:34:02 +00:00
Michael Martin 9067f34e6f [USBEHCI_NEW]
- Use LIST_ENTRY in QueueHeads and Descriptors vice Next and Previous Pointers.
- Add functions to interface for setting AsyncListRegister and PeriodicListRegister.
- USBHardwareDevice: Initialize USBQueue when handling PNPStart.
- USBQueue: Allocate Common Buffer and use it to Create and Initialize DmaMemoryManager object.
- USBQueue: Implement CreateQueueHead and CreateDescriptor.

svn path=/branches/usb-bringup/; revision=51388
2011-04-18 00:06:37 +00:00
Johannes Anderwald a2b99febfa [USBEHCI_NEW]
- Add interface function GetHubControllerSymbolicLink
- Implement IOCTL_USB_GET_ROOT_HUB_NAME for usbview

svn path=/branches/usb-bringup/; revision=51387
2011-04-17 22:38:32 +00:00
Michael Martin bbad937d99 [USBEHCI_NEW]
- Update interfaces with new methods needed for UsbHardWare class.
- Remove GetDmaMemoryManager as the DmaMemory will only be needed by UsbQueue class.
- GetDeviceDetails: Only fill in a parameter if its not null.
- Start implementing UsbQueue class.

svn path=/branches/usb-bringup/; revision=51386
2011-04-17 22:06:20 +00:00
Johannes Anderwald d8b732ed43 [USBEHCI_NEW]
- Implement IRP_MN_QUERY_DEVICE_RELATIONS for hub controller object
- Implement stub handler for URB_FUNCTION_CLASS_OTHER, URB_FUNCTION_SELECT_CONFIGURATION
- Partly implement URB_FUNCTION_GET_STATUS_FROM_DEVICE
- Return success from unimplemented USBHI_Initialize20Hub routine
- based on mjmartin usbehci driver
- Tested in Windows XP SP2

svn path=/branches/usb-bringup/; revision=51385
2011-04-17 21:35:25 +00:00
Johannes Anderwald 5290479c41 [USBEHCI_NEW]
- Setup a default device descriptor for the root hub and initialize it with vendor & product id
- Partly implement URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE, URB_FUNCTION_CLASS_DEVICE
- based on mjmartin usbehci 

svn path=/branches/usb-bringup/; revision=51384
2011-04-17 19:23:13 +00:00
Johannes Anderwald 79bfd697d0 [USBEHCI_NEW]
- Fix bug in CDMAMemoryManager initialization, which calculated the bitmap length wrong
- Create interface IUSBDevice, which will be used to abstract connected usb devices
- Implement support functions for the device interface. 
- Implement USBHI_CreateUsbDevice, USBHI_InitializeUsbDevice, USBHI_GetUsbDescriptors, USBHI_RemoveUsbDevice, USBHI_GetExtendedHubInformation, USBHI_RootHubInitNotification, USBHI_SetDeviceHandleData, USBDI_GetUSBDIVersion, USBDI_IsDeviceHighSpeed
- Partly implement USBHI_QueryDeviceInformation
- Based on mjmartin usbehci 

svn path=/branches/usb-bringup/; revision=51372
2011-04-17 08:20:40 +00:00
Johannes Anderwald e06b7ac5cc [USBEHCI_NEW]
- Implement IDMAMemoryManager interface, with IDMAMemoryManager::Allocate, IDMAMemoryManager::Free
- Fix interface of IDMAMemoryManager
- Will be used by IUSBHardwareDevice

svn path=/branches/usb-bringup/; revision=51369
2011-04-16 12:26:06 +00:00
Johannes Anderwald 767daa4af0 [USBEHCI_NEW]
- Add reference count when the hub controller is created. Necessary to prevent the controller from getting deleted when the hub driver performs interface reference removes
- Implement IRP_MN_QUERY_ID, based on mjmartin ehci driver
- Fix bug in IRP_MN_QUERY_BUS_INFORMATION, it is supposed to return a PNP_BUS_INFORMATION not a simple guid
- Implement IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE, IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO, IOCTL_INTERNAL_USB_GET_HUB_COUNT based on mjmartin ehci driver
- Add interfaces for communicating with the hub driver
- Dispatch internal device requests not wmi requests (EHCI_Dispatch)

svn path=/branches/usb-bringup/; revision=51368
2011-04-16 09:47:43 +00:00
Michael Martin b8c05840fb [USBEHCI_NEW]
- Change VendorId and DeviceId to the same size as PciConfig members, PUSHORT.
- Add support function GetBusInterface.
- Implement GetDeviceDetails and ResetPort.

svn path=/branches/usb-bringup/; revision=51367
2011-04-16 06:59:45 +00:00
Michael Martin acbd41ebf5 [USBEHCI_NEW]
- Add flags for Port Status Control Register and remove structiures for Port Status Control Register.
- Remove USB Status Register and use the flags instead.
- Remove functions that are not used and never will be.
- Implement InterruptServiceRoutine and Deffered Procedure Routine.
- Partially implement port status change to detect device insert and removal.

svn path=/branches/usb-bringup/; revision=51366
2011-04-16 05:55:02 +00:00
Michael Martin 9b44c5121d [USBEHCI_NEW]
- Add flags and structures needed for communicating with controller and handling schedules.
- Add support routines for modifying operational registers on controller.
- Implement getting the controller capabilties, starting and stopping the controller.

svn path=/branches/usb-bringup/; revision=51365
2011-04-16 02:20:23 +00:00
Johannes Anderwald a61d852c84 [USBEHCI_NEW]
- Create Interface IDispatchIrp which is used to handle ioctl requests
- Partly implement IHubController interface

svn path=/branches/usb-bringup/; revision=51355
2011-04-15 17:57:24 +00:00
Johannes Anderwald 6815708639 [USBEHCI_NEW]
- Define tag for allocations
- Fixes assert hit in ReactOS
- Fix typo in IHubController interface declaration

svn path=/branches/usb-bringup/; revision=51353
2011-04-15 15:45:09 +00:00
Johannes Anderwald c1964ed574 [USBEHCI_NEW]
- Fix IOCTL_GET_HCD_DRIVERKEY_NAME implementation
- Now needs IOCTL_USB_GET_ROOT_HUB_NAME to get further in usbview
- Tested in Windows XP SP2

svn path=/branches/usb-bringup/; revision=51350
2011-04-15 14:58:50 +00:00
Johannes Anderwald 297f2e3dd4 [USBEHCI_NEW]
- Build fix #1 for mingw
- Define cxa_pure_virtual which is required that gcc is aware that it should really use the libc++ instead of falling back to libc

svn path=/branches/usb-bringup/; revision=51348
2011-04-15 14:13:24 +00:00
Johannes Anderwald 24188364ec [USBEHCI_NEW]
- Implement CHCDController::Initialize, CHCDController::HandlePnp for PDO / FDO, 
- Partly implement CHCDController::HandleDeviceControl
- Based on mjmartin usbehci sources
- Driver now startups and acquires pnp resources
- Fails in HandleDeviceControl with IOCTL_GET_HCD_DRIVERKEY_NAME when usbview is launched
- Tested in Windows XP SP2 + Vmware Server 2.0.2

svn path=/branches/usb-bringup/; revision=51343
2011-04-14 16:42:02 +00:00
Johannes Anderwald 6ba926eecc [USBEHCI_NEW]
- Fix build breakage from 51341

svn path=/branches/usb-bringup/; revision=51342
2011-04-14 13:03:01 +00:00
Johannes Anderwald abb1319801 [USBEHCI_NEW]
- Implement CUSBHardwareDevice::Initialize, CUSBHardwareDevice::AcquireDeviceLock, CUSBHardwareDevice::ReleaseDeviceLock
- Partly implement CUSBHardwareDevice::PnpStart
- Code from CUSBHardwareDevice::PnpStart was taken from mjmartin usbehci implementation

svn path=/branches/usb-bringup/; revision=51341
2011-04-14 12:55:41 +00:00
Johannes Anderwald 2e9250bbec [USBEHCI_NEW]
- Implement stubs for classes CHCDController and CUSBHardwareDevice
- Implement CreateHCDController, CreateUSBHardware
- Implement CUSBHardwareDevice::QueryInterface, CUSBHardwareDevice::AddRef, CUSBHardwareDevice::Release
- Implement CHCDController::AddRef, CHCDController::Release, CHCDController::QueryInterface

svn path=/branches/usb-bringup/; revision=51337
2011-04-14 11:58:07 +00:00
Johannes Anderwald 009b2e00df [USBEHCI_NEW]
- Create empty USB EHCI driver in c++
- Design & review the interfaces with mjmartin
- Create stubs for creating IUSBHardwareDevice / IHCDController classes
- Implement DriverEntry, EHCI_AddDevice and EHCI_Dispatch

svn path=/branches/usb-bringup/; revision=51335
2011-04-14 11:35:16 +00:00
Amine Khaldi 46a8da69da [CMAKE]
* Sync with trunk r51323.

svn path=/branches/cmake-bringup/; revision=51329
2011-04-13 08:39:17 +00:00
Johannes Anderwald 2e8b524c99 [USBEHCI]
- Re-implement DMA buffer routines. It is now faster and consumes less memory overhead per allocated memory block.
- IoGetDeviceProperty needs a PDO
- Add few comments
- No need to clear buffer twice in CreateQueueHead / CreateDescriptor




svn path=/branches/cmake-bringup/; revision=51324
2011-04-13 01:37:14 +00:00
Amine Khaldi 9c83a930b6 [CMAKE]
* Fix a typo.

svn path=/branches/cmake-bringup/; revision=51302
2011-04-09 16:46:28 +00:00
Amine Khaldi dfe6b0c4b9 [CMAKE]
* msvc compatibility fixes for usbehci.

svn path=/branches/cmake-bringup/; revision=51301
2011-04-09 16:37:27 +00:00
Amine Khaldi 2a1f050cb3 [CMAKE]
- Add USB modules to build.

svn path=/branches/cmake-bringup/; revision=51299
2011-04-09 16:01:04 +00:00
Jérôme Gardou 1d2b1c4a24 [CMAKE]
- Get rid of buildno_header target, builno.h is generated at configure time.

svn path=/branches/cmake-bringup/; revision=51220
2011-04-01 17:34:49 +00:00
Amine Khaldi 475719f162 [CMAKE]
- Sync with trunk r51165.

svn path=/branches/cmake-bringup/; revision=51166
2011-03-26 23:14:25 +00:00
Amine Khaldi 785bea480a [CMAKE]
- Sync with trunk r51050.

svn path=/branches/cmake-bringup/; revision=51154
2011-03-26 13:00:21 +00:00
Johannes Anderwald ab7c42e1cc - Fix acpi really.
svn path=/branches/cmake-bringup/; revision=50795
2011-02-18 12:01:54 +00:00
Johannes Anderwald 9eb2eb0af8 - Fix pcix msvc build
svn path=/branches/cmake-bringup/; revision=50779
2011-02-18 01:09:42 +00:00
Johannes Anderwald f3b2ad3c84 - Fix linking error
svn path=/branches/cmake-bringup/; revision=50778
2011-02-18 01:06:17 +00:00
Amine Khaldi 2c828839b6 [CMAKE]
- A better, albeit temporary fix for 50714 and 50716.

svn path=/branches/cmake-bringup/; revision=50772
2011-02-17 22:12:27 +00:00
Johannes Anderwald 62b0db3082 - Fix msvc framebuf build
svn path=/branches/cmake-bringup/; revision=50728
2011-02-16 10:46:02 +00:00
Johannes Anderwald 81619aef1e - Fix vgaddi build (msvc)
svn path=/branches/cmake-bringup/; revision=50727
2011-02-16 10:43:59 +00:00
Johannes Anderwald a35e1b6b03 - Fix vbemp build
svn path=/branches/cmake-bringup/; revision=50726
2011-02-16 10:38:21 +00:00
Johannes Anderwald 6cf55b5d6d - Fix linker warnings
svn path=/branches/cmake-bringup/; revision=50725
2011-02-16 10:23:07 +00:00
Johannes Anderwald cc0604236b - Apply same fix for wmilib
- set_entrypoint macro appears to be broken for msvc 16.00.30319.01 (VS 2010)

svn path=/branches/cmake-bringup/; revision=50716
2011-02-15 17:39:00 +00:00
Johannes Anderwald 6521a945bc - Fix drmk build for msvc
svn path=/branches/cmake-bringup/; revision=50714
2011-02-15 17:29:11 +00:00
Giannis Adamopoulos d372ef8b22 [acpi]
-Fix compilation with msc

svn path=/branches/cmake-bringup/; revision=50713
2011-02-15 17:12:36 +00:00
Timo Kreuzer a7014019f3 [NMIDEBUG]
Fix compilation with MSVC

svn path=/branches/cmake-bringup/; revision=50712
2011-02-15 17:03:28 +00:00
Giannis Adamopoulos 8e32abe55c [uniata]
- Fix some compilation issues with msc

svn path=/branches/cmake-bringup/; revision=50711
2011-02-15 17:01:38 +00:00
Sylvain Petreolle 141181cdbc [CMAKE]
Fix msvc ext2 build.
Fix soundblaster includes.

svn path=/branches/cmake-bringup/; revision=50697
2011-02-14 20:56:12 +00:00
Timo Kreuzer e29077a3cf [KDCOM]
Fix build of new kdcom

svn path=/branches/cmake-bringup/; revision=50691
2011-02-14 13:42:40 +00:00
Johannes Anderwald d33174f9de [KS]
- Fix a bug where a spinlock was acquired on not initialized local variable
- Found by msvc

svn path=/branches/cmake-bringup/; revision=50671
2011-02-12 18:52:35 +00:00
Amine Khaldi d4a7d0fb36 [CMAKE]
- Mark fastcall exports correctly, now that we have proper support in spec2def.

svn path=/branches/cmake-bringup/; revision=50658
2011-02-11 17:07:01 +00:00