[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 06/10] arm: compile libxenguest
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote: > Introduce an empty implementation of the arch specific ARM functions in > xc_dom_arm.c. This bit: Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > Also provide empty implementations of xc_domain_save, xc_domain_restore > and xc_hvm_build_target_mem when CONFIG_HVM or CONFIG_MIGRATE are not > set. Less sure about this bit. Is the content of xc_hvm_build x86 specific? ia64 seems to have it's own version in tools/libxc/ia64/xc_ia64_hvm_build.c. (I guess ia64 does not define CONFG_HVM, despite apparently supporting HVM? Otherwise I don't see how the tools/libxc/Makefile stuff could work) Perhaps xc_hvm_build should go to xc_x86_hvm_build.c and xc_x86_arm_build.c should have stubs? Also xc_hvm_build.c has public functions other than the one you have stubbed out in it. Should stub them too? The migrate case seems more like a temporary band-aid since we will eventually want to support that on ARM -- I guess there's no quick hack to make it compile since we'd need to define all sorts of things we aren't ready to define yet? > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > --- > tools/libxc/Makefile | 15 ++++++++++-- > tools/libxc/xc_dom_arm.c | 49 > ++++++++++++++++++++++++++++++++++++++++++++ > tools/libxc/xc_nohvm.c | 31 +++++++++++++++++++++++++++ > tools/libxc/xc_nomigrate.c | 40 +++++++++++++++++++++++++++++++++++ > 4 files changed, 132 insertions(+), 3 deletions(-) > create mode 100644 tools/libxc/xc_dom_arm.c > create mode 100644 tools/libxc/xc_nohvm.c > create mode 100644 tools/libxc/xc_nomigrate.c > > diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile > index f2e1ba7..57ceee6 100644 > --- a/tools/libxc/Makefile > +++ b/tools/libxc/Makefile > @@ -42,9 +42,17 @@ CTRL_SRCS-$(CONFIG_MiniOS) += xc_minios.c > > GUEST_SRCS-y := > GUEST_SRCS-y += xg_private.c xc_suspend.c > -GUEST_SRCS-$(CONFIG_MIGRATE) += xc_domain_restore.c xc_domain_save.c > -GUEST_SRCS-$(CONFIG_MIGRATE) += xc_offline_page.c xc_compression.c > -GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c > +ifeq ($(CONFIG_MIGRATE),y) > +GUEST_SRCS-y += xc_domain_restore.c xc_domain_save.c > +GUEST_SRCS-y += xc_offline_page.c xc_compression.c > +else > +GUEST_SRCS-y += xc_nomigrate.c > +endif > +ifeq ($(CONFIG_HVM),y) > +GUEST_SRCS-y += xc_hvm_build.c > +else > +GUEST_SRCS-y += xc_nohvm.c > +endif > > vpath %.c ../../xen/common/libelf > CFLAGS += -I../../xen/common/libelf > @@ -62,6 +70,7 @@ GUEST_SRCS-y += xc_dom_compat_linux.c > GUEST_SRCS-$(CONFIG_X86) += xc_dom_x86.c > GUEST_SRCS-$(CONFIG_X86) += xc_cpuid_x86.c > GUEST_SRCS-$(CONFIG_IA64) += xc_dom_ia64.c > +GUEST_SRCS-$(CONFIG_ARM) += xc_dom_arm.c > > OSDEP_SRCS-y += xenctrl_osdep_ENOSYS.c > > diff --git a/tools/libxc/xc_dom_arm.c b/tools/libxc/xc_dom_arm.c > new file mode 100644 > index 0000000..bdd28e1 > --- /dev/null > +++ b/tools/libxc/xc_dom_arm.c > @@ -0,0 +1,49 @@ > +/* > + * Xen domain builder -- ARM > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; > + * version 2.1 of the License. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > + * > + * Copyright (c) 2011, Citrix Systems > + */ > +#include <inttypes.h> > +#include <xen/xen.h> > +#include "xg_private.h" > +#include "xc_dom.h" > + > +int arch_setup_meminit(struct xc_dom_image *dom) > +{ > + return -ENOSYS; > +} > + > +int arch_setup_bootearly(struct xc_dom_image *dom) > +{ > + DOMPRINTF("%s: doing nothing", __FUNCTION__); > + return 0; > +} > + > +int arch_setup_bootlate(struct xc_dom_image *dom) > +{ > + DOMPRINTF("%s: doing nothing", __FUNCTION__); > + return 0; > +} > +/* > + * Local variables: > + * mode: C > + * c-set-style: "BSD" > + * c-basic-offset: 4 > + * tab-width: 4 > + * indent-tabs-mode: nil > + * End: > + */ > diff --git a/tools/libxc/xc_nohvm.c b/tools/libxc/xc_nohvm.c > new file mode 100644 > index 0000000..a899f7c > --- /dev/null > +++ b/tools/libxc/xc_nohvm.c > @@ -0,0 +1,31 @@ > +/****************************************************************************** > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; > + * version 2.1 of the License. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > + * > + * Copyright (c) 2011, Citrix Systems > + */ > + > +#include <inttypes.h> > +#include <errno.h> > +#include <xenctrl.h> > +#include <xenguest.h> > + > +int xc_hvm_build_target_mem(xc_interface *xch, > + uint32_t domid, > + int memsize, > + int target, > + const char *image_name) > +{ > + return -ENOSYS; > +} > diff --git a/tools/libxc/xc_nomigrate.c b/tools/libxc/xc_nomigrate.c > new file mode 100644 > index 0000000..63090e0 > --- /dev/null > +++ b/tools/libxc/xc_nomigrate.c > @@ -0,0 +1,40 @@ > +/****************************************************************************** > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; > + * version 2.1 of the License. > + * > + * This library is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + * Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public > + * License along with this library; if not, write to the Free Software > + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 > USA > + * > + * Copyright (c) 2011, Citrix Systems > + */ > + > +#include <inttypes.h> > +#include <errno.h> > +#include <xenctrl.h> > +#include <xenguest.h> > + > +int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t > max_iters, > + uint32_t max_factor, uint32_t flags, > + struct save_callbacks* callbacks, int hvm, > + unsigned long vm_generationid_addr) > +{ > + return -ENOSYS; > +} > + > +int xc_domain_restore(xc_interface *xch, int io_fd, uint32_t dom, > + unsigned int store_evtchn, unsigned long *store_mfn, > + unsigned int console_evtchn, unsigned long > *console_mfn, > + unsigned int hvm, unsigned int pae, int superpages, > + int no_incr_generationid, > + unsigned long *vm_generationid_addr) > +{ > + return -ENOSYS; > +} _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |