Mailing List Archive

[For community review] Windows PV Drivers Incubation Sub-project Proposal
Hi all,

please find attached a link to a new subproject to proposal to host and
develop the Windows PV drivers. The proposal is at
http://wiki.xenproject.org/wiki/Windows_PV_Drivers_Incubation_Project_Proposal
(but I also attached the text below).

Anyone can comment on the proposal. The review period will be open until
June 6th. I will then incorporate any comments and go for a formal vote.

Best Regards
Lars

== Windows PV Drivers Project Proposal ==
=== Roles ===
* Project Lead: Paul Durrant - Paul is Windows subsystem architect for
XenServer and has authored the majority of the driver code.
* Project Sponsor: Matt Wilson - Matt is Xen Project AB member
representing Amazon
* Project Mentor: Lars Kurth - Lars is the Community Manager for the Xen
Project and has agreed to act as the project’s Mentor.

=== Background ===
ParaVirtualization aware (PV) device drivers are an important part of
HVM guests running under Xen. Citrix has provided a set of PV driver
for Windows since the inception of XenServer. These drivers have evolved
over the years and recently the full set has been made open
source with a BSD license and are therefore available to the community
to modify and build.
I gave a talk at the 2013 Xen Developer Summit in Edinburgh (see
http://www.slideshare.net/xen_com_mgr/open-source-pv-drivers) to
introduce the drivers. This proposal is intended to be a logical next
step to that initial offering to the community.

=== Relevance to Xen and its Community ===
The drivers have a dependency on Xen as they are ParaVirtualization
aware. They are not tied in any way to Citrix commercial Xen offerings;
they are designed to function on any build of Xen since 3.4. They
encompass high performance network and storage frontends and enable
functionality such as memory ballooning, and clean shutdown or reboot
via the xl toolstack. They are well tested and supported, since they
are crucial to Citrix products, and are of benefit to anyone wishing to
run Windows (i386 or x86_64) as a guest under Xen.

=== Current Status ===
Recent builds of the drivers are currently being tested by Citrix and
Amazon using the Microsoft HCK and Citrix will be providing logo-signed
builds of the drivers in future commercial Xen offerings. Amazon are
evaluating the drivers and may ship them in future AMIs.
Citrix may also provide logo-signed drivers via Microsoft's Windows
Update mechanism, making them widely available to anyone running
Windows under Xen (not just XenServer) without the need for them to
build the drivers themselves. Any other organization is also free to do
the same by registering a top level PV device with the Xen community
(see http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/pci-d
evice-reservations.txt) and logo-signing their driver builds.

=== Incubation ===
The aim of making the Windows PV Drivers an incubated project is to
raise their profile to members of the Xen community other than Citrix
and Amazon and hopefully gain more developer interest and contribution.
The driver set provide APIs to fundamental Xen subsystems such
as grant tables, event channels and xenstore and therefore provide a
basis for further frontends, e.g. HID (keyboard and mouse), PV audio
and possibly framebuffer. Current maintainers of the driver repositories
are all employed by Citrix but by becoming an incubated project we
hope gain maintainers from the community as we build interest.

We hope we can work with the maintainers of the GPLPV Windows Drivers to
standardize Windows PV drivers for the Xen project.

=== Required Infrastructure ===
==== Repositories ====
As a Xen Project sub-project we would wish the driver repositories to be
hosted on xenbits, but mirrored to GitHub to allow use of the the
GitHub workflow. It makes sense to maintain a separate repository for
each driver as:

Each driver is separately installable with no compile-time linkage to
any other driver. Some headers may be imported from one
repository to another to facilitate run-time discovery of interfaces
provided by one driver and consumed by another, but it is desirable
that this is an explicit step to move from one version of an interface
to another.

A continuous integration server project can be created for each
repository such that the only a modified driver is re-built, rather than
the entire set.

The set of drivers (and hence repositories) is currently:
* XENBUS: Bus driver binding to the top-level PCI device (and providing
most of the interfaces to Xen)
* XENVIF: Network class driver (hosting the code necessary to drive the
netif ring protocol)
* XENNET: Network device driver (client of the class driver, provides
VIFs to Windows network stack)
* XENVBD: Storage class driver (hosting the code necessary to drive the
blkif ring protocol)
* XENIFACE: Interface driver (providing user-space access to xenstore)

==== Build and Test ====
We request build infrastructure to make new builds of driver
repositories immediately available for use by community members. This
includes:

A build machine (physical or virtual), possibly part of the Xen Project
test framework, running Jenkins or some such continuous
integration server to monitor the repositories

A license for Microsoft Visual Studio (~ $1000)
Storage, either on the build machine or elsewhere, to act as a public
facing symbol server for the convenience of developers

===== Approval Status =====
The Advisory Board agreed to fund a Visual Studio license and two
vendors in the community offered VM's to host the build environment.




_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
Re: [Xen-devel] [For community review] Windows PV Drivers Incubation Sub-project Proposal [ In reply to ]
Il 28/05/2014 14:42, Lars Kurth ha scritto:
> Hi all,
>
> please find attached a link to a new subproject to proposal to host
> and develop the Windows PV drivers. The proposal is at
> http://wiki.xenproject.org/wiki/Windows_PV_Drivers_Incubation_Project_Proposal
> (but I also attached the text below).
>
> Anyone can comment on the proposal. The review period will be open
> until June 6th. I will then incorporate any comments and go for a
> formal vote.
>
> Best Regards
> Lars

Thanks, this seems a good project.
Unfortunately I do not have ms visual studio needed to buildit.
Let me know as soon as thepublic test build will be available and I'll
helpto testit.

Thanks for any reply and sorry for my bad english.

>
> == Windows PV Drivers Project Proposal ==
> === Roles ===
> * Project Lead: Paul Durrant - Paul is Windows subsystem architect for
> XenServer and has authored the majority of the driver code.
> * Project Sponsor: Matt Wilson - Matt is Xen Project AB member
> representing Amazon
> * Project Mentor: Lars Kurth - Lars is the Community Manager for the
> Xen Project and has agreed to act as the project’s Mentor.
>
> === Background ===
> ParaVirtualization aware (PV) device drivers are an important part of
> HVM guests running under Xen. Citrix has provided a set of PV driver
> for Windows since the inception of XenServer. These drivers have
> evolved over the years and recently the full set has been made open
> source with a BSD license and are therefore available to the community
> to modify and build.
> I gave a talk at the 2013 Xen Developer Summit in Edinburgh (see
> http://www.slideshare.net/xen_com_mgr/open-source-pv-drivers) to
> introduce the drivers. This proposal is intended to be a logical next
> step to that initial offering to the community.
>
> === Relevance to Xen and its Community ===
> The drivers have a dependency on Xen as they are ParaVirtualization
> aware. They are not tied in any way to Citrix commercial Xen offerings;
> they are designed to function on any build of Xen since 3.4. They
> encompass high performance network and storage frontends and enable
> functionality such as memory ballooning, and clean shutdown or reboot
> via the xl toolstack. They are well tested and supported, since they
> are crucial to Citrix products, and are of benefit to anyone wishing
> to run Windows (i386 or x86_64) as a guest under Xen.
>
> === Current Status ===
> Recent builds of the drivers are currently being tested by Citrix and
> Amazon using the Microsoft HCK and Citrix will be providing
> logo-signed builds of the drivers in future commercial Xen offerings.
> Amazon are evaluating the drivers and may ship them in future AMIs.
> Citrix may also provide logo-signed drivers via Microsoft's Windows
> Update mechanism, making them widely available to anyone running
> Windows under Xen (not just XenServer) without the need for them to
> build the drivers themselves. Any other organization is also free to do
> the same by registering a top level PV device with the Xen community
> (see http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/pci-d
> evice-reservations.txt) and logo-signing their driver builds.
>
> === Incubation ===
> The aim of making the Windows PV Drivers an incubated project is to
> raise their profile to members of the Xen community other than Citrix
> and Amazon and hopefully gain more developer interest and
> contribution. The driver set provide APIs to fundamental Xen
> subsystems such
> as grant tables, event channels and xenstore and therefore provide a
> basis for further frontends, e.g. HID (keyboard and mouse), PV audio
> and possibly framebuffer. Current maintainers of the driver
> repositories are all employed by Citrix but by becoming an incubated
> project we
> hope gain maintainers from the community as we build interest.
>
> We hope we can work with the maintainers of the GPLPV Windows Drivers
> to standardize Windows PV drivers for the Xen project.
>
> === Required Infrastructure ===
> ==== Repositories ====
> As a Xen Project sub-project we would wish the driver repositories to
> be hosted on xenbits, but mirrored to GitHub to allow use of the the
> GitHub workflow. It makes sense to maintain a separate repository for
> each driver as:
>
> Each driver is separately installable with no compile-time linkage to
> any other driver. Some headers may be imported from one
> repository to another to facilitate run-time discovery of interfaces
> provided by one driver and consumed by another, but it is desirable
> that this is an explicit step to move from one version of an interface
> to another.
>
> A continuous integration server project can be created for each
> repository such that the only a modified driver is re-built, rather than
> the entire set.
>
> The set of drivers (and hence repositories) is currently:
> * XENBUS: Bus driver binding to the top-level PCI device (and
> providing most of the interfaces to Xen)
> * XENVIF: Network class driver (hosting the code necessary to drive
> the netif ring protocol)
> * XENNET: Network device driver (client of the class driver, provides
> VIFs to Windows network stack)
> * XENVBD: Storage class driver (hosting the code necessary to drive
> the blkif ring protocol)
> * XENIFACE: Interface driver (providing user-space access to xenstore)
>
> ==== Build and Test ====
> We request build infrastructure to make new builds of driver
> repositories immediately available for use by community members. This
> includes:
>
> A build machine (physical or virtual), possibly part of the Xen
> Project test framework, running Jenkins or some such continuous
> integration server to monitor the repositories
>
> A license for Microsoft Visual Studio (~ $1000)
> Storage, either on the build machine or elsewhere, to act as a public
> facing symbol server for the convenience of developers
>
> ===== Approval Status =====
> The Advisory Board agreed to fund a Visual Studio license and two
> vendors in the community offered VM's to host the build environment.
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
Re: [Xen-devel] [For community review] Windows PV Drivers Incubation Sub-project Proposal [ In reply to ]
On 2014/5/28 8:42, Lars Kurth wrote:
>
> === Current Status ===
> Recent builds of the drivers are currently being tested by Citrix and
> Amazon using the Microsoft HCK and Citrix will be providing
> logo-signed builds of the drivers in future commercial Xen offerings.
> Amazon are evaluating the drivers and may ship them in future AMIs.
> Citrix may also provide logo-signed drivers via Microsoft's Windows
> Update mechanism, making them widely available to anyone running
> Windows under Xen (not just XenServer) without the need for them to
> build the drivers themselves. Any other organization is also free to do
> the same by registering a top level PV device with the Xen community
> (see http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/pci-d
> evice-reservations.txt) and logo-signing their driver builds.

This is great idea!

>
> === Incubation ===
> The aim of making the Windows PV Drivers an incubated project is to
> raise their profile to members of the Xen community other than Citrix
> and Amazon and hopefully gain more developer interest and
> contribution. The driver set provide APIs to fundamental Xen
> subsystems such
> as grant tables, event channels and xenstore and therefore provide a
> basis for further frontends, e.g. HID (keyboard and mouse), PV audio
> and possibly framebuffer. Current maintainers of the driver
> repositories are all employed by Citrix but by becoming an incubated
> project we
> hope gain maintainers from the community as we build interest.

I also like the idea of pvaudio, windows is desktop, and user would like
this.

Thanks
Annie

_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
Re: [For community review] Windows PV Drivers Incubation Sub-project Proposal [ In reply to ]
Seems nobody had any significant comments
Will set up a formal vote next week
Lars

On 28/05/2014 13:42, Lars Kurth wrote:
> Hi all,
>
> please find attached a link to a new subproject to proposal to host
> and develop the Windows PV drivers. The proposal is at
> http://wiki.xenproject.org/wiki/Windows_PV_Drivers_Incubation_Project_Proposal
> (but I also attached the text below).
>
> Anyone can comment on the proposal. The review period will be open
> until June 6th. I will then incorporate any comments and go for a
> formal vote.
>
> Best Regards
> Lars
>
> == Windows PV Drivers Project Proposal ==
> === Roles ===
> * Project Lead: Paul Durrant - Paul is Windows subsystem architect for
> XenServer and has authored the majority of the driver code.
> * Project Sponsor: Matt Wilson - Matt is Xen Project AB member
> representing Amazon
> * Project Mentor: Lars Kurth - Lars is the Community Manager for the
> Xen Project and has agreed to act as the project’s Mentor.
>
> === Background ===
> ParaVirtualization aware (PV) device drivers are an important part of
> HVM guests running under Xen. Citrix has provided a set of PV driver
> for Windows since the inception of XenServer. These drivers have
> evolved over the years and recently the full set has been made open
> source with a BSD license and are therefore available to the community
> to modify and build.
> I gave a talk at the 2013 Xen Developer Summit in Edinburgh (see
> http://www.slideshare.net/xen_com_mgr/open-source-pv-drivers) to
> introduce the drivers. This proposal is intended to be a logical next
> step to that initial offering to the community.
>
> === Relevance to Xen and its Community ===
> The drivers have a dependency on Xen as they are ParaVirtualization
> aware. They are not tied in any way to Citrix commercial Xen offerings;
> they are designed to function on any build of Xen since 3.4. They
> encompass high performance network and storage frontends and enable
> functionality such as memory ballooning, and clean shutdown or reboot
> via the xl toolstack. They are well tested and supported, since they
> are crucial to Citrix products, and are of benefit to anyone wishing
> to run Windows (i386 or x86_64) as a guest under Xen.
>
> === Current Status ===
> Recent builds of the drivers are currently being tested by Citrix and
> Amazon using the Microsoft HCK and Citrix will be providing
> logo-signed builds of the drivers in future commercial Xen offerings.
> Amazon are evaluating the drivers and may ship them in future AMIs.
> Citrix may also provide logo-signed drivers via Microsoft's Windows
> Update mechanism, making them widely available to anyone running
> Windows under Xen (not just XenServer) without the need for them to
> build the drivers themselves. Any other organization is also free to do
> the same by registering a top level PV device with the Xen community
> (see http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/pci-d
> evice-reservations.txt) and logo-signing their driver builds.
>
> === Incubation ===
> The aim of making the Windows PV Drivers an incubated project is to
> raise their profile to members of the Xen community other than Citrix
> and Amazon and hopefully gain more developer interest and
> contribution. The driver set provide APIs to fundamental Xen
> subsystems such
> as grant tables, event channels and xenstore and therefore provide a
> basis for further frontends, e.g. HID (keyboard and mouse), PV audio
> and possibly framebuffer. Current maintainers of the driver
> repositories are all employed by Citrix but by becoming an incubated
> project we
> hope gain maintainers from the community as we build interest.
>
> We hope we can work with the maintainers of the GPLPV Windows Drivers
> to standardize Windows PV drivers for the Xen project.
>
> === Required Infrastructure ===
> ==== Repositories ====
> As a Xen Project sub-project we would wish the driver repositories to
> be hosted on xenbits, but mirrored to GitHub to allow use of the the
> GitHub workflow. It makes sense to maintain a separate repository for
> each driver as:
>
> Each driver is separately installable with no compile-time linkage to
> any other driver. Some headers may be imported from one
> repository to another to facilitate run-time discovery of interfaces
> provided by one driver and consumed by another, but it is desirable
> that this is an explicit step to move from one version of an interface
> to another.
>
> A continuous integration server project can be created for each
> repository such that the only a modified driver is re-built, rather than
> the entire set.
>
> The set of drivers (and hence repositories) is currently:
> * XENBUS: Bus driver binding to the top-level PCI device (and
> providing most of the interfaces to Xen)
> * XENVIF: Network class driver (hosting the code necessary to drive
> the netif ring protocol)
> * XENNET: Network device driver (client of the class driver, provides
> VIFs to Windows network stack)
> * XENVBD: Storage class driver (hosting the code necessary to drive
> the blkif ring protocol)
> * XENIFACE: Interface driver (providing user-space access to xenstore)
>
> ==== Build and Test ====
> We request build infrastructure to make new builds of driver
> repositories immediately available for use by community members. This
> includes:
>
> A build machine (physical or virtual), possibly part of the Xen
> Project test framework, running Jenkins or some such continuous
> integration server to monitor the repositories
>
> A license for Microsoft Visual Studio (~ $1000)
> Storage, either on the build machine or elsewhere, to act as a public
> facing symbol server for the convenience of developers
>
> ===== Approval Status =====
> The Advisory Board agreed to fund a Visual Studio license and two
> vendors in the community offered VM's to host the build environment.
>
>
>


_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api