On 21.10.2010, at 19:36, Anthony.Perard@xxxxxxxxxx wrote:
> From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
>
> Add the Xen FV (Fully Virtualized) machine to Qemu;
> this is groundwork to add Xen device model support in Qemu.
>
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> ---
> Makefile.target | 3 +
> hw/xen_common.h | 5 ++
> hw/xen_machine_fv.c | 158 +++++++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 166 insertions(+), 0 deletions(-)
> create mode 100644 hw/xen_machine_fv.c
>
> diff --git a/Makefile.target b/Makefile.target
> index c48cbcc..ddabc8a 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -185,6 +185,9 @@ QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
> # xen backend driver support
> obj-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o
>
> +# xen full virtualized machine
> +obj-i386-$(CONFIG_XEN) += xen_machine_fv.o
> +
> # USB layer
> obj-$(CONFIG_USB_OHCI) += usb-ohci.o
>
> diff --git a/hw/xen_common.h b/hw/xen_common.h
> index 9f75e52..4c0f97d 100644
> --- a/hw/xen_common.h
> +++ b/hw/xen_common.h
> @@ -18,6 +18,11 @@
> * We don't support Xen prior to 3.3.0.
> */
>
> +/* Before Xen 4.0.0 */
> +#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 400
> +# define HVM_MAX_VCPUS 32
> +#endif
> +
> /* Xen unstable */
> #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 410
> typedef int qemu_xc_interface;
> diff --git a/hw/xen_machine_fv.c b/hw/xen_machine_fv.c
> new file mode 100644
> index 0000000..260cda3
> --- /dev/null
> +++ b/hw/xen_machine_fv.c
> @@ -0,0 +1,158 @@
> +/*
> + * QEMU Xen FV Machine
> + *
> + * Copyright (c) 2003-2007 Fabrice Bellard
> + * Copyright (c) 2007 Red Hat
Shouldn't there be Citrix in there?
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> copy
> + * of this software and associated documentation files (the "Software"), to
> deal
> + * in the Software without restriction, including without limitation the
> rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be included in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
> + * THE SOFTWARE.
So all this code has always been public domain? There are no GPL'ed pieces in
there?
The rest of the code looks pretty much like a duplicate of pc.c. I'm not saying
this is bad, but it'll be a lot of work to keep things in sync when others
start changing pc.c.
So long-term we should get rid of the duplication. Hopefully by having a
working machine description framework that doesn't require C skills :). It's
way out of the scope of this patch set though.
Alex
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|