Commit graph

367 commits

Author SHA1 Message Date
Johannes Anderwald 9aff3e967c [USBOHCI]
- Set up periodic threshold (90 %)
- Add function to retrieve interrupt endpoints
- Add function to retrieve specific descriptors from interface. These are used by HID devices such as mice / keyboards
- Add function to retrieve interrupt interval
- Enqueue all endpoint descriptors at the end of the associated queue
- Only notify hardware of insertion when it is an bulk / control request
- Scan interrupt endpoint list to find the completed transfer descriptor
- Add debugging function to print out linked endpoint descriptors
- Interrupt transfers are now implemented. 
- Tested in Windows XP SP3 + Vbox 4.04 + Microsoft 5-Button Mouse. The HID mouse installs, initializes and starts up. Unfortunately the mouse does not work as expected yet

svn path=/branches/usb-bringup/; revision=51922
2011-05-26 12:37:18 +00:00
Johannes Anderwald 667b425b6c [USBOHCI]
- Remove dead code
- Silence traces
- Pass status & DoneHead as parameters to dpc routine
- Move IUSBRequest cleanup code into new function and use it for bulk / control transfer cleanup
- Fix bugs in AllocateEndpointDescriptor. It did not take the device address into account. It also did not respect the direction of the descriptor
- Implement support for bulk transfer requests
- Handle irp completion in CompletionCallback
- Tested in Windows XP SP3 + Vbox 4.04 + USB2.0 disabled + ReactOS usbstor + USB mass storage device
- OHCI Mass storage support is now also ready
- Next interrupt transfers

svn path=/branches/usb-bringup/; revision=51917
2011-05-26 02:15:11 +00:00
Johannes Anderwald 2c6077dc50 [USBOHCI]
- Add glue code for supporting iso transfers
- Remove dead from Handle
- Remove broken asserts
- Add support for string descriptors
- Add support for class specific endpoint requests (Needs be ported to usbehci)
- Link to usbd driver
- Add support for retrieving string descriptor
- Rewrite configuration descriptor handling in IUSBDevice. New code is smaller, smarter and handles a lot more cases. Needs to be ported to usbehci
- Wrap usbdlib.h include in extern c macro, it has c linkage
- Control transfers should now work 
- Need to implement support for isochronous / bulk / interrupt transfers until functional
- Tested with Bluetooth USB Stick (multi function, interrupt / bulk / control / isochronous) / USB Microphone (isochronous & control) in XP SP3

svn path=/branches/usb-bringup/; revision=51900
2011-05-25 02:11:06 +00:00
Johannes Anderwald beec9a7b25 [USBD]
- Add missing export

svn path=/branches/usb-bringup/; revision=51899
2011-05-24 23:03:35 +00:00
Johannes Anderwald ed6fad617e [USBOHCI]
- Don't allocate buffer twice
- Cleanup endpoint / general transfer descriptors

svn path=/branches/usb-bringup/; revision=51892
2011-05-24 18:29:57 +00:00
Johannes Anderwald e24bfbfa91 [USBOHCI]
- Add sanity checks
- Preserve  command status value when notifying the hc that a control / bulk endpoint was added
- Re-enable root hub notification interrupt when reset port has been completed
- Dispatch processing to USBQeueu when DoneHead event arrives
- Scan endpoints to find the logical endpoint which was completed by the hardware
- Signal completion to IUSBRequest by calling CompletionCallback
- Create a final transfer descriptor which is linked to the endpoint descriptor
- Control transfers now appear to be working (Device retrieves device descriptor / configuration descriptor and succeeds in setting device address)
- Configuration parsing code needs more work now (currently fails there due to invalid / unexpected configuration descriptor from device)

svn path=/branches/usb-bringup/; revision=51888
2011-05-24 17:57:00 +00:00
Johannes Anderwald b275073474 [USBOHCI]
- Enable global power mode
- Wait untill reset is complete
- Clear reset complete bit when reset is done
- Enable port
- Reset port now works
- USBOHCI still hangs after adding first control request, needs more investigation

svn path=/branches/usb-bringup/; revision=51883
2011-05-24 12:51:03 +00:00
Johannes Anderwald f75cb3d51d [USBOHCI]
- Start implementing control transfers
- Move initialization of usb queue after the bulk / control head endpoints have been created
- Add interface functions to retrieve bulk / control head endpoint descriptors
- Add macros for setting transfer descriptors field (taken from Haiku)
- Partly implement IUSBQueue::AddUSBRequest for control / bulk transfers
- Create endpoint descriptor for control request and link setup descriptor to it 
- Link setup descriptors to data descriptor / status descriptor
- WIP (needs fixes)

svn path=/branches/usb-bringup/; revision=51864
2011-05-23 17:42:52 +00:00
Johannes Anderwald c5acda628c [USBOHCI]
- Fix bug in calculating offset of status register
- Start implementing deferred processing routine
- Signal status change when new device is arrived
- Implement basic GetPortStatus
- Start implementing SetPortFeature, ClearPortStatus
- ResetPort not yet fully working, WIP

svn path=/branches/usb-bringup/; revision=51858
2011-05-23 11:29:55 +00:00
Johannes Anderwald 89d52d98bb [OHCI]
- Add check that controller is functional state
- enable interrupts after the controller has been started
- partly implement isr routine

svn path=/branches/usb-bringup/; revision=51852
2011-05-22 20:48:50 +00:00
Johannes Anderwald d4c4a2e080 [USBOHCI]
- Start of OHCI support
- Based on new usbehci driver and Haiku USB Stack
- Driver initializes the controller and retrieve number of ports

svn path=/branches/usb-bringup/; revision=51851
2011-05-22 19:36:13 +00:00
Johannes Anderwald 3dfadd12ae [USBEHCI]
- Enable sync frame list

svn path=/branches/usb-bringup/; revision=51827
2011-05-20 15:06:39 +00:00
Johannes Anderwald 9e2ca3d539 [USBEHCI]
- Pass memory manager to USBQueue object
- Fix bug in memory manager which did not check if an allocation equals page size
- Implement interrupt queue head array with frequencys of 1ms up to 32ms
- Store queue heads in the sync schedule array
- WIP

svn path=/branches/usb-bringup/; revision=51826
2011-05-20 14:47:15 +00:00
Michael Martin ff208f7adb [USBSTOR]
- Add error handling to USBSTOR_CSWCompletionRoutine for errors that can be recovered via reset of pipe/port/controller. Only pipe reset is attempted. WIP.

svn path=/branches/usb-bringup/; revision=51808
2011-05-17 11:26:25 +00:00
Johannes Anderwald a5d0b5fdef [USBSTOR]
- Implement retrieving serial number from device
- Use serial number to format instance id and retrieve in StorageDeviceProperty requests
- Silence traces


svn path=/branches/usb-bringup/; revision=51770
2011-05-15 17:57:02 +00:00
Johannes Anderwald e9a0c8ba68 [USBSTOR]
- Add asserts
- Rewrite queue methods to accept the FDO only 
- Fix multiple synchronization bugs
- Don't start next irp before current irp has completed
- Use contiouslogicalbytes blocks from srb
- Should fix race conditions

svn path=/branches/usb-bringup/; revision=51764
2011-05-15 14:59:16 +00:00
Johannes Anderwald 793e8870ca [USBSTOR]
- Fix one more warning

svn path=/branches/usb-bringup/; revision=51760
2011-05-15 12:49:17 +00:00
Johannes Anderwald 5c5f758afa [USBSTOR]
- Silence warnings
- Silence traces
- Add asserts
- Add code to detect usb reset in progress. In that case cancel the request
- Add more code to synchronize urb action
- WIP, still hangs are observed

svn path=/branches/usb-bringup/; revision=51759
2011-05-15 12:47:54 +00:00
Michael Martin e5f521c90a [USBSTOR]
- Start implementing error handling.
- On errors use a worker thread to attempt a recovery. If successful restart the operation that failed.
- If STALL_PID is received reset the pipe of the device.
- Not entered into code path yet. WIP.

svn path=/branches/usb-bringup/; revision=51754
2011-05-15 11:23:16 +00:00
Michael Martin f1ec4fbe16 [USBSTOR]
- USBSTOR_SendRequest: The buffer for read/write may not be NonPagedPool, which is documented as a requirement for using MmBuildMdlForNonPagedPool. Also locking the buffers pages is also not an option as the routine is called at DISPATCH_LEVEL.
It so happens that Irp->MdlAddress is valid for read/write operations. Use it instead of procedure above.
- Add a sanity check to make sure the Mdl does describe the transfer buffer.
Fixes IRQL_NOT_LESS_OR_EQUAL bugcheck in windows. These changes also may fixed writing to device.

svn path=/branches/usb-bringup/; revision=51752
2011-05-15 08:23:32 +00:00
Johannes Anderwald be12088a55 [USBSTOR]
- Start implementing queued srb handling
- Implement SRB_FUNCTION_RELEASE_QUEUE, SRB_FUNCTION_FLUSH, SRB_FUNCTION_FLUSH_QUEUE
- WIP, not yet working perfectly

svn path=/branches/usb-bringup/; revision=51739
2011-05-14 18:09:00 +00:00
Johannes Anderwald 3f8c058a07 [USBSTOR]
- Start implementing write command
- Disabled for now as it causes corruptions

svn path=/branches/usb-bringup/; revision=51695
2011-05-13 14:44:24 +00:00
Johannes Anderwald 89aa9d3264 [USBSTOR]
- Fix bug in read command, which uses wrong format. LBA address is stored in the CDB10 struct
- Don't build the mdl for nonpaged pool if the driver passes an mdl (i/o paging requests)
- Usbstor can now list disk contents and browse files when used in Windows XP
- Need to implement SCSIOP_WRITE to write files

svn path=/branches/usb-bringup/; revision=51694
2011-05-13 14:04:38 +00:00
Johannes Anderwald eb228159bc [USBSTOR]
- Handle SCSIOP_MEDIUM_REMOVAL
- Handle paging i/o requests. These request don't provide a data buffer in the srb, but the buffer is stored in the irp' mdl
- Fix the hack for unimplemented Mode Sense command
- Usbstor now completes initializes and receives read requests
- Still need to fix read request, as Windows XP fails to recognize the disk format, WIP

svn path=/branches/usb-bringup/; revision=51693
2011-05-13 13:37:50 +00:00
Michael Martin 98ed611448 [USBSTOR]
- Add a check at USBSTOR_FdoHandleStartDevice to make sure the device uses Bulk Transfers.
- Use macros for initializing the Urbs. The macros ensure that the proper fields of the URB are set correctly.
Fixes failing of getting device descriptor and getting devices BlockLength.


svn path=/branches/usb-bringup/; revision=51691
2011-05-13 09:14:28 +00:00
Michael Martin 9d7751a2f6 [USBHUB_NEW]
- Only get the string descriptors if they are available. Fixes crash when using usb mouse and keyboards in windows.

svn path=/branches/usb-bringup/; revision=51688
2011-05-12 23:31:32 +00:00
Michael Martin 76310d7679 [USBEHCI_NEW]
- Modify BuildBulkTransferQueueHead to support TransferBufferLengths larger than PAGE_SIZE * 5.
- Acquire a SpinLock before adding QueueHeads to AsyncList and PendingList.
- Dont request a new QueueHead for incomplete transfers in QueueHeadCompletion, as the memory for the just completed QueueHead has not been released yet. Doing so overwrites the m_TransferDescriptor[x] members with new address resulting in memory leaks. Instead request a new QueueHead after the QueueHead has been freed in QueueHeadCleanup.
- Fix a bug where a QueueHead was removed from the m_CompletedRequestAsyncList instead of the m_PendingRequestAsyncList.
- Temporary hackfix InternalCalculateTransferLength to return the TransferBufferLength. This hack will be removed as soon as possible.
- With these changes the hub and ehci driver allow viewing content of and transfers to/from usb disks.

svn path=/branches/usb-bringup/; revision=51684
2011-05-12 13:35:06 +00:00
Michael Martin 8d98341ac8 [USBHUB_NEW]
- Implement IOCTL_INTERNAL_USB_GET_PORT_STATUS.
- Fixes to comments




svn path=/branches/usb-bringup/; revision=51683
2011-05-12 12:58:07 +00:00
Johannes Anderwald b0b03bfdd1 [USBSTOR]
- Rewrite scsi method to act asynchronous

svn path=/branches/usb-bringup/; revision=51673
2011-05-11 03:49:15 +00:00
Michael Martin 4f76ebe078 [USBHUB_NEW]
- Save PortNumber in child device extensions as its needed when PNP request device capabilities.
- Handle IOCTL_INTERNAL_USB_SUBMIT_URB request by creating a new Irp and passing the Urb down to the miniport. 
- Now working with our ehci driver, we at least see a usb driver and can browse directory in Windows, though doing so results in assert as ehci doesnt support transfers over 5 Pages yet. Fix coming soon.



svn path=/branches/usb-bringup/; revision=51672
2011-05-11 02:25:11 +00:00
Johannes Anderwald fc298e51a5 [USBSTOR]
- Partly implement test unit command

svn path=/branches/usb-bringup/; revision=51671
2011-05-10 23:26:56 +00:00
Michael Martin db5142f32f [USBHUB_NEW]
- Forgotten change in 51641. Fixes build of usbhub.

svn path=/branches/usb-bringup/; revision=51657
2011-05-09 10:48:00 +00:00
Johannes Anderwald fc34f0177d [USBSTOR]
- Start implementing SCSI read

svn path=/branches/usb-bringup/; revision=51654
2011-05-08 22:18:55 +00:00
Johannes Anderwald 45f27e8b8c [USBEHCI_NEW]
- Fix retrieving drive capacity
- Fix ufi command structures

svn path=/branches/usb-bringup/; revision=51649
2011-05-08 19:33:41 +00:00
Michael Martin 741b7ea0aa [USBEHCI_NEW]
- When clearing feature port reset, remove the flag from Change and if the port is hardware enabled set the enable flag in Status. 
- When checking port status, if Change has any flags set an SCE request most be completed. Verified while writing usbhub driver in xp.
- Probably fixes a case where an endless loop of completing SCE requests.

svn path=/branches/usb-bringup/; revision=51642
2011-05-08 12:42:15 +00:00
Michael Martin 3063e3bf5e [USBHUB_NEW]
- Implement constructing CompatibleIds string using device descriptor. However, if the Class of the device descriptor is 0, then Class, SubClass and Prot which make up this string must come from the Interface.
- Change Ids and Descriptions to Unicode Strings. 
- Move the creating of Id strings to one place, CreateDeviceIds, and called it at device creation.

svn path=/branches/usb-bringup/; revision=51641
2011-05-08 12:24:26 +00:00
Michael Martin 54c5af9906 [USBHUB_NEW]
- Some devices implement a default Language, LangId of 0. Some do not. Use LangId 0x0409 (English) until LangId is implemented.
- Remove an unused variable.

svn path=/branches/usb-bringup/; revision=51622
2011-05-07 16:10:09 +00:00
Michael Martin e9fe271ad6 [USBHUB_NEW]
- The lower level driver completes the SCE IRP whenever the change state has been modified for a port. When handling the SCE IRP completion only check for flags in change state. The Change flags must be cleared else the hub driver will get non stop SCE IRP completions.
- Allocate IRP from Pool vice calling IoAllocateIrp. Dont free the IRP in the completion routine as the port driver, oddly, frees them.
- GetUsbDeviceDescriptor: Remove use of MDL and use only buffer instead to make our new usbehci happy.
- When calling the interface routines, correctly use the BusContext returned from the interface instead of the RootHubPdo. This worked on windows as it just happened they were the same.
- Implement RootHubInitCallbackFunction, which only job currently is to send the first SCE IRP.
- For Start Device for child device objects fake success for now. Will be implemented later.
- Implement returning IRP_MN_QUERY_IDs, IRP_MN_QUERY_DEVICE_TEXTs and IRP_MN_QUERY_BUS_INFORMATION.
- Add basic handling for IRP_MJ_POWER.
- Misc code changes.
 

svn path=/branches/usb-bringup/; revision=51620
2011-05-07 14:49:02 +00:00
Johannes Anderwald 5573560a44 [USBSTOR]
- Implement SCSI mode sense

svn path=/branches/usb-bringup/; revision=51609
2011-05-06 17:23:19 +00:00
Johannes Anderwald ff67bee091 [USBSTOR]
- Implement retrieving drive capacity
- Use constant from scsi.h instead of defining own format
- Don't reset returned parameters length to zero, as ioctl handler might set it


svn path=/branches/usb-bringup/; revision=51608
2011-05-06 16:25:01 +00:00
Johannes Anderwald 5c9e645604 [USBSTOR]
- Implement retrieving adapter descriptor (IOCTL_STORAGE_QUERY_PROPERTY)
- Implement retrieving device descriptor (IOCTL_STORAGE_QUERY_PROPERTY)
- Next Function to implement is SRB_FUNCTION_EXECUTE_SCSI

svn path=/branches/usb-bringup/; revision=51607
2011-05-06 13:29:27 +00:00
Johannes Anderwald c5af801a10 [USBSTOR]
- Rename common device extension, it conflicts with classpnp.h header structures
- Start implementing disk ioctls
- Implement SRB_FUNCTION_CLAIM_DEVICE, SRB_FUNCTION_RELEASE_DEVICE

svn path=/branches/usb-bringup/; revision=51585
2011-05-05 00:39:00 +00:00
Johannes Anderwald dd5249b4b6 [USBEHCI_NEW]
- Silence debug flood

svn path=/branches/usb-bringup/; revision=51584
2011-05-05 00:35:56 +00:00
Johannes Anderwald c071ae0f59 [USBSTOR]
- Make DeviceId generation to match ms usbstor
- Don't hardcode the device type in USBSTOR_PdoHandleQueryHardwareId
- Don't hardcode device type in USBSTOR_PdoHandleQueryCompatibleId
- Hackfix generation of instance id
- Add comments
- Cleanup code
- Usbstor now receives ioctl from disk.sys

svn path=/branches/usb-bringup/; revision=51582
2011-05-04 23:14:32 +00:00
Michael Martin e84208fd18 [USBHUB_NEW]
- Add UsbDeviceHandle to child device extensions structure to be passed with URB requests.
- Reimplement the Worker Thread DeviceStatusChangeThread called on SCE completion. Each SetFeature and ClearFeature resend SCE request.
Only create the usb child device if the PortStatusChange member of the device extensions was modified.
- Implement CreateUsbChildDeviceObject used for creating a deviceobject for the USB device and initializing it.
- Implement GetUsbStringDescriptor for getting DeviceId, TextDescription and InstanceId from USB Device.
- Move the initial QueryStatusChangeEndpoint to after the hub device receives start pnp.
- USBHUB driver is now back to the same functionality of previous version. Showing the device wizard for connected devices.

