[libvirt] [PATCH] qemu: Check for ia64 kvm

2010-01-13 Thread Cole Robinson
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

2010-01-13 Thread Dustin Xiong


 

> 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

2010-01-14 Thread Daniel P. Berrange
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

2010-01-14 Thread Daniel P. Berrange
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