[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] Porting libvchan to use the Windows PV Drivers
> -----Original Message----- > From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel- > bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Rafal Wojdyla > Sent: 12 March 2015 17:06 > To: Paul Durrant; win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Marek Marczykowski-GÃrecki > Subject: Re: [win-pv-devel] Porting libvchan to use the Windows PV Drivers > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 2015-03-12 17:45, Paul Durrant wrote: > >> -----Original Message----- From: RafaÅ WojdyÅa > >> [mailto:omeg@xxxxxxxxxxxxxxxxxxxxxx] Sent: 12 March 2015 16:17 > >> To: Paul Durrant; win-pv-devel@xxxxxxxxxxxxxxxxxxxx Subject: Re: > >> [win-pv-devel] Porting libvchan to use the Windows PV Drivers > >> > > On 2015-03-11 18:46, Paul Durrant wrote: > >>>>> -----Original Message----- From: > >>>>> win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx > >>>>> [mailto:win-pv-devel- bounces@xxxxxxxxxxxxxxxxxxxx] On > >>>>> Behalf Of Rafal Wojdyla Sent: 10 March 2015 20:16 To: > >>>>> win-pv-devel@xxxxxxxxxxxxxxxxxxxx Subject: Re: > >>>>> [win-pv-devel] Porting libvchan to use the Windows PV > >>>>> Drivers > >>>>> > >>>> Hi, > >>>> > >>>> > >>>>> Hi, > >>>> > >>>> I'm unable to properly reply to the thread since I just > >>>> subscribed to this list but I figured it's worth chiming in > >>>> (last message is here: > >>>> http://lists.xenproject.org/archives/html/win-pv-devel/2015-01/msg0 > 006 > > > >>>> > 0. > >>>> > >>>> > > html) > >>>> > >>>> > >>>>> Yes, I understand; I just saw your subscription message > >>>>> :-) > >>>> > >>>> First, some background about me. I'm currently the main and > >>>> pretty much the only developer/maintainer of guest tools for > >>>> Windows for Qubes OS (https://wiki.qubes-os.org/). Some of > >>>> you may have heard of Qubes -- in short, it's an attempt at > >>>> creating a secure OS based on lightweight AppVMs, currently > >>>> using Linux/Xen as base. It supports Windows HVMs and our > >>>> guest tools provide integration with dom0/other domUs > >>>> (services like data transfer, remote execution, seamless GUI > >>>> experience etc). > >>>> > >>>> > >>>>> Cool. > >>>> > >>>> We're in the process of finalizing the next major release > >>>> (r3) of Qubes, it will use Xen 4.4 instead of r2's Xen 4.1. > >>>> As for our Windows tools, they are (currently) using PV > >>>> drivers based on James Harper's cod e. > >>>> > >>>> Our inter-VM communication protocol uses vchan (in fact, > >>>> vchan originates from our patch accepted into Xen's source a > >>>> few years ago). In Qubes r2 we have a Windows libvchan > >>>> implementation, but as stated above, it uses old PV drivers > >>>> interfaces. You can find it here: > >>>> https://github.com/QubesOS/qubes-core-vchan-xen > >>>> > >>>> That implementation has one big flaw: client side vchan > >>>> functions are not implemented. It didn't matter for Qubes r2, > >>>> where all vchan communication is passing through dom0 anyway. > >>>> In Qubes r3 however, we need that working because of > >>>> redesigned inter-VM communication protocol that allows direct > >>>> VM-VM communication after dom0 arbitration. > >>>> > >>>> Unfortunately Harper's drivers don't seem to implement the > >>>> needed kernel interfaces for that as well. > >>>> > >>>>> I assume you mean grant mapping? Or maybe just grant copy, > >>>>> since that would be safer? > >>>> > >>>> I didn't need to look into PV drivers sources before, but it > >>>> seems I will need to do that now :) I found the new PV > >>>> drivers and this mailing list, found the thread about vchan > >>>> implementation... and that's pretty much it for now. > >>>> > >>>> As I said, I don't have much experience in Xen APIs (didn't > >>>> need to tinker with them directly before). I do, however, > >>>> have extensive WinAPI knowledge and moderate amount of > >>>> Windows driver development experience (part of our guest > >>>> tools is a custom display driver that allows no-copy video > >>>> memory sharing with dom0). I managed to build the new drivers > >>>> and will test them on our dev Qubes build soon. > >>>> > >>>> So, to summarize, I'm very interested in developing a > >>>> Windows vchan implementation on top of the new PV drivers. > >>>> I'll be reading through the driver sources for a bit still to > >>>> familiarize myself with the environment. If anyone managed to > >>>> get something working, or just has ideas, let me know. > >>>> > >>>> > >>>>> If you want to look at adding the necessary code to the > >>>>> XENBUS_GNTTAB interface to do grant map/copy then I don't > >>>>> imagine it will be too hard. Adding support for copy would > >>>>> be easiest but it would also be possible to grant map pages > >>>>> into the platform PCI device's BAR (which is where the > >>>>> shared info page and the grant table itself live). > >>>> > >>>>> Let me know if have any specific questions or need some > >>>>> help getting the drivers going in your environment. > >>>> > > I've tested the drivers on a Win7 pro x64 HVM on Qubes r2 (r3 is > > still a bit unstable). Xenbus and xeniface both install fine. > > Xenvbd installs OK but the OS BSODs on reboot with code 7B > > (inaccessible boot device). I'll try to pinpoint the exact failure > > spot once I setup the pvdrivers sources inside my development VM. > > > > > >> 0x7B can occur in many circumstances. The drivers do log quite a > >> bit of info, particularly in checked builds, so there'll probably > >> be something there to indicate the exact nature of the failure. > >> The main informational logging (which is the same for free or > >> checked builds) is written to the qemu logging port (0x12) and > >> debug logging (checked build only) goes to the Xen port (0xE9). > >> If you watch wherever you have those redirected then you may be > >> able to spot the problem. If you can't then post them to the list > >> and I'll take a look. > > > > Do the drivers have specific requirements for backend (Xen/Qemu > > version)? We're not really using Qemu in dom0, only in minimal > > stubdoms for HVMs, so that may be a problem. > > > > > >> That's not usually a problem. Do you have PV backends for disk > >> and net set up though? The fact that you got a 0x7B after > >> installing xenvbd may simply mean that your toolstack has just > >> not set up a PV backend. > We do have backends set up (xen-blkback for vbd). I'll check in dom0 > whether it crashes after the device gets attached or before. > Ok. I must admit that I tend to use qdisk as a backend in most of my testing, but blkback should be fine. I'll sanity check it myself when I get time though. > Also adding Marek to the conversation, he's one of our core architects > and knows more about backend stuff than I do :) > Cool. Paul > > > >> Paul > > - -- > RafaÅ WojdyÅa > Qubes Tools for Windows developer > -----BEGIN PGP SIGNATURE----- > > iQEcBAEBAgAGBQJVAceJAAoJEIWi9rB2GrW7Bt0H/1QvgQI+JcMhxHMi4DU1v > 4E8 > m6fqB1NxD8bx2sAlMq2NdMjiuCAKrOLqIRppD0X/hg23v4noK++N2zWi6g4Ey > W2W > YD5DMpeaFc353cvNNNLZbadEu8rZlchpJYkCWmqYE6oTktO0t4UcYrXKwgwOy > vEj > BWCSj/mBmJ7KXdT+NLt0yy6vjUUtU7A9Jft6DQA9Ro0BEZqcszcPz3A5lvkfIVsX > bJNVUro66NIhwj1wsYFGbuKMwZlIe1K7YxE05+CFkwNIDHFIApyYjPQVAYHEF > 5b9 > KC+z2g5qNsb8/IPFm+ehIXecWxV0+TMGZ+ij7pdfXWxpowTpWMpDadcHsrPy > kCA= > =/706 > -----END PGP SIGNATURE----- > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |