[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: Plug and Play and Wine
From: Aric Stewart <aric () codeweavers ! com>
Date: 2015-12-30 16:43:07
Message-ID: 5684099B.9020605 () codeweavers ! com
[Download RAW message or body]
Thanks for the reply! Sorry for my delay I am on vacation so e-mail and think about \
complicated things like this time is more scarce.
On 12/22/15 12:13 PM, Damjan Jovanovic wrote:
>
> I've already done that. Attached are 2 patches that make driver loading independent \
> of global variables, and move driver loading code from winedevice.exe to \
> ntoskrnl.exe where it can be reused to load drivers from anything that links to \
> ntoskrnl.exe.
That is pretty cool! Have you submitted these for review and comment? It would be \
nice to move the driver loading somewhere like ntoskrnl
>
> My work on USB uses a similar idea.
>
> In my design, usbhub.sys (my "bus driver") is loaded at Wine start-up. It is loaded \
> by winedevice.exe, in its own separate winedevice.exe process just like every \
> driver currently is, but it is able to (using my previously mentioned patches) load \
> USB device drivers into its own process, and leading to a hybrid driver \
> architecture where copy protection drivers should continue to work as they get \
> loaded into their own winedevice processes and crashes won't affect other drivers, \
> while usbhub.sys can load USB drivers into its own process as needed to provide \
> hardware support.
That should plug into this structure pretty easily, that is good to know. the \
usbhub.sys will no longer be loaded by winedevice.exe but instead it will be \
integrated into plugplay.exe, still in driver style for later pull out if we want.
>
> Also I planned to detect device additions and removals by listing all USB devices \
> every second, and detecting what changed since the previous listing. This is \
> because there is no other portable way to read device addition/removal events: \
> there used to be HAL but now we've degenerated to the Linux-only udev :-(. I was \
> planning to hack the plug and play side of things ;-). A background thread in \
> usbhub.sys would do this polling for USB devices and build device objects and load \
> drivers.
If you are using udev then you should be able to to listen for device removal and \
insertion without having to poll. In my proof of concept Plug and Play setup I have a \
udev setup that does this for hidraw devices and it quite straight forward.
> We should probably develop the plug and play system before USB though?
I agree. So far I am looking at the lack of much comment as people not having any \
problem with this, and since it works with your concept and artecheture I will start \
cleaning it up and try to submit patches soon after the new year.
-aric
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic