[libvirt] [PATCH] qemu: Check for ia64 kvm
From: Dustin Xiong Ported to current code. Untested, but builds fine. Signed-off-by: Cole Robinson --- src/qemu/qemu_conf.c |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index d3da776..0d970d6 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -373,12 +373,19 @@ static const struct qemu_feature_flags const arch_info_x86_64_flags [] = { { "apic", 1, 0 }, }; +static const struct qemu_feature_flags const arch_info_ia64_flags [] = { +{ "acpi", 1, 1 }, +{ "apic", 1, 0 }, +}; + /* The archicture tables for supported QEMU archs */ static const struct qemu_arch_info const arch_info_hvm[] = { { "i686", 32, NULL, "/usr/bin/qemu", "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, { "x86_64", 64, NULL, "/usr/bin/qemu-system-x86_64", NULL, arch_info_x86_64_flags, 2 }, +{ "itanium", 64, NULL, "/usr/bin/qemu-system-ia64", + NULL, arch_info_ia64_flags, 2}, { "arm",32, NULL, "/usr/bin/qemu-system-arm",NULL, NULL, 0 }, { "mips", 32, NULL, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, { "mipsel", 32, NULL, "/usr/bin/qemu-system-mipsel", NULL, NULL, 0 }, -- 1.6.5.2 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Check for ia64 kvm
> From: crobi...@redhat.com > To: libvirt-l...@redhat.com > CC: x_k_...@hotmail.com; crobi...@redhat.com > Subject: [PATCH] qemu: Check for ia64 kvm > Date: Wed, 13 Jan 2010 15:50:06 -0500 > > From: Dustin Xiong > > Ported to current code. Untested, but builds fine. > > Signed-off-by: Cole Robinson > --- > src/qemu/qemu_conf.c | 7 +++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index d3da776..0d970d6 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -373,12 +373,19 @@ static const struct qemu_feature_flags const > arch_info_x86_64_flags [] = { > { "apic", 1, 0 }, > }; > > +static const struct qemu_feature_flags const arch_info_ia64_flags [] = { > + { "acpi", 1, 1 }, > + { "apic", 1, 0 }, > +}; > + > /* The archicture tables for supported QEMU archs */ > static const struct qemu_arch_info const arch_info_hvm[] = { > { "i686", 32, NULL, "/usr/bin/qemu", > "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, > { "x86_64", 64, NULL, "/usr/bin/qemu-system-x86_64", > NULL, arch_info_x86_64_flags, 2 }, > + { "itanium", 64, NULL, "/usr/bin/qemu-system-ia64", > + NULL, arch_info_ia64_flags, 2}, > { "arm", 32, NULL, "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, > { "mips", 32, NULL, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, > { "mipsel", 32, NULL, "/usr/bin/qemu-system-mipsel", NULL, NULL, 0 }, > -- > 1.6.5.2 > There another problem when you make the libvirt src on the arch of itanium, you need modify the function clone(). On IA-64, a different system call is used: int __clone2(int (*fn)(void *), void *child_stack_base, size_t stack_size, int flags, void *arg, ... /* pid_t *pid, struct user_desc *tls, pid_t *ctid */ ); The __clone2() system call operates in the same way as clone(), except that child_stack_base points to the lowest address of the child's stack area, and stack_size specifies the size of the stack pointed to by child_stack_base. The function clone() is used in /src/lxc_container.c. -Dustin. _ Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you. http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Check for ia64 kvm
On Wed, Jan 13, 2010 at 03:50:06PM -0500, Cole Robinson wrote: > From: Dustin Xiong > > Ported to current code. Untested, but builds fine. > > Signed-off-by: Cole Robinson > --- > src/qemu/qemu_conf.c |7 +++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > index d3da776..0d970d6 100644 > --- a/src/qemu/qemu_conf.c > +++ b/src/qemu/qemu_conf.c > @@ -373,12 +373,19 @@ static const struct qemu_feature_flags const > arch_info_x86_64_flags [] = { > { "apic", 1, 0 }, > }; > > +static const struct qemu_feature_flags const arch_info_ia64_flags [] = { > +{ "acpi", 1, 1 }, > +{ "apic", 1, 0 }, > +}; Hmmm, I'm not sure that those flags make sense on ia64 do they ? Perhaps someone more knowledgable can confirm, but I thought they were x86 concepts > + > /* The archicture tables for supported QEMU archs */ > static const struct qemu_arch_info const arch_info_hvm[] = { > { "i686", 32, NULL, "/usr/bin/qemu", > "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, > { "x86_64", 64, NULL, "/usr/bin/qemu-system-x86_64", > NULL, arch_info_x86_64_flags, 2 }, > +{ "itanium", 64, NULL, "/usr/bin/qemu-system-ia64", > + NULL, arch_info_ia64_flags, 2}, > { "arm",32, NULL, "/usr/bin/qemu-system-arm",NULL, NULL, 0 }, > { "mips", 32, NULL, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, > { "mipsel", 32, NULL, "/usr/bin/qemu-system-mipsel", NULL, NULL, 0 }, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Check for ia64 kvm
On Thu, Jan 14, 2010 at 09:33:39AM +0800, Dustin Xiong wrote: > > > > > > From: crobi...@redhat.com > > To: libvirt-l...@redhat.com > > CC: x_k_...@hotmail.com; crobi...@redhat.com > > Subject: [PATCH] qemu: Check for ia64 kvm > > Date: Wed, 13 Jan 2010 15:50:06 -0500 > > > > From: Dustin Xiong > > > > Ported to current code. Untested, but builds fine. > > > > Signed-off-by: Cole Robinson > > --- > > src/qemu/qemu_conf.c | 7 +++ > > 1 files changed, 7 insertions(+), 0 deletions(-) > > > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > > index d3da776..0d970d6 100644 > > --- a/src/qemu/qemu_conf.c > > +++ b/src/qemu/qemu_conf.c > > @@ -373,12 +373,19 @@ static const struct qemu_feature_flags const > > arch_info_x86_64_flags [] = { > > { "apic", 1, 0 }, > > }; > > > > +static const struct qemu_feature_flags const arch_info_ia64_flags [] = { > > + { "acpi", 1, 1 }, > > + { "apic", 1, 0 }, > > +}; > > + > > /* The archicture tables for supported QEMU archs */ > > static const struct qemu_arch_info const arch_info_hvm[] = { > > { "i686", 32, NULL, "/usr/bin/qemu", > > "/usr/bin/qemu-system-x86_64", arch_info_i686_flags, 4 }, > > { "x86_64", 64, NULL, "/usr/bin/qemu-system-x86_64", > > NULL, arch_info_x86_64_flags, 2 }, > > + { "itanium", 64, NULL, "/usr/bin/qemu-system-ia64", > > + NULL, arch_info_ia64_flags, 2}, > > { "arm", 32, NULL, "/usr/bin/qemu-system-arm", NULL, NULL, 0 }, > > { "mips", 32, NULL, "/usr/bin/qemu-system-mips", NULL, NULL, 0 }, > > { "mipsel", 32, NULL, "/usr/bin/qemu-system-mipsel", NULL, NULL, 0 }, > > -- > > 1.6.5.2 > > > > > There another problem when you make the libvirt src on the arch of itanium, > you need modify the function clone(). > >On IA-64, a different system call is used: > >int __clone2(int (*fn)(void *), void *child_stack_base, > size_t stack_size, int flags, void *arg, ... > /* pid_t *pid, struct user_desc *tls, pid_t *ctid */ ); > >The __clone2() system call operates in the same way as clone(), except >that child_stack_base points to the lowest address of the child's stack >area, and stack_size specifies the size of the stack pointed to by >child_stack_base. > > > The function clone() is used in /src/lxc_container.c. Thanks for the info. FYI, you can work around it with --without-lxc to disable build of the LXC driver Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list