svn path=/branches/usb-bringup/; revision=51581
2011-05-04 21:45:55 +00:00
Johannes Anderwald 8d93646c2d [USBSTOR]
- Rewrite hardware id / instance id matching
- Implement support for compatible id
- UsbStor still not attached to disk.sys, needs more research on how to get this done

svn path=/branches/usb-bringup/; revision=51580
2011-05-04 20:19:33 +00:00
Michael Martin 0fe38c839b [USBHUB_NEW]
- Change parameter name for DeviceObject in functions to clearify which device object is to received IRPs.
- Fix a typo in GetPortStatusAndChange that caused the function to return nothing for status and change.
- Call QueryStatusChangeEndpoint to send the first SCE request in Query Bus Releations.
- Complete implementation of StatusChangeEndpointCompletion. Queue a work item for DeviceStatusChangeThread, which will be used to initialize the usb device and create related device objects.



svn path=/branches/usb-bringup/; revision=51576
2011-05-04 12:58:42 +00:00
Johannes Anderwald 062111f2e1 [USBSTOR]
- Don't free device descriptor if it failed to acquire it
- Don't move out of usb configuration array. Found by special pool
- Fix bug when storing interface information which lead to a overwrite
- Implement retrieving generic type for device
- Fix bugs in QueryDeviceId
- Implement querying hardware ids
- Implement querying instance ids
- With these changes, usbstor now initializes and create pdo, which is also enumerated
- Needs more code / fixes so that disk.sys attaches to usbstor
- WIP

svn path=/branches/usb-bringup/; revision=51575
2011-05-04 12:33:01 +00:00
Johannes Anderwald 11ca3bd492 [USBEHCI_NEW]
- Fix warnings
- Fix mingw build

svn path=/branches/usb-bringup/; revision=51573
2011-05-04 12:09:07 +00:00
Johannes Anderwald c2b34a98be [USBEHCI_NEW]
- Invoke status change callback at passive level
- Fill out usb descriptor struct instead passing everything in char array
- Use 1 byte interrupt endpoint packet size for hub for now
- Fill in interface information when SelectConfiguration request is passed. Fixes sce callback and pool corruptions
- Return device descriptor in USBHI_QueryDeviceInformation
- Tested in WinXP with special pool enabled & overrun support

svn path=/branches/usb-bringup/; revision=51572
2011-05-04 11:49:00 +00:00
Michael Martin 9cbc4f8f60 [USBHUB_NEW]
- Add UsbHub_New to build.



svn path=/branches/usb-bringup/; revision=51570
2011-05-04 01:08:37 +00:00
Michael Martin af70a910fb [USBHUB_NEW]
- Start work on reimplementing UsbHub driver.
- Implement SubmitRequestToRootHub, QueryStatusChangeEndpoint, QueryInterface, GetPortStatusAndChange, SetPortFeature and ClearPortFeature.Handle QueryBusRelations.
- Partially implement PNP handling for FDO. When starting the device get all the information about the RootHub the driver will need and enable Power on all ports.
- Partially implement PNP handling for PDO, QueryId and QueryDeviceText.
- WIP



svn path=/branches/usb-bringup/; revision=51569
2011-05-04 01:07:21 +00:00
Johannes Anderwald 7821a805ef [USBSTOR]
- Implement retrieving string device type from SCSI device type
- Handle BusQueryDeviceId
- Implement support routines for sending CBW / CSW / Data
- Implement retrieving device type (SCSI inquiry request)
- WIP

svn path=/branches/usb-bringup/; revision=51567
2011-05-03 19:40:03 +00:00
Johannes Anderwald 991d02daa5 [USBEHCI_NEW]
- Remove function declaration
[USBSTOR]
- Start on usbstor driver (USB Mass Storage Driver)
- Implement reading device descriptor / configuration descriptor
- Implement scanning of configuration descriptor for bulk in / bulk out endpoints
- Implement selecting configuration and interface and verify selected interface
- Implement reading max lun and create child device object for each lun
- Handle PnP requests for functional device object
- Implement support routines to send urb's to lower device object (usbhub)
- Start implementing PDO routines

svn path=/branches/usb-bringup/; revision=51563
2011-05-03 00:15:23 +00:00
Johannes Anderwald bca978808b [USBEHCI_NEW]
- Silence usb bulk control traces

svn path=/branches/usb-bringup/; revision=51507
2011-04-30 18:46:10 +00:00
Johannes Anderwald 6321f84f30 [USBEHCI_NEW]
- Store number of bytes transferred in the transfer descriptors
- Perform queue head completion when the door bell ring has been acknowledged. Fixes race condition between multiple irps in the async list
- Fix calculation of transfer length when the request is an bulk in operation
- Use EndPointDescriptor member to access transfer type / pid direction
- Use MmGetSystemAddressForMdlSafe to retrieve system address for urb buffer
- Fix check if first transfer buffer finishes on first size if the size is of page_size
- With these changes and little luck and good weather, usb mass storage devices have been seen to  work in Windows XP SP3 
- Code inspired of mjmartin usbehci driver and Haiku's usb stack


svn path=/branches/usb-bringup/; revision=51506
2011-04-30 17:44:43 +00:00
Johannes Anderwald 547ea14508 [USBEHCI_NEW]
- Port URB_FUNCTION_CLASS_INTERFACE from mjmartin usbehci driver
- Fix typo in interface declaration
- Disable assert for now
- Return irp status pending when irp is added to the queue
- Fix bug in InternalGetPidDirection
- More work on the bulk transfers, not yet working

svn path=/branches/usb-bringup/; revision=51501
2011-04-30 08:04:35 +00:00
Michael Martin bdfaf318b8 [USBEHCI_NEW]
- Fix a type causing CommitIrp to fail.
- Add a sanity check in StatusChangeEndpointCallBack to check that a pending SCE irp is queued.
- Start Implementing Bulk Transfers. Needs more work.



svn path=/branches/usb-bringup/; revision=51493
2011-04-29 13:16:03 +00:00
Michael Martin 07dbb71da0 [USBEHCI_NEW]
- Set the NakCountReload to 0 in the QueueHead that is set in the Async register, as this is a dead QueueHead marked as halted and does not need it.
- Set the Async register in StartController. Note: The Async and Periodic registers can only be modified when the controller is stopped. 
- Driver now works in Qemu.

