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

Dustin Xiong x_k_123 at hotmail.com
Thu Jan 14 01:33:39 UTC 2010



 

> From: crobinso at redhat.com
> To: libvirt-list at redhat.com
> CC: x_k_123 at hotmail.com; crobinso at redhat.com
> Subject: [PATCH] qemu: Check for ia64 kvm
> Date: Wed, 13 Jan 2010 15:50:06 -0500
> 
> From: Dustin Xiong <x_k_123 at hotmail.com>
> 
> Ported to current code. Untested, but builds fine.
> 
> Signed-off-by: Cole Robinson <crobinso at redhat.com>
> ---
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20100114/4b482e79/attachment-0001.htm>


More information about the libvir-list mailing list