[Libvir] libvirt not compatible with Xen-unstable hypercall API ?

While trying to verify any potential problem between with libvirt & Xen PPC port. I've found that libvirt currently in CVS attempts to determine what hypercall version to follow, by looking at the hypervisior version. It determines that this is some arbitrary versioning "v2" of the hypercall api. This starts on line 1250 of xen_internal.c. This does not appear to be compatible with current Xen-Unstable from testing and trying to hack it up. Has any work been done toward making libvirt compatible with Xen-unstable that has not been included? Or is it waiting till the offical 3.0.5 release? We are attempting to ensure that Xen PPC works with libvirt. Though we have to use the latest hypercall api. Thanks, Jerone

On Mon, Mar 26, 2007 at 02:12:09PM -0500, Jerone Young wrote:
While trying to verify any potential problem between with libvirt & Xen PPC port. I've found that libvirt currently in CVS attempts to determine what hypercall version to follow, by looking at the hypervisior version. It determines that this is some arbitrary versioning "v2" of the hypercall api. This starts on line 1250 of xen_internal.c. This does not appear to be compatible with current Xen-Unstable from testing and trying to hack it up.
Yep, this is very likely broken because of the ABI changes for the 32-on-64 support done in xen-unstable a month or two back. Its on my list of things todo, but not got around to it yet because Fedora 7 development was still on 3.0.4 tree.
Has any work been done toward making libvirt compatible with Xen-unstable that has not been included? Or is it waiting till the offical 3.0.5 release?
No work has been started AFAIK - anyone is welcome to take a stab at adding support if they need it soon. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|

Hi, Jerone. Thank you for your info. It needs to fix, I will fix this issue. (I check up to xen-3.0.4 but for xen-3.0.5 is not yet. The structure changes from xen-3.0.4 to xen-3.0.5.) But I hope xen_internal.c should switch libxc. Any reason of libvirt stay on original code? Thanks Atsushi SAKAI Jerone Young <jyoung5@us.ibm.com> wrote:
While trying to verify any potential problem between with libvirt & Xen PPC port. I've found that libvirt currently in CVS attempts to determine what hypercall version to follow, by looking at the hypervisior version. It determines that this is some arbitrary versioning "v2" of the hypercall api. This starts on line 1250 of xen_internal.c. This does not appear to be compatible with current Xen-Unstable from testing and trying to hack it up.
Has any work been done toward making libvirt compatible with Xen-unstable that has not been included? Or is it waiting till the offical 3.0.5 release?
We are attempting to ensure that Xen PPC works with libvirt. Though we have to use the latest hypercall api.
Thanks, Jerone
-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list

On Tue, Mar 27, 2007 at 10:27:23AM +0900, Atsushi SAKAI wrote:
Hi, Jerone.
Thank you for your info. It needs to fix, I will fix this issue. (I check up to xen-3.0.4 but for xen-3.0.5 is not yet. The structure changes from xen-3.0.4 to xen-3.0.5.)
Yes as Dan Berrange pointed out that's something in our TODO list. It's a good idea to start working on a patch if you have time for this, but note that I won't apply it until 3.0.5 is officially released, in the past we have seen hypervisor call changes just before releases, so...
But I hope xen_internal.c should switch libxc. Any reason of libvirt stay on original code?
First libxc is GPL'ed and libvirt is LGPL'ed, if we relied on libxc that would affect any program using libvirt from a licencing point of view, making it far less attractive in my opinion. Second we aim at providing compatibility with any released version of the xen hypervisor, so when 3.0.5 is out we will need to adapt the code again and check the hypervisor_version (and subversion) and possibly add more switch cases to handle the new version. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

Hi, Daniel Thank you for your description. Now I understand libvirt policy and why code is complex. Anyway I will track on this. Thanks Atsushi SAKAI Daniel Veillard <veillard@redhat.com> wrote:
On Tue, Mar 27, 2007 at 10:27:23AM +0900, Atsushi SAKAI wrote:
Hi, Jerone.
Thank you for your info. It needs to fix, I will fix this issue. (I check up to xen-3.0.4 but for xen-3.0.5 is not yet. The structure changes from xen-3.0.4 to xen-3.0.5.)
Yes as Dan Berrange pointed out that's something in our TODO list. It's a good idea to start working on a patch if you have time for this, but note that I won't apply it until 3.0.5 is officially released, in the past we have seen hypervisor call changes just before releases, so...
But I hope xen_internal.c should switch libxc. Any reason of libvirt stay on original code?
First libxc is GPL'ed and libvirt is LGPL'ed, if we relied on libxc that would affect any program using libvirt from a licencing point of view, making it far less attractive in my opinion. Second we aim at providing compatibility with any released version of the xen hypervisor, so when 3.0.5 is out we will need to adapt the code again and check the hypervisor_version (and subversion) and possibly add more switch cases to handle the new version.

On Mon, Mar 26, 2007 at 02:12:09PM -0500, Jerone Young wrote:
While trying to verify any potential problem between with libvirt & Xen PPC port. I've found that libvirt currently in CVS attempts to determine what hypercall version to follow, by looking at the hypervisior version. [...] We are attempting to ensure that Xen PPC works with libvirt. Though we have to use the latest hypercall api.
Just wondering, did you test libvirt CVS against 3.0.4, or is Xen PPC support in 3.0.4 not good enough to try ? Basically I'm wondering if except the hypercall change there are other PPC related changes which need to be made. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@redhat.com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
participants (4)
-
Atsushi SAKAI
-
Daniel P. Berrange
-
Daniel Veillard
-
Jerone Young