svn path=/branches/usb-bringup/; revision=51491
2011-04-29 06:14:44 +00:00
Johannes Anderwald 20a1892864 [USBEHCI_NEW]
- Fix SelectConfiguration / SelectInterface
- By mjmartin

svn path=/branches/usb-bringup/; revision=51490
2011-04-29 03:17:57 +00:00
Johannes Anderwald 3b6ba2f1d8 [USBEHCI_NEW]
- Implement SelectInterface / SelectConfiguration based on mjmartin usbehci driver
- Initialization runs untill SelectInterface request
- Tested with WinXP SP2

svn path=/branches/usb-bringup/; revision=51489
2011-04-29 02:46:04 +00:00
Michael Martin f48754e09b [USBEHCI_NEW]
- hub_controller.cpp: Change RtlSetBit and RtlClearBit to RtlSetBtis and RtlClearBits for Win2k compatibility.

svn path=/branches/usb-bringup/; revision=51488
2011-04-29 02:19:10 +00:00
Johannes Anderwald e8cf4c5591 [USBEHCI_NEW]
- Remove assert for unknown clear feature
- Implement retrieving string descriptors, based on mjmartin usbehci driver
- Start implementing USBHI_RestoreUsbDevice
- Fixup device stack in USBHI_SetDeviceHandleData. Needs more investigation

svn path=/branches/usb-bringup/; revision=51487
2011-04-28 23:59:53 +00:00
Johannes Anderwald 823176506d [USBEHCI_NEW]
- Implement retrieving device / configuration descriptor for usb devices
- Based on mjmartin usbehci driver
- Mass storage device found wizard now pops up (fails to install - WIP)

svn path=/branches/usb-bringup/; revision=51478
2011-04-28 17:45:32 +00:00
Johannes Anderwald a3f701378c [USBEHCI_NEW]
- Move error checking if controller reported an error inside the door bell ring check block
- Extend interface of IUSBRequest to include DeviceAddress, which is needed to retrieve configuration descriptor of newly set address
- Allocate CtrlSetup from nonpaged pool
- Release setup packet on cleanup
- Devices now receive an device address
- Currently asserts while retrieving configuration descriptor as this code path is not yet existant
*** Assertion failed: Urb->UrbHeader.UsbdDeviceHandle == NULL
***   Source File: d:\usb-bringup\drivers\usb\usbehci_new\hub_controller.cpp, line 1118

svn path=/branches/usb-bringup/; revision=51477
2011-04-28 16:40:07 +00:00
Johannes Anderwald ede1d48da4 [USBEHCI_NEW]
- Change interface to return real async queue head
- Set the async queue head register after the controller has been started
- Enable async queue in StartController
- Port DumpDeviceDescriptor from mjmartin usbehci driver
- Remove pseudo queue head from usb queue, instead use the real async queue head exported from IUSBHardwareDevice 
- Get physical address for transfer data in BuildControlTransferQueueHead
- Retrieving device descriptor now ~works, currently stops at setting device address (needs more work)

svn path=/branches/usb-bringup/; revision=51476
2011-04-28 15:16:33 +00:00
Johannes Anderwald 8df637b778 [USBEHCI_NEW]
- Check if the current request type is supported (currently only control is supported, bulk will be implemented soon)
- Fix bug in IUSBRequest::CreateQueueHead
- Code runs now until first device descriptor get request (async / periodic queue not yet enabled)
- mjmartin usbehci status not yet reached
- Let the fun now begin ;)

svn path=/branches/usb-bringup/; revision=51474
2011-04-28 13:13:13 +00:00
Johannes Anderwald ede324a063 [USBEHCI_NEW]
- Cache port status & port change settings because it appears that some ehci controllers do not store the status reset register bit correctly
- This commit is a temporary solutions, needs to be reworked
- Return correct status from HandleClassOther
- Handle IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION to return status success

svn path=/branches/usb-bringup/; revision=51473
2011-04-28 12:41:16 +00:00
Johannes Anderwald 591cffee7c [USBEHCI_NEW]
- Return the physical address of the async queue head in CUSBHardwareDevice::GetAsyncListRegister
- Remove superflous entries from queue head structure, they are processed within IUSBRequest class
- Remove USBHI_GetPortHackFlags, this function has been deprecated
- Add interface functions for IUSBRequest / IUSBQueue
- Callback into IUSBQueue when a hardware interrupt arrives
- Implement callback function to check for completed queue heads / free completed queue head depending on the Async Advance interrupt bit

svn path=/branches/usb-bringup/; revision=51466
2011-04-27 16:23:42 +00:00
Johannes Anderwald 346a95197f [USBEHCI_NEW]
- Fix build 
- Implement retrieving configuration descriptor (USBHI_GetUsbDescriptors)
- Implement function to build a setup packet from urb (taken from mjmartin usbehci driver)

svn path=/branches/usb-bringup/; revision=51443
2011-04-24 09:26:22 +00:00
Johannes Anderwald 982eb59ba0 [USBEHCI_NEW]
- Create member for storing the request object
- Add interface function which is invoked when the queue head should be freed
- Add support functions which deal with completed queue heads

svn path=/branches/usb-bringup/; revision=51440
2011-04-23 19:36:23 +00:00
Michael Martin 4dff45da57 [USBEHCI_NEW]
hub_controller: 
- Implement  StatusChangeEndpointCallBack called by HardwareDevice class when port status has changed on controller.
- Move Status Change Endpoint query code to IQueryStatusChageEndpoint as it is also needed by StatusChangeEndpointCallBack.
usb_request: 
- Implement InternalCreateUsbRequest.
usb_queue:
- Implement  CreateUsbRequest and AddUsbRequest
hardware:
- Implement GetAsyncListRegister and GetPeriodicListRegister.
- Implement SetStatusChangeEndpointCallBack for setting callback and context. Call the callback when a port status changes.
- Initialize the UsbQueue after creating the AsyncQueueHead, as the UsbQueue calls will call back with GetAsyncListRegister.



svn path=/branches/usb-bringup/; revision=51407
2011-04-20 04:30:22 +00:00
Johannes Anderwald d4f7a44a18 [USBEHCI_NEW]
- Fix warning because comparing signed vs unsigned
- Implement function for retrieving the device descriptor
- Implement function for retrieving a configuration descriptor (including contained interface descriptor and endpoint descriptor)
- Cleanup interface for IUSBRequest:
- When caller initializes IUSBRequest with an IRP, then the operation mode is asynchronously. Therefore when the request is completed, IUSBRequest::ShouldReleaseRequestAfterCompletion will return true, which makes IUSBQueue call Release on IUSBRequest
- When the caller initializes IUSBRequest with an setup packet, the operation mode is synchronously. After submitting the IUSBRequest to queue, the caller should call IUSBRequest::GetResultStatus. This function will then block untill the operation has been completed. However, the caller needs to call Release() as those requests are not cleaned up by the IUSBQueue


svn path=/branches/usb-bringup/; revision=51406
2011-04-19 18:35:40 +00:00
Michael Martin 9b8bc8512c [USBEHCI_NEW]
- Initialize the MemoryManager only after allocating a CommonBuffer to pass to it.
- Create a QueueHead to put into the AsyncList Register.


svn path=/branches/usb-bringup/; revision=51402
2011-04-19 15:06:26 +00:00
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
Timo Kreuzer 054a3b2291 [CLASSPNP]
Fix a bug, I introduced.

svn path=/branches/cmake-bringup/; revision=50651
2011-02-10 13:07:54 +00:00
Timo Kreuzer 1d2ca9b115 [USB]
Fix merge artifact

svn path=/branches/cmake-bringup/; revision=50649
2011-02-10 12:56:12 +00:00
Amine Khaldi 4426c9c0e7 [PORTCLS]
- Merge 50601 and 50602 from trunk. Portcls now compiles and links with msvc.

svn path=/branches/cmake-bringup/; revision=50603
2011-02-03 18:26:08 +00:00
Sylvain Petreolle f22ed7dc10 [CMAKE]
Sync trunk up to r50570.

svn path=/branches/cmake-bringup/; revision=50581
2011-01-31 21:47:39 +00:00
Sylvain Petreolle 9fe4129254 [CMAKE]
Fix classpnp build.

svn path=/branches/cmake-bringup/; revision=50575
2011-01-31 15:56:39 +00:00
Timo Kreuzer e33bf5e8ba [CLASSPNP]
Fix build with MSVC

svn path=/branches/cmake-bringup/; revision=50558
2011-01-29 15:12:40 +00:00
Timo Kreuzer 2ea20c66b6 [FRAMEBUF_NEW]
Fix build with MSVC

svn path=/branches/cmake-bringup/; revision=50557
2011-01-29 15:02:53 +00:00
Timo Kreuzer a042b23093 [VGA_NEW]
Fix build with msvc

svn path=/branches/cmake-bringup/; revision=50556
2011-01-29 14:57:40 +00:00
Timo Kreuzer 0af4984309 [CMAKE]
Remove dll name from add_importlib_target macro

svn path=/branches/cmake-bringup/; revision=50520
2011-01-27 21:57:54 +00:00
Timo Kreuzer 8191f95396 [CMAKE]
- Sync with trunk 50501
- fix a couple of merge artifacts (indentation)

svn path=/branches/cmake-bringup/; revision=50505
2011-01-26 23:24:08 +00:00
Sylvain Petreolle e2b7eacdd5 [CMAKE]
Sync trunk up to r50477.

svn path=/branches/cmake-bringup/; revision=50504
2011-01-26 22:19:12 +00:00
Amine Khaldi 5962942907 [CMAKE]
- Fix wmi and drmk entry points.
- Don't use both reactos and wine debug headers in iphlpapi. Fixes the macro redefinition warnings.

svn path=/branches/cmake-bringup/; revision=50353
2011-01-10 20:59:17 +00:00
Amine Khaldi 1ecaf59fcb [CMAKE]
- Fix a missing dependency.

svn path=/branches/cmake-bringup/; revision=50322
2011-01-08 13:00:35 +00:00
Amine Khaldi 6c0c23cb53 [CMAKE]
- Sync with trunk head (r50270)
- This also reverts r49298.

svn path=/branches/cmake-bringup/; revision=50271
2011-01-03 00:33:31 +00:00
Amine Khaldi 617f2dab5b [CMAKE]
- Don't link ks to msvcrt either.

svn path=/branches/cmake-bringup/; revision=50246
2010-12-31 18:51:00 +00:00
Amine Khaldi 8e1cf24706 [CMAKE]
- Don't link portcls to msvcrt (?!) Spotted using the dependency graph added recently by Timo.

svn path=/branches/cmake-bringup/; revision=50245
2010-12-31 18:48:26 +00:00
Timo Kreuzer dca822d5db [CMAKE]
Delete ks.def

svn path=/branches/cmake-bringup/; revision=50239
2010-12-31 15:42:03 +00:00
Timo Kreuzer 43993833da [CMAKE]
Delete scsiport_i386.def

svn path=/branches/cmake-bringup/; revision=50238
2010-12-31 15:35:59 +00:00
Timo Kreuzer 922971f3c0 [CMAKE]
Fix ftfd.spec

svn path=/branches/cmake-bringup/; revision=50237
2010-12-31 15:35:13 +00:00
Timo Kreuzer cf31695e04 [CMAKE]
Fix compilation of kddll

svn path=/branches/cmake-bringup/; revision=50200
2010-12-28 20:29:34 +00:00
Timo Kreuzer 4ebc5415a4 [CMAKE]
Build the right kdcom when _WINKD_ is set

svn path=/branches/cmake-bringup/; revision=50199
2010-12-28 19:56:55 +00:00
Amine Khaldi 1a282efb6f [CMAKE]
- Assign a base address to ftfd.

svn path=/branches/cmake-bringup/; revision=50038
2010-12-16 15:03:13 +00:00
Amine Khaldi f7da79e889 [CMAKE]
- Improve more modules.

svn path=/branches/cmake-bringup/; revision=49932
2010-12-03 17:41:29 +00:00
Amine Khaldi 4ff54162dd [CMAKE]
- More work on import lib targets and improving modules.

svn path=/branches/cmake-bringup/; revision=49916
2010-12-03 11:01:21 +00:00
Amine Khaldi 11cdb20f02 [CMAKE]
- More work on import lib targets and improving modules.

svn path=/branches/cmake-bringup/; revision=49914
2010-12-03 10:26:32 +00:00
Sylvain Petreolle 1d2630cc29 [CMAKE]
Add stubs file to source automatically.

Gcc: fix set_rc_compiler() so that it doesn't conflict with custom_incdefs().

svn path=/branches/cmake-bringup/; revision=49893
2010-12-02 12:36:16 +00:00
Timo Kreuzer b46aa66305 [CMAKE]
add a number of importlin targets and convert to spec

svn path=/branches/cmake-bringup/; revision=49839
2010-11-28 10:19:28 +00:00
Sylvain Petreolle f1283c58c6 [CMAKE]
Sync with trunk. (r49792)

svn path=/branches/cmake-bringup/; revision=49803
2010-11-26 23:33:34 +00:00
Timo Kreuzer dcb3379a79 [SCSIPORT]
Convert to spec

svn path=/branches/cmake-bringup/; revision=49689
2010-11-21 14:28:52 +00:00
Amine Khaldi e11826a832 [CMAKE]
- Sync with trunk.

svn path=/branches/cmake-bringup/; revision=49668
2010-11-20 16:33:34 +00:00
Timo Kreuzer 795de760bd [CMAKE]
add importlib targets for bootvid, kdcom, ttfd

svn path=/branches/cmake-bringup/; revision=49664
2010-11-20 15:37:52 +00:00
Jérôme Gardou 13aeeacdb3 [CMAKE]
- Improve browseui CMakeLists.txt
  - remove stdc++ dependancy to portcls
  - improve stlport header hack

svn path=/branches/cmake-bringup/; revision=49619
2010-11-19 09:53:49 +00:00
Jérôme Gardou d738b24b6f [CMAKE]
- use correct link script file for freeldr and setupldr
  - use correct definition file for advapi32
  - don't specify name to add_bootcd_target if not needed
  - portcls is not a kernel mode driver
  - Disable stcall fixup, except for mesa32 which requires it
  - remove an useless file from minihal, add a forgotten one to freeldr

svn path=/branches/cmake-bringup/; revision=49615
2010-11-18 21:32:10 +00:00
Timo Kreuzer 406dfdbc87 [CMAKE]
Sync trunk (rr49606)

svn path=/branches/cmake-bringup/; revision=49607
2010-11-16 13:43:39 +00:00
Sylvain Petreolle c3774adb66 [CMAKE]
Add missing files to bootcd.

svn path=/branches/cmake-bringup/; revision=49518
2010-11-07 21:24:35 +00:00
Sylvain Petreolle d929fc29f7 [CMAKE]
Bootcd/Livecd : Add dplayx, ntfs and mup.
Add forgotten wined3d importlib, my bad.

svn path=/branches/cmake-bringup/; revision=49502
2010-11-05 23:14:29 +00:00
Sylvain Petreolle 4bf0ec6bd9 [CMAKE]
Bootcd:
Added : syssetup.inf, vgafonts.cab, c_28593.nls, ntvdm.
Remove blue from reactos.cab.

svn path=/branches/cmake-bringup/; revision=49484
2010-11-05 14:33:14 +00:00
Sylvain Petreolle fbf705275d [CMAKE]
Add more dll/ and drivers/ modules to bootcd.
Fix mesa32 definitions.

svn path=/branches/cmake-bringup/; revision=49483
2010-11-05 13:46:48 +00:00
Amine Khaldi 08bb8bef3d [CMAKE]
- Improve the rest of the drivers.

svn path=/branches/cmake-bringup/; revision=49470
2010-11-04 21:31:33 +00:00
Amine Khaldi a7fe68d16b [CMAKE]
- Improve more drivers.

svn path=/branches/cmake-bringup/; revision=49469
2010-11-04 21:06:20 +00:00
Amine Khaldi bbecbe25fc [CMAKE]
- Improve base and bus drivers.

svn path=/branches/cmake-bringup/; revision=49468
2010-11-04 20:46:27 +00:00
Jérôme Gardou 887046a6ee [CMAKE]
- build msvc importlibs explicitly from def file
  - circumvent lack of pseh lib in MSVC.
  - fix advapi32.def

svn path=/branches/cmake-bringup/; revision=49409
2010-11-01 17:24:32 +00:00
Jérôme Gardou 9abab8be5e [CMAKE]
- add sermouse and kbdfr to live and boot cd
  - improve kbdclass, mouclass and i8042prt build files

svn path=/branches/cmake-bringup/; revision=49390
2010-11-01 00:54:15 +00:00
Jérôme Gardou adbabf12ed [CMAKE]
- fix classpnp compilation.
Thanks go to lassy to explain me why this didn't work before.

svn path=/branches/cmake-bringup/; revision=49383
2010-10-31 22:46:22 +00:00
Jérôme Gardou 8e61f006a7 [CMAKE]
- improve class2 build file
  - set EXTERNAL_OBJECT properties to ntdll def file

svn path=/branches/cmake-bringup/; revision=49382
2010-10-31 22:41:31 +00:00
Jérôme Gardou b3346b150f revert 49345 as requested by ros arm team.
svn path=/branches/cmake-bringup/; revision=49373
2010-10-31 10:42:40 +00:00
Amine Khaldi a2e649110b [CMAKE]
- "cmake gracefully handles def files as source files" You mean it gracefully ignores them, right ?
- Fix the kernel and class2 exports. More to come.
- Fix imaadp32.acm

svn path=/branches/cmake-bringup/; revision=49367
2010-10-30 22:03:40 +00:00
Jérôme Gardou 2e3d2c189b [CMAKE]
- leftover from r49358

svn path=/branches/cmake-bringup/; revision=49362
2010-10-30 17:05:21 +00:00
Sylvain Petreolle 810a1ec99c [CMAKE]
Add boot drivers to reactos.cab.

svn path=/branches/cmake-bringup/; revision=49361
2010-10-30 16:44:31 +00:00
Jérôme Gardou 4ee1da42f1 [CMAKE]
- rewrite spec2def macro because
1. cmake gracefully handles def files as source files
2. cmake gracefully handles autogenerated files as source
3. it did not take into account the fact that all shared libraries haven't the .dll extension

svn path=/branches/cmake-bringup/; revision=49358
2010-10-30 16:08:19 +00:00
Sylvain Petreolle fb307fc436 [CMAKE]
Fix livecd regression.

