On 17 Mar 2014, at 10:27, Vasileios Anagnostopoulos <fithis2001@xxxxxxxxx> wrote:
Hi,
I recently accidentally came across mirage. It more or less seems a magical unikernel system but I have to delve to a lot of details in order to understand it.
I am interested in high-level device driver construction. I prefer to ask questions directly in mailing lists instead in getting lost in the noise of documentation.
Hi Vasileios! Questions are very welcome as you explore. What I am interested is whether it is possible to write a Blutetooth stack using USB transport in Mirage OS and make it available in another VM.
For example a MirageOS BT driver over USB (possibly using USB passthrouth) and make it available for my e.g. Windows 7x86 or Minix3 VM. What is involved (apart from me writing the stack)?
This is possibly easily enough using the split driver architecture of Xen. You will need a USB backend driver that runs in dom0 (usually Linux) that will expose a virtualized protocol to the guest. This happens as follows, using a virtual network driver as an example:
Once that's done, you have a well-typed RPC channel for USB, and would need to implement the minimal pieces needed for Bluetooth. You almost certainly don't want a whole Bluetooth stack (e.g. service discovery), but just the minimum to get connectivity over L2CAP shouldn't be too bad. Let us know if you need any help on this -- it would be very nice to get a USB frontend working now that Xen/ARM is making so much good progress!
cheers, Anil |