svn path=/branches/cmake-bringup/; revision=49354
2010-10-30 13:15:33 +00:00
Jérôme Gardou fd5ef6b1c1 [CMAKE]
- add macros add_cab and add_cab_target to add files to reactos.dff
  - add bootcd target
  - make use of these macros to create bootcd and livecd
Bootcd works and install things, but 2nd stage fails booting. We need debug symbols!!!

svn path=/branches/cmake-bringup/; revision=49347
2010-10-30 09:53:53 +00:00
Jérôme Gardou 5e9036e712 [CLASSPNP]
- fix a whole bunch of function prototype. (how does t even work in trunk?)
[CMAKE]
  - add classpnp.sys to build

svn path=/branches/cmake-bringup/; revision=49345
2010-10-30 00:03:28 +00:00
Jérôme Gardou ed8cab27c4 sync with trunk r49322
svn path=/branches/cmake-bringup/; revision=49323
2010-10-27 23:45:28 +00:00
Jérôme Gardou b2f64ac552 Sync with trunk (r49303)
svn path=/branches/cmake-bringup/; revision=49307
2010-10-27 15:52:24 +00:00
Sylvain Petreolle 394ca95775 [CMAKE]
Use msvc friendly macro.
Add network drivers to livecd.

svn path=/branches/cmake-bringup/; revision=49263
2010-10-24 21:19:00 +00:00
Amine Khaldi 8c7563f645 [CMAKE]
- Add set_image_base macro.
- Fix ks linking.

svn path=/branches/cmake-bringup/; revision=49258
2010-10-24 12:44:36 +00:00
Sylvain Petreolle 1fb94b1cb5 [CMAKE]
sync with trunk (r49230)

svn path=/branches/cmake-bringup/; revision=49246
2010-10-23 22:14:59 +00:00
Sylvain Petreolle b7e466a220 [CMAKE]
Livecd: Add drivers.

svn path=/branches/cmake-bringup/; revision=49222
2010-10-22 13:46:11 +00:00
Jérôme Gardou 33a0b314cd [CMAKE]
- add kernelmodedriver module type
  - add set_cpp macro, which takes care of all c++ stuff for you
  - hackfix stlport headers for c++ kernel mode modules.
  - complain about explorer
  - solitaire, telnet and uniata now build happily against stlport

svn path=/branches/cmake-bringup/; revision=49141
2010-10-14 11:03:20 +00:00
Sylvain Petreolle da55a789c3 [CMAKE]
Add minicd target.
This partial bootcd target produces a minicd iso,
able to start the install process to the cabinet installation page.

svn path=/branches/cmake-bringup/; revision=49072
2010-10-09 13:54:36 +00:00
Amine Khaldi 8db8028cbd [CMAKE]
- More work on the base modules.
- Fix a typo.
- Fix shlwapi and audio_test builds.

svn path=/branches/cmake-bringup/; revision=49061
2010-10-08 22:26:41 +00:00
Amine Khaldi 7f773550af [CMAKE]
- Add wlanapi, wldap32, ws2_32(_new) and drmk to build. By Alexey Komarov.

svn path=/branches/cmake-bringup/; revision=48957
2010-10-01 21:52:15 +00:00
Amine Khaldi 466fc93fa7 [CMAKE]
- Make static libs out of the idl files.
- Improve wshirda, wshtcpip and wsock32.
- Include bmfd into build.

svn path=/branches/cmake-bringup/; revision=48956
2010-10-01 21:33:07 +00:00
Amine Khaldi 9d4f5c4c27 [CMAKE]
- Add ws2help, wshirda, wshtcpip, wsock32, wtsapi32, wuapi, xinput*, xmllite, cmbatt, compbatt, dxapi, dxg, dxgthk, fs_rec, msfs and mup to build. By Alexey Komarov.

svn path=/branches/cmake-bringup/; revision=48953
2010-10-01 16:30:49 +00:00
Amine Khaldi 72864bcd6c [CMAKE]
- Add ksuser, npfs, ntfs, ks, parallel, serenum, serial, pciide, pciidex, usbdriver, usbd, framebuf, framebuf_new and portcls to build. By Alexey Komarov.

svn path=/branches/cmake-bringup/; revision=48951
2010-10-01 00:15:10 +00:00
Amine Khaldi b69be78e88 [CMAKE]
- Add audio_test, kmixer, wdmaud, sysaudio and ntvdm to build. By Alexey Komarov.

svn path=/branches/cmake-bringup/; revision=48947
2010-09-30 20:37:04 +00:00
Amine Khaldi 98d310566e [CMAKE]
- Add vgaddi, bmfd, vbemp, vgamp, vga, vmx_svga and xboxvmp to build. By Alexey Komarov.

svn path=/branches/cmake-bringup/; revision=48946
2010-09-30 19:10:49 +00:00
Amine Khaldi 29ab93ce7f [CMAKE]
- Improve acpi, isapnp, pci, pcix and pcmcia (import libs, dependencies...etc)

svn path=/branches/cmake-bringup/; revision=48873
2010-09-25 14:39:51 +00:00
Amine Khaldi c746b1187c [CMAKE]
- Add fastfat_new by Alexey Komarov (IRC: q4a)

svn path=/branches/cmake-bringup/; revision=48856
2010-09-24 09:46:34 +00:00
Amine Khaldi 9c28319873 [CMAKE]
- Don't export symbols from pci(x) and pcmcia.

svn path=/branches/cmake-bringup/; revision=48852
2010-09-23 16:50:00 +00:00
Timo Kreuzer 912ce51ae6 [CMAKE]
Sync with trunk head (r48826)

svn path=/branches/cmake-bringup/; revision=48831
2010-09-20 17:27:52 +00:00
Sylvain Petreolle 7330915418 [CMAKE]
Add ext2 to build.

svn path=/branches/cmake-bringup/; revision=48816
2010-09-19 16:36:43 +00:00
Amine Khaldi f24f83f0b3 [CMAKE]
- Add network drivers (afd, ne2000, pcnet, ndis, tcpip and tdi) to build.

svn path=/branches/cmake-bringup/; revision=48811
2010-09-19 11:19:16 +00:00
Sylvain Petreolle c702cc0d5a [CMAKE]
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
2010-09-18 15:22:08 +00:00
Sylvain Petreolle 174808a463 Move all temporary import libs to a single directory.
This allows linking to libraries with "-lfoo".

svn path=/branches/cmake-bringup/; revision=48796
2010-09-17 20:27:01 +00:00