* [PATCH v2 00/10] arm: compile tools
@ 2012-02-10 12:01 Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
` (10 more replies)
0 siblings, 11 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:01 UTC (permalink / raw)
To: xen-devel@lists.xensource.com
Cc: David Vrabel, Ian Campbell, Stefano Stabellini, Tim Deegan (3P)
Hi all,
this patch series allows tools/ to compile on ARM, mostly providing an
empty implementation for all the arch specific functions that are needed.
Changes in v2:
- rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
- dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
xen-unstable;
- define xen_callback_t as uint64_t;
- define guest_word_t as uint64_t.
Ian Campbell (4):
arm: add stub hvm/save.h
libxl: do not allocate e820 for non x86 guests.
blktap2/libvhd: Build shared objects using -fPIC.
tools: only compile libfsimage/xfs on X86
Stefano Stabellini (6):
arm: few missing #define
arm: compile libxc
arm: compile libxenguest
arm: compile libxl
arm: compile memshr
arm: compile xentrace
arm: compile xentrace
tools/blktap2/vhd/lib/Makefile | 13 +++-
tools/libfsimage/Makefile | 3 +-
tools/libxc/Makefile | 16 ++++-
tools/libxc/xc_core.h | 2 +
tools/libxc/xc_core_arm.c | 106 ++++++++++++++++++++++++++++++++
tools/libxc/xc_core_arm.h | 60 ++++++++++++++++++
tools/libxc/xc_dom_arm.c | 49 +++++++++++++++
tools/libxc/xc_nohvm.c | 31 +++++++++
tools/libxc/xc_nomigrate.c | 40 ++++++++++++
tools/libxc/xenctrl.h | 4 +
tools/libxl/Makefile | 1 +
tools/libxl/libxl_create.c | 3 +-
tools/libxl/libxl_json.c | 8 +++
tools/libxl/libxl_nocpuid.c | 2 +-
tools/libxl/libxl_pci.c | 2 +
tools/memshr/bidir-hash.c | 31 +++++++++
tools/xentrace/xenctx.c | 12 ++++
xen/include/public/arch-arm.h | 2 +
xen/include/public/arch-arm/hvm/save.h | 39 ++++++++++++
xen/include/public/hvm/save.h | 2 +
xen/include/public/io/protocols.h | 3 +
21 files changed, 419 insertions(+), 10 deletions(-)
A git tree based on a22587ae517170a7755d3a88611ae0e2d5bb555e, is available here:
git://xenbits.xen.org/people/sstabellini/xen-unstable.git arm-tools-2
Cheers,
Stefano
^ permalink raw reply [flat|nested] 33+ messages in thread
* [PATCH v2 01/10] arm: few missing #define
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 13:49 ` Ian Campbell
2012-02-13 15:37 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 02/10] arm: add stub hvm/save.h Stefano Stabellini
` (9 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
Few missing #define are the cause of a compile failure with
XEN_TARGET_ARM=arm and XEN_COMPILE_ARM=arm (for example in the case of a
native compilation). This patch fill the gaps.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
xen/include/public/arch-arm.h | 2 ++
xen/include/public/io/protocols.h | 3 +++
2 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index c430cf3..e3d5c08 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -110,6 +110,8 @@ typedef struct arch_vcpu_info arch_vcpu_info_t;
struct arch_shared_info { };
typedef struct arch_shared_info arch_shared_info_t;
+typedef uint64_t xen_callback_t;
+
#endif
#endif /* __XEN_PUBLIC_ARCH_ARM_H__ */
diff --git a/xen/include/public/io/protocols.h b/xen/include/public/io/protocols.h
index 77bd1bd..0b7a2ea 100644
--- a/xen/include/public/io/protocols.h
+++ b/xen/include/public/io/protocols.h
@@ -26,6 +26,7 @@
#define XEN_IO_PROTO_ABI_X86_32 "x86_32-abi"
#define XEN_IO_PROTO_ABI_X86_64 "x86_64-abi"
#define XEN_IO_PROTO_ABI_IA64 "ia64-abi"
+#define XEN_IO_PROTO_ABI_ARM "arm-abi"
#if defined(__i386__)
# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_32
@@ -33,6 +34,8 @@
# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_X86_64
#elif defined(__ia64__)
# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_IA64
+#elif defined(__arm__)
+# define XEN_IO_PROTO_ABI_NATIVE XEN_IO_PROTO_ABI_ARM
#else
# error arch fixup needed here
#endif
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 02/10] arm: add stub hvm/save.h
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 12:21 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests Stefano Stabellini
` (8 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian Campbell, Stefano.Stabellini, Tim.Deegan
From: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
xen/include/public/arch-arm/hvm/save.h | 39 ++++++++++++++++++++++++++++++++
xen/include/public/hvm/save.h | 2 +
2 files changed, 41 insertions(+), 0 deletions(-)
create mode 100644 xen/include/public/arch-arm/hvm/save.h
diff --git a/xen/include/public/arch-arm/hvm/save.h b/xen/include/public/arch-arm/hvm/save.h
new file mode 100644
index 0000000..ec61298
--- /dev/null
+++ b/xen/include/public/arch-arm/hvm/save.h
@@ -0,0 +1,39 @@
+/*
+ * Structure definitions for HVM state that is held by Xen and must
+ * be saved along with the domain's memory and device-model state.
+ *
+ * Copyright (c) 2012 Citrix Systems Ltd.
+ *
+ * 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.
+ */
+
+#ifndef __XEN_PUBLIC_HVM_SAVE_ARM_H__
+#define __XEN_PUBLIC_HVM_SAVE_ARM_H__
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.h
index d0f2661..58f8433 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -104,6 +104,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
#include "../arch-x86/hvm/save.h"
#elif defined(__ia64__)
#include "../arch-ia64/hvm/save.h"
+#elif defined(__arm__)
+#include "../arch-arm/hvm/save.h"
#else
#error "unsupported architecture"
#endif
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests.
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 02/10] arm: add stub hvm/save.h Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 17:28 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC Stefano Stabellini
` (7 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian Campbell, Stefano.Stabellini, Tim.Deegan
From: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
tools/libxl/libxl_create.c | 3 ++-
tools/libxl/libxl_pci.c | 2 ++
2 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index f28d814..3a63be0 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -616,7 +616,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
goto error_out;
}
}
-
+#if defined(__i386__) || defined(__x86_64__)
if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
d_config->b_info.u.pv.e820_host) {
int rc;
@@ -626,6 +626,7 @@ static int do_domain_create(libxl__gc *gc, libxl_domain_config *d_config,
"Failed while collecting E820 with: %d (errno:%d)\n",
rc, errno);
}
+#endif
if ( cb && (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM ||
(d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV &&
d_config->b_info.u.pv.bootloader ))) {
diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
index 99591c2..c545b85 100644
--- a/tools/libxl/libxl_pci.c
+++ b/tools/libxl/libxl_pci.c
@@ -1149,6 +1149,7 @@ int libxl__device_pci_destroy_all(libxl__gc *gc, uint32_t domid)
return 0;
}
+#if defined(__i386__) || defined(__x86_64__)
static const char *e820_names(int type)
{
switch (type) {
@@ -1390,6 +1391,7 @@ int libxl__e820_alloc(libxl__gc *gc, uint32_t domid, libxl_domain_config *d_conf
}
return 0;
}
+#endif
/*
* Local variables:
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC.
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (2 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 17:29 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 05/10] arm: compile libxc Stefano Stabellini
` (6 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian Campbell, Stefano.Stabellini, Tim.Deegan
From: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
tools/blktap2/vhd/lib/Makefile | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/tools/blktap2/vhd/lib/Makefile b/tools/blktap2/vhd/lib/Makefile
index b72e4d9..1acee70 100644
--- a/tools/blktap2/vhd/lib/Makefile
+++ b/tools/blktap2/vhd/lib/Makefile
@@ -49,27 +49,32 @@ LIB-SRCS += atomicio.c
LIB-OBJS = $(patsubst %.c,%.o,$(LIB-SRCS))
LIB-OBJS += $(LVM-UTIL-OBJ)
+LIB-PICOBJS = $(patsubst %.o,%.opic,$(LIB-OBJS))
+
LIBVHD = libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
all: build
-build: $(LIBVHD-BUILD)
+build: libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
libvhd.a: $(LIB-OBJS)
+ $(AR) rc $@ $^
+
+libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR): $(LIB-PICOBJS)
$(CC) -Wl,$(SONAME_LDFLAG),$(LIBVHD-SONAME) $(SHLIB_LDFLAGS) \
$(LDFLAGS) -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $^ $(LIBS)
ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) libvhd.so.$(LIBVHD-MAJOR)
ln -sf libvhd.so.$(LIBVHD-MAJOR) libvhd.so
- $(AR) rc $@ $^
install: all
$(INSTALL_DIR) -p $(DESTDIR)$(INST-DIR)
- $(INSTALL_PROG) $(LIBVHD) $(DESTDIR)$(INST-DIR)
+ $(INSTALL_PROG) libvhd.a $(DESTDIR)$(INST-DIR)
+ $(INSTALL_PROG) libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)
ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)/libvhd.so.$(LIBVHD-MAJOR)
ln -sf libvhd.so.$(LIBVHD-MAJOR) $(DESTDIR)$(INST-DIR)/libvhd.so
clean:
- rm -rf *.a *.so* *.o *~ $(DEPS) $(LIBVHD)
+ rm -rf *.a *.so* *.o *.opic *~ $(DEPS) $(LIBVHD)
.PHONY: all build clean install libvhd
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 05/10] arm: compile libxc
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (3 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 15:56 ` Ian Campbell
2012-02-13 17:38 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 06/10] arm: compile libxenguest Stefano Stabellini
` (5 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
Introduce an empty implementation of the arch specific ARM functions in
xc_core_arm.c and xc_core_arm.h; define barriers on ARM.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/libxc/Makefile | 1 +
tools/libxc/xc_core.h | 2 +
tools/libxc/xc_core_arm.c | 106 +++++++++++++++++++++++++++++++++++++++++++++
tools/libxc/xc_core_arm.h | 60 +++++++++++++++++++++++++
tools/libxc/xenctrl.h | 4 ++
5 files changed, 173 insertions(+), 0 deletions(-)
create mode 100644 tools/libxc/xc_core_arm.c
create mode 100644 tools/libxc/xc_core_arm.h
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index b5e7022..f2e1ba7 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -8,6 +8,7 @@ CTRL_SRCS-y :=
CTRL_SRCS-y += xc_core.c
CTRL_SRCS-$(CONFIG_X86) += xc_core_x86.c
CTRL_SRCS-$(CONFIG_IA64) += xc_core_ia64.c
+CTRL_SRCS-$(CONFIG_ARM) += xc_core_arm.c
CTRL_SRCS-y += xc_cpupool.c
CTRL_SRCS-y += xc_domain.c
CTRL_SRCS-y += xc_evtchn.c
diff --git a/tools/libxc/xc_core.h b/tools/libxc/xc_core.h
index 1e88a75..358a8c1 100644
--- a/tools/libxc/xc_core.h
+++ b/tools/libxc/xc_core.h
@@ -155,6 +155,8 @@ int xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int guest_width,
# include "xc_core_x86.h"
#elif defined (__ia64__)
# include "xc_core_ia64.h"
+#elif defined (__arm__)
+# include "xc_core_arm.h"
#else
# error "unsupported architecture"
#endif
diff --git a/tools/libxc/xc_core_arm.c b/tools/libxc/xc_core_arm.c
new file mode 100644
index 0000000..b1482ec
--- /dev/null
+++ b/tools/libxc/xc_core_arm.c
@@ -0,0 +1,106 @@
+/*
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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 "xg_private.h"
+#include "xc_core.h"
+
+int
+xc_core_arch_gpfn_may_present(struct xc_core_arch_context *arch_ctxt,
+ unsigned long pfn)
+{
+ /* TODO: memory from DT */
+ if (pfn >= 0x80000 && pfn < 0x88000)
+ return 1;
+ return 0;
+}
+
+
+static int nr_gpfns(xc_interface *xch, domid_t domid)
+{
+ return xc_domain_maximum_gpfn(xch, domid) + 1;
+}
+
+int
+xc_core_arch_auto_translated_physmap(const xc_dominfo_t *info)
+{
+ return 1;
+}
+
+int
+xc_core_arch_memory_map_get(xc_interface *xch, struct xc_core_arch_context *unused,
+ xc_dominfo_t *info, shared_info_any_t *live_shinfo,
+ xc_core_memory_map_t **mapp,
+ unsigned int *nr_entries)
+{
+ unsigned long p2m_size = nr_gpfns(xch, info->domid);
+ xc_core_memory_map_t *map;
+
+ map = malloc(sizeof(*map));
+ if ( map == NULL )
+ {
+ PERROR("Could not allocate memory");
+ return -1;
+ }
+
+ map->addr = 0;
+ map->size = ((uint64_t)p2m_size) << PAGE_SHIFT;
+
+ *mapp = map;
+ *nr_entries = 1;
+ return 0;
+}
+
+static int
+xc_core_arch_map_p2m_rw(xc_interface *xch, struct domain_info_context *dinfo, xc_dominfo_t *info,
+ shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
+ unsigned long *pfnp, int rw)
+{
+ return -ENOSYS;
+}
+
+int
+xc_core_arch_map_p2m(xc_interface *xch, unsigned int guest_width, xc_dominfo_t *info,
+ shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
+ unsigned long *pfnp)
+{
+ struct domain_info_context _dinfo = { .guest_width = guest_width };
+ struct domain_info_context *dinfo = &_dinfo;
+ return xc_core_arch_map_p2m_rw(xch, dinfo, info,
+ live_shinfo, live_p2m, pfnp, 0);
+}
+
+int
+xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int guest_width, xc_dominfo_t *info,
+ shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
+ unsigned long *pfnp)
+{
+ struct domain_info_context _dinfo = { .guest_width = guest_width };
+ struct domain_info_context *dinfo = &_dinfo;
+ return xc_core_arch_map_p2m_rw(xch, dinfo, info,
+ live_shinfo, live_p2m, pfnp, 1);
+}
+/*
+ * 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_core_arm.h b/tools/libxc/xc_core_arm.h
new file mode 100644
index 0000000..3a6be2a
--- /dev/null
+++ b/tools/libxc/xc_core_arm.h
@@ -0,0 +1,60 @@
+/*
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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) 2012 Citrix Systems
+ *
+ */
+
+#ifndef XC_CORE_ARM_H
+#define XC_CORE_ARM_H
+
+#define ELF_ARCH_DATA ELFDATA2LSB
+#define ELF_ARCH_MACHINE EM_ARM
+
+struct xc_core_arch_context {
+ /* nothing */
+};
+
+#define xc_core_arch_context_init(arch_ctxt) do {} while (0)
+#define xc_core_arch_context_free(arch_ctxt) do {} while (0)
+#define xc_core_arch_context_get(arch_ctxt, ctxt, xch, domid) \
+ (0)
+#define xc_core_arch_context_dump(xch, arch_ctxt, args, dump_rtn) (0)
+
+int
+xc_core_arch_gpfn_may_present(struct xc_core_arch_context *arch_ctxt,
+ unsigned long pfn);
+static inline int
+xc_core_arch_context_get_shdr(xc_interface *xch,
+ struct xc_core_arch_context *arch_ctxt,
+ struct xc_core_section_headers *sheaders,
+ struct xc_core_strtab *strtab,
+ uint64_t *filesz, uint64_t offset)
+{
+ *filesz = 0;
+ return 0;
+}
+
+#endif /* XC_CORE_ARM_H */
+
+/*
+ * 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/xenctrl.h b/tools/libxc/xenctrl.h
index e6fd488..3ee8c59 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -83,6 +83,10 @@
#define xen_mb() asm volatile ("mf" ::: "memory")
#define xen_rmb() asm volatile ("mf" ::: "memory")
#define xen_wmb() asm volatile ("mf" ::: "memory")
+#elif defined(__arm__)
+#define xen_mb() asm volatile ("dmb" : : : "memory")
+#define xen_rmb() asm volatile ("dmb" : : : "memory")
+#define xen_wmb() asm volatile ("dmb" : : : "memory")
#else
#error "Define barriers"
#endif
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 06/10] arm: compile libxenguest
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (4 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 05/10] arm: compile libxc Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 16:10 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 07/10] arm: compile libxl Stefano Stabellini
` (4 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
Introduce an empty implementation of the arch specific ARM functions in
xc_dom_arm.c.
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.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
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;
+}
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 07/10] arm: compile libxl
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (5 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 06/10] arm: compile libxenguest Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 16:11 ` Ian Campbell
2012-02-13 17:35 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 08/10] arm: compile memshr Stefano Stabellini
` (3 subsequent siblings)
10 siblings, 2 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
functions are only available on x86, so ifdef the new cpuid related
function in libxl_json.c.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/libxl/Makefile | 1 +
tools/libxl/libxl_json.c | 8 ++++++++
tools/libxl/libxl_nocpuid.c | 2 +-
3 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
index 06764f2..41b6ac4 100644
--- a/tools/libxl/Makefile
+++ b/tools/libxl/Makefile
@@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
endif
LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
+LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
ifeq ($(CONFIG_NetBSD),y)
LIBXL_OBJS-y += libxl_netbsd.o
diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
index 5418683..e48e83a 100644
--- a/tools/libxl/libxl_json.c
+++ b/tools/libxl/libxl_json.c
@@ -140,6 +140,7 @@ out:
return s;
}
+#if defined(__i386__) || defined(__x86_64__)
yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
libxl_cpuid_policy_list *pcpuid)
{
@@ -199,6 +200,13 @@ empty:
out:
return s;
}
+#else
+yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
+ libxl_cpuid_policy_list *pcpuid)
+{
+ return 0;
+}
+#endif
yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
{
diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
index 9e52f8d..313d55b 100644
--- a/tools/libxl/libxl_nocpuid.c
+++ b/tools/libxl/libxl_nocpuid.c
@@ -14,7 +14,7 @@
#include "libxl_internal.h"
-void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
+void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
{
}
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 08/10] arm: compile memshr
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (6 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 07/10] arm: compile libxl Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 16:15 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 09/10] arm: compile xentrace Stefano Stabellini
` (2 subsequent siblings)
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/memshr/bidir-hash.c | 31 +++++++++++++++++++++++++++++++
1 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/tools/memshr/bidir-hash.c b/tools/memshr/bidir-hash.c
index 6c0dc3d..45d473e 100644
--- a/tools/memshr/bidir-hash.c
+++ b/tools/memshr/bidir-hash.c
@@ -109,6 +109,37 @@ static void hash_resize(struct __hash *h);
} while (0)
static inline void atomic_inc(uint32_t *v) { ia64_fetchadd4_rel(v, 1); }
static inline void atomic_dec(uint32_t *v) { ia64_fetchadd4_rel(v, -1); }
+#elif defined(__arm__)
+static inline void atomic_inc(uint32_t *v)
+{
+ unsigned long tmp;
+ int result;
+
+ __asm__ __volatile__("@ atomic_add\n"
+"1: ldrex %0, [%3]\n"
+" add %0, %0, #1\n"
+" strex %1, %0, [%3]\n"
+" teq %1, #0\n"
+" bne 1b"
+ : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+ : "r" (v)
+ : "cc");
+}
+static inline void atomic_dec(uint32_t *v)
+{
+ unsigned long tmp;
+ int result;
+
+ __asm__ __volatile__("@ atomic_sub\n"
+"1: ldrex %0, [%3]\n"
+" sub %0, %0, #1\n"
+" strex %1, %0, [%3]\n"
+" teq %1, #0\n"
+" bne 1b"
+ : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
+ : "r" (v)
+ : "cc");
+}
#else /* __x86__ */
static inline void atomic_inc(uint32_t *v)
{
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 09/10] arm: compile xentrace
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (7 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 08/10] arm: compile memshr Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 16:16 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86 Stefano Stabellini
2012-02-13 16:18 ` [PATCH v2 00/10] arm: compile tools Ian Campbell
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian.Campbell, Stefano Stabellini, Tim.Deegan
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/xentrace/xenctx.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
index a12cc21..530ef65 100644
--- a/tools/xentrace/xenctx.c
+++ b/tools/xentrace/xenctx.c
@@ -60,6 +60,12 @@ int disp_ar_regs;
int disp_br_regs;
int disp_bank_regs;
int disp_tlb;
+
+#elif defined(__arm__)
+#define NO_TRANSLATION
+typedef uint64_t guest_word_t;
+#define FMT_32B_WORD "%08llx"
+#define FMT_64B_WORD "%016llx"
#endif
struct symbol {
@@ -678,6 +684,12 @@ void print_ctx(vcpu_guest_context_any_t *ctx)
print_tr(i, &tr->dtrs[i]);
}
}
+#elif defined(__arm__)
+static void print_ctx(vcpu_guest_context_any_t *ctx)
+{
+ /* XXX: properly implement this */
+ print_symbol(0);
+}
#endif
#ifndef NO_TRANSLATION
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (8 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 09/10] arm: compile xentrace Stefano Stabellini
@ 2012-02-10 12:02 ` Stefano Stabellini
2012-02-13 17:32 ` Ian Jackson
2012-02-13 16:18 ` [PATCH v2 00/10] arm: compile tools Ian Campbell
10 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-10 12:02 UTC (permalink / raw)
To: xen-devel; +Cc: david.vrabel, Ian Campbell, Stefano Stabellini, Tim.Deegan
From: Ian Campbell <ian.campbell@citrix.com>
xfs is not portable, only compile it on X86
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/libfsimage/Makefile | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/tools/libfsimage/Makefile b/tools/libfsimage/Makefile
index 2deb830..bcb8b40 100644
--- a/tools/libfsimage/Makefile
+++ b/tools/libfsimage/Makefile
@@ -1,7 +1,8 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
-SUBDIRS-y = common ufs reiserfs iso9660 fat zfs xfs
+SUBDIRS-y = common ufs reiserfs iso9660 fat zfs
+SUBDIRS-$(CONFIG_X86) += xfs
SUBDIRS-y += $(shell env CC="$(CC)" ./check-libext2fs)
.PHONY: all clean install
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v2 02/10] arm: add stub hvm/save.h
2012-02-10 12:02 ` [PATCH v2 02/10] arm: add stub hvm/save.h Stefano Stabellini
@ 2012-02-13 12:21 ` Ian Campbell
2012-02-14 19:47 ` Stefano Stabellini
0 siblings, 1 reply; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 12:21 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> From: Ian Campbell <ian.campbell@citrix.com>
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
When forwarding on other peoples patches please can you remember to
include your own explicit Signed-off-by or Acked-by (I think the former
is generally more appropriate per 2b or 2c of the DCO).
This is particularly important if I am the original author since I don't
want to act as both Ack-er and commit-er of my own patches.
Ian.
> ---
> xen/include/public/arch-arm/hvm/save.h | 39 ++++++++++++++++++++++++++++++++
> xen/include/public/hvm/save.h | 2 +
> 2 files changed, 41 insertions(+), 0 deletions(-)
> create mode 100644 xen/include/public/arch-arm/hvm/save.h
>
> diff --git a/xen/include/public/arch-arm/hvm/save.h b/xen/include/public/arch-arm/hvm/save.h
> new file mode 100644
> index 0000000..ec61298
> --- /dev/null
> +++ b/xen/include/public/arch-arm/hvm/save.h
> @@ -0,0 +1,39 @@
> +/*
> + * Structure definitions for HVM state that is held by Xen and must
> + * be saved along with the domain's memory and device-model state.
> + *
> + * Copyright (c) 2012 Citrix Systems Ltd.
> + *
> + * 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.
> + */
> +
> +#ifndef __XEN_PUBLIC_HVM_SAVE_ARM_H__
> +#define __XEN_PUBLIC_HVM_SAVE_ARM_H__
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-set-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/public/hvm/save.h b/xen/include/public/hvm/save.h
> index d0f2661..58f8433 100644
> --- a/xen/include/public/hvm/save.h
> +++ b/xen/include/public/hvm/save.h
> @@ -104,6 +104,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
> #include "../arch-x86/hvm/save.h"
> #elif defined(__ia64__)
> #include "../arch-ia64/hvm/save.h"
> +#elif defined(__arm__)
> +#include "../arch-arm/hvm/save.h"
> #else
> #error "unsupported architecture"
> #endif
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 01/10] arm: few missing #define
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
@ 2012-02-13 13:49 ` Ian Campbell
2012-02-14 15:11 ` Stefano Stabellini
2012-02-13 15:37 ` Ian Campbell
1 sibling, 1 reply; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 13:49 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> Few missing #define are the cause of a compile failure with
> XEN_TARGET_ARM=arm and XEN_COMPILE_ARM=arm (for example in the case of a
> native compilation).
Have you tried native compilation? I get:
$ make -C xen
make: Entering directory `/local/scratch/ianc/devel/xen-unstable/xen'
make -f Rules.mk _build
make[1]: Entering directory `/local/scratch/ianc/devel/xen-unstable/xen'
/local/scratch/ianc/devel/xen-unstable/xen/../Config.mk:45: /local/scratch/ianc/devel/xen-unstable/xen/../config/armv7l.mk: No such file or directory
Rules.mk:35: /local/scratch/ianc/devel/xen-unstable/xen/arch/armv7l/Rules.mk: No such file or directory
make[1]: *** No rule to make target `/local/scratch/ianc/devel/xen-unstable/xen/arch/armv7l/Rules.mk'. Stop.
I presume this is because of:
$ uname -m
armv7l
The following fixes it for me and matches what Linux does.
8<---------------------------------------------------------------
>From 810e27651f0f883bab01f55e804fe733b92dd824 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@citrix.com>
Date: Mon, 13 Feb 2012 13:46:53 +0000
Subject: [PATCH] arm: Set XEN_COMPILE_ARCH correctly from "umame -m" on ARM
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Config.mk | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Config.mk b/Config.mk
index e2dc4b9..df34718 100644
--- a/Config.mk
+++ b/Config.mk
@@ -13,7 +13,7 @@ realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && echo "
debug ?= y
XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
- -e s/i86pc/x86_32/ -e s/amd64/x86_64/)
+ -e s/i86pc/x86_32/ -e s/amd64/x86_64/ -e s/arm.*/arm/)
XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
XEN_OS ?= $(shell uname -s)
--
1.7.8.3
^ permalink raw reply related [flat|nested] 33+ messages in thread
* Re: [PATCH v2 01/10] arm: few missing #define
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
2012-02-13 13:49 ` Ian Campbell
@ 2012-02-13 15:37 ` Ian Campbell
1 sibling, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 15:37 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> Few missing #define are the cause of a compile failure with
> XEN_TARGET_ARM=arm and XEN_COMPILE_ARM=arm (for example in the case of a
> native compilation). This patch fill the gaps.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
I committed this.
Ian.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 05/10] arm: compile libxc
2012-02-10 12:02 ` [PATCH v2 05/10] arm: compile libxc Stefano Stabellini
@ 2012-02-13 15:56 ` Ian Campbell
2012-02-13 17:38 ` Ian Jackson
1 sibling, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 15:56 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> Introduce an empty implementation of the arch specific ARM functions in
> xc_core_arm.c and xc_core_arm.h; define barriers on ARM.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> tools/libxc/Makefile | 1 +
> tools/libxc/xc_core.h | 2 +
> tools/libxc/xc_core_arm.c | 106 +++++++++++++++++++++++++++++++++++++++++++++
> tools/libxc/xc_core_arm.h | 60 +++++++++++++++++++++++++
> tools/libxc/xenctrl.h | 4 ++
> 5 files changed, 173 insertions(+), 0 deletions(-)
> create mode 100644 tools/libxc/xc_core_arm.c
> create mode 100644 tools/libxc/xc_core_arm.h
>
> diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
> index b5e7022..f2e1ba7 100644
> --- a/tools/libxc/Makefile
> +++ b/tools/libxc/Makefile
> @@ -8,6 +8,7 @@ CTRL_SRCS-y :=
> CTRL_SRCS-y += xc_core.c
> CTRL_SRCS-$(CONFIG_X86) += xc_core_x86.c
> CTRL_SRCS-$(CONFIG_IA64) += xc_core_ia64.c
> +CTRL_SRCS-$(CONFIG_ARM) += xc_core_arm.c
> CTRL_SRCS-y += xc_cpupool.c
> CTRL_SRCS-y += xc_domain.c
> CTRL_SRCS-y += xc_evtchn.c
> diff --git a/tools/libxc/xc_core.h b/tools/libxc/xc_core.h
> index 1e88a75..358a8c1 100644
> --- a/tools/libxc/xc_core.h
> +++ b/tools/libxc/xc_core.h
> @@ -155,6 +155,8 @@ int xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int guest_width,
> # include "xc_core_x86.h"
> #elif defined (__ia64__)
> # include "xc_core_ia64.h"
> +#elif defined (__arm__)
> +# include "xc_core_arm.h"
> #else
> # error "unsupported architecture"
> #endif
> diff --git a/tools/libxc/xc_core_arm.c b/tools/libxc/xc_core_arm.c
> new file mode 100644
> index 0000000..b1482ec
> --- /dev/null
> +++ b/tools/libxc/xc_core_arm.c
> @@ -0,0 +1,106 @@
> +/*
> + * 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; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * 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 "xg_private.h"
> +#include "xc_core.h"
> +
> +int
> +xc_core_arch_gpfn_may_present(struct xc_core_arch_context *arch_ctxt,
> + unsigned long pfn)
> +{
> + /* TODO: memory from DT */
> + if (pfn >= 0x80000 && pfn < 0x88000)
> + return 1;
> + return 0;
> +}
> +
> +
> +static int nr_gpfns(xc_interface *xch, domid_t domid)
> +{
> + return xc_domain_maximum_gpfn(xch, domid) + 1;
> +}
> +
> +int
> +xc_core_arch_auto_translated_physmap(const xc_dominfo_t *info)
> +{
> + return 1;
> +}
> +
> +int
> +xc_core_arch_memory_map_get(xc_interface *xch, struct xc_core_arch_context *unused,
> + xc_dominfo_t *info, shared_info_any_t *live_shinfo,
> + xc_core_memory_map_t **mapp,
> + unsigned int *nr_entries)
> +{
> + unsigned long p2m_size = nr_gpfns(xch, info->domid);
> + xc_core_memory_map_t *map;
> +
> + map = malloc(sizeof(*map));
> + if ( map == NULL )
> + {
> + PERROR("Could not allocate memory");
> + return -1;
> + }
> +
> + map->addr = 0;
> + map->size = ((uint64_t)p2m_size) << PAGE_SHIFT;
> +
> + *mapp = map;
> + *nr_entries = 1;
> + return 0;
> +}
> +
> +static int
> +xc_core_arch_map_p2m_rw(xc_interface *xch, struct domain_info_context *dinfo, xc_dominfo_t *info,
> + shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
> + unsigned long *pfnp, int rw)
> +{
> + return -ENOSYS;
> +}
> +
> +int
> +xc_core_arch_map_p2m(xc_interface *xch, unsigned int guest_width, xc_dominfo_t *info,
> + shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
> + unsigned long *pfnp)
> +{
> + struct domain_info_context _dinfo = { .guest_width = guest_width };
> + struct domain_info_context *dinfo = &_dinfo;
> + return xc_core_arch_map_p2m_rw(xch, dinfo, info,
> + live_shinfo, live_p2m, pfnp, 0);
> +}
> +
> +int
> +xc_core_arch_map_p2m_writable(xc_interface *xch, unsigned int guest_width, xc_dominfo_t *info,
> + shared_info_any_t *live_shinfo, xen_pfn_t **live_p2m,
> + unsigned long *pfnp)
> +{
> + struct domain_info_context _dinfo = { .guest_width = guest_width };
> + struct domain_info_context *dinfo = &_dinfo;
> + return xc_core_arch_map_p2m_rw(xch, dinfo, info,
> + live_shinfo, live_p2m, pfnp, 1);
> +}
> +/*
> + * 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_core_arm.h b/tools/libxc/xc_core_arm.h
> new file mode 100644
> index 0000000..3a6be2a
> --- /dev/null
> +++ b/tools/libxc/xc_core_arm.h
> @@ -0,0 +1,60 @@
> +/*
> + * 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; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * 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) 2012 Citrix Systems
> + *
> + */
> +
> +#ifndef XC_CORE_ARM_H
> +#define XC_CORE_ARM_H
> +
> +#define ELF_ARCH_DATA ELFDATA2LSB
> +#define ELF_ARCH_MACHINE EM_ARM
> +
> +struct xc_core_arch_context {
> + /* nothing */
> +};
> +
> +#define xc_core_arch_context_init(arch_ctxt) do {} while (0)
> +#define xc_core_arch_context_free(arch_ctxt) do {} while (0)
> +#define xc_core_arch_context_get(arch_ctxt, ctxt, xch, domid) \
> + (0)
> +#define xc_core_arch_context_dump(xch, arch_ctxt, args, dump_rtn) (0)
> +
> +int
> +xc_core_arch_gpfn_may_present(struct xc_core_arch_context *arch_ctxt,
> + unsigned long pfn);
> +static inline int
> +xc_core_arch_context_get_shdr(xc_interface *xch,
> + struct xc_core_arch_context *arch_ctxt,
> + struct xc_core_section_headers *sheaders,
> + struct xc_core_strtab *strtab,
> + uint64_t *filesz, uint64_t offset)
> +{
> + *filesz = 0;
> + return 0;
> +}
> +
> +#endif /* XC_CORE_ARM_H */
> +
> +/*
> + * 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/xenctrl.h b/tools/libxc/xenctrl.h
> index e6fd488..3ee8c59 100644
> --- a/tools/libxc/xenctrl.h
> +++ b/tools/libxc/xenctrl.h
> @@ -83,6 +83,10 @@
> #define xen_mb() asm volatile ("mf" ::: "memory")
> #define xen_rmb() asm volatile ("mf" ::: "memory")
> #define xen_wmb() asm volatile ("mf" ::: "memory")
> +#elif defined(__arm__)
> +#define xen_mb() asm volatile ("dmb" : : : "memory")
> +#define xen_rmb() asm volatile ("dmb" : : : "memory")
> +#define xen_wmb() asm volatile ("dmb" : : : "memory")
> #else
> #error "Define barriers"
> #endif
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/10] arm: compile libxenguest
2012-02-10 12:02 ` [PATCH v2 06/10] arm: compile libxenguest Stefano Stabellini
@ 2012-02-13 16:10 ` Ian Campbell
2012-02-14 19:11 ` Stefano Stabellini
0 siblings, 1 reply; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 16:10 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
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@citrix.com>
> 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@eu.citrix.com>
> ---
> 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;
> +}
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 07/10] arm: compile libxl
2012-02-10 12:02 ` [PATCH v2 07/10] arm: compile libxl Stefano Stabellini
@ 2012-02-13 16:11 ` Ian Campbell
2012-02-13 17:35 ` Ian Jackson
1 sibling, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 16:11 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> functions are only available on x86, so ifdef the new cpuid related
> function in libxl_json.c.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> tools/libxl/Makefile | 1 +
> tools/libxl/libxl_json.c | 8 ++++++++
> tools/libxl/libxl_nocpuid.c | 2 +-
> 3 files changed, 10 insertions(+), 1 deletions(-)
>
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 06764f2..41b6ac4 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -36,6 +36,7 @@ LIBXL_OBJS-y += libxl_noblktap2.o
> endif
> LIBXL_OBJS-$(CONFIG_X86) += libxl_cpuid.o
> LIBXL_OBJS-$(CONFIG_IA64) += libxl_nocpuid.o
> +LIBXL_OBJS-$(CONFIG_ARM) += libxl_nocpuid.o
>
> ifeq ($(CONFIG_NetBSD),y)
> LIBXL_OBJS-y += libxl_netbsd.o
> diff --git a/tools/libxl/libxl_json.c b/tools/libxl/libxl_json.c
> index 5418683..e48e83a 100644
> --- a/tools/libxl/libxl_json.c
> +++ b/tools/libxl/libxl_json.c
> @@ -140,6 +140,7 @@ out:
> return s;
> }
>
> +#if defined(__i386__) || defined(__x86_64__)
> yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> libxl_cpuid_policy_list *pcpuid)
> {
> @@ -199,6 +200,13 @@ empty:
> out:
> return s;
> }
> +#else
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> + libxl_cpuid_policy_list *pcpuid)
> +{
> + return 0;
> +}
> +#endif
>
> yajl_gen_status libxl_string_list_gen_json(yajl_gen hand, libxl_string_list *pl)
> {
> diff --git a/tools/libxl/libxl_nocpuid.c b/tools/libxl/libxl_nocpuid.c
> index 9e52f8d..313d55b 100644
> --- a/tools/libxl/libxl_nocpuid.c
> +++ b/tools/libxl/libxl_nocpuid.c
> @@ -14,7 +14,7 @@
>
> #include "libxl_internal.h"
>
> -void libxl_cpuid_destroy(libxl_cpuid_policy_list *p_cpuid_list)
> +void libxl_cpuid_dispose(libxl_cpuid_policy_list *p_cpuid_list)
> {
> }
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 08/10] arm: compile memshr
2012-02-10 12:02 ` [PATCH v2 08/10] arm: compile memshr Stefano Stabellini
@ 2012-02-13 16:15 ` Ian Campbell
0 siblings, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 16:15 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
I'm a little surprised we don't have some more "utils" type place to put
these but since it was already like this:
Acked-by: Ian Campbell <Ian.campbell@citrix.com>
> ---
> tools/memshr/bidir-hash.c | 31 +++++++++++++++++++++++++++++++
> 1 files changed, 31 insertions(+), 0 deletions(-)
>
> diff --git a/tools/memshr/bidir-hash.c b/tools/memshr/bidir-hash.c
> index 6c0dc3d..45d473e 100644
> --- a/tools/memshr/bidir-hash.c
> +++ b/tools/memshr/bidir-hash.c
> @@ -109,6 +109,37 @@ static void hash_resize(struct __hash *h);
> } while (0)
> static inline void atomic_inc(uint32_t *v) { ia64_fetchadd4_rel(v, 1); }
> static inline void atomic_dec(uint32_t *v) { ia64_fetchadd4_rel(v, -1); }
> +#elif defined(__arm__)
> +static inline void atomic_inc(uint32_t *v)
> +{
> + unsigned long tmp;
> + int result;
> +
> + __asm__ __volatile__("@ atomic_add\n"
> +"1: ldrex %0, [%3]\n"
> +" add %0, %0, #1\n"
> +" strex %1, %0, [%3]\n"
> +" teq %1, #0\n"
> +" bne 1b"
> + : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
> + : "r" (v)
> + : "cc");
> +}
> +static inline void atomic_dec(uint32_t *v)
> +{
> + unsigned long tmp;
> + int result;
> +
> + __asm__ __volatile__("@ atomic_sub\n"
> +"1: ldrex %0, [%3]\n"
> +" sub %0, %0, #1\n"
> +" strex %1, %0, [%3]\n"
> +" teq %1, #0\n"
> +" bne 1b"
> + : "=&r" (result), "=&r" (tmp), "+Qo" (*v)
> + : "r" (v)
> + : "cc");
> +}
> #else /* __x86__ */
> static inline void atomic_inc(uint32_t *v)
> {
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 09/10] arm: compile xentrace
2012-02-10 12:02 ` [PATCH v2 09/10] arm: compile xentrace Stefano Stabellini
@ 2012-02-13 16:16 ` Ian Campbell
0 siblings, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 16:16 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> tools/xentrace/xenctx.c | 12 ++++++++++++
> 1 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/tools/xentrace/xenctx.c b/tools/xentrace/xenctx.c
> index a12cc21..530ef65 100644
> --- a/tools/xentrace/xenctx.c
> +++ b/tools/xentrace/xenctx.c
> @@ -60,6 +60,12 @@ int disp_ar_regs;
> int disp_br_regs;
> int disp_bank_regs;
> int disp_tlb;
> +
> +#elif defined(__arm__)
> +#define NO_TRANSLATION
> +typedef uint64_t guest_word_t;
> +#define FMT_32B_WORD "%08llx"
> +#define FMT_64B_WORD "%016llx"
> #endif
>
> struct symbol {
> @@ -678,6 +684,12 @@ void print_ctx(vcpu_guest_context_any_t *ctx)
> print_tr(i, &tr->dtrs[i]);
> }
> }
> +#elif defined(__arm__)
> +static void print_ctx(vcpu_guest_context_any_t *ctx)
> +{
> + /* XXX: properly implement this */
> + print_symbol(0);
> +}
> #endif
>
> #ifndef NO_TRANSLATION
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 00/10] arm: compile tools
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
` (9 preceding siblings ...)
2012-02-10 12:02 ` [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86 Stefano Stabellini
@ 2012-02-13 16:18 ` Ian Campbell
2012-02-13 17:39 ` Ian Jackson
10 siblings, 1 reply; 33+ messages in thread
From: Ian Campbell @ 2012-02-13 16:18 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Ian Jackson, Tim Deegan (3P),
David Vrabel
On Fri, 2012-02-10 at 12:01 +0000, Stefano Stabellini wrote:
> Hi all,
> this patch series allows tools/ to compile on ARM, mostly providing an
> empty implementation for all the arch specific functions that are needed.
#1 committed.
#2 I will commit if someone else acks (since I wrote it).
#3-4 are not arm specific and should be committed by IanJ, no need for
me to ack since I wrote them but it would be useful for you (or someone
else) to explicitly ack them for his benefit.
#5 is pretty arm specific, however I've only Acked and not committed
since it may as well go in with the rest.
#6 partially acked + commented upon
#7-9 acked but left for a more appropriate committer to pick up (ianj
mostly)
#10 I'm the author, also for IanJ to commit I think.
(For "Ian J to commit" read "... or I'll do it with his Ack+OK")
Ian.
>
>
> Changes in v2:
>
> - rebased on a22587ae517170a7755d3a88611ae0e2d5bb555e;
>
> - dropped "arm: arch_dump_shared_mem_info as a no-op" that is already in
> xen-unstable;
>
> - define xen_callback_t as uint64_t;
>
> - define guest_word_t as uint64_t.
>
>
>
> Ian Campbell (4):
> arm: add stub hvm/save.h
> libxl: do not allocate e820 for non x86 guests.
> blktap2/libvhd: Build shared objects using -fPIC.
> tools: only compile libfsimage/xfs on X86
>
> Stefano Stabellini (6):
> arm: few missing #define
> arm: compile libxc
> arm: compile libxenguest
> arm: compile libxl
> arm: compile memshr
> arm: compile xentrace
> arm: compile xentrace
>
> tools/blktap2/vhd/lib/Makefile | 13 +++-
> tools/libfsimage/Makefile | 3 +-
> tools/libxc/Makefile | 16 ++++-
> tools/libxc/xc_core.h | 2 +
> tools/libxc/xc_core_arm.c | 106 ++++++++++++++++++++++++++++++++
> tools/libxc/xc_core_arm.h | 60 ++++++++++++++++++
> tools/libxc/xc_dom_arm.c | 49 +++++++++++++++
> tools/libxc/xc_nohvm.c | 31 +++++++++
> tools/libxc/xc_nomigrate.c | 40 ++++++++++++
> tools/libxc/xenctrl.h | 4 +
> tools/libxl/Makefile | 1 +
> tools/libxl/libxl_create.c | 3 +-
> tools/libxl/libxl_json.c | 8 +++
> tools/libxl/libxl_nocpuid.c | 2 +-
> tools/libxl/libxl_pci.c | 2 +
> tools/memshr/bidir-hash.c | 31 +++++++++
> tools/xentrace/xenctx.c | 12 ++++
> xen/include/public/arch-arm.h | 2 +
> xen/include/public/arch-arm/hvm/save.h | 39 ++++++++++++
> xen/include/public/hvm/save.h | 2 +
> xen/include/public/io/protocols.h | 3 +
> 21 files changed, 419 insertions(+), 10 deletions(-)
>
> A git tree based on a22587ae517170a7755d3a88611ae0e2d5bb555e, is available here:
>
> git://xenbits.xen.org/people/sstabellini/xen-unstable.git arm-tools-2
>
> Cheers,
>
> Stefano
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests.
2012-02-10 12:02 ` [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests Stefano Stabellini
@ 2012-02-13 17:28 ` Ian Jackson
2012-02-14 19:16 ` Stefano Stabellini
0 siblings, 1 reply; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:28 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Tim.Deegan, xen-devel, david.vrabel, Ian Campbell
Stefano Stabellini writes ("[Xen-devel] [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests."):
...
> -
> +#if defined(__i386__) || defined(__x86_64__)
I would prefer to avoid these kind of platform-specific ifdefs in
libxl if possible. I think we may need to invent libxl_x86.c or
something.
Ian.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC.
2012-02-10 12:02 ` [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC Stefano Stabellini
@ 2012-02-13 17:29 ` Ian Jackson
0 siblings, 0 replies; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:29 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Tim.Deegan, xen-devel, david.vrabel, Ian Campbell
Stefano Stabellini writes ("[Xen-devel] [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC."):
> diff --git a/tools/blktap2/vhd/lib/Makefile b/tools/blktap2/vhd/lib/Makefile
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86
2012-02-10 12:02 ` [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86 Stefano Stabellini
@ 2012-02-13 17:32 ` Ian Jackson
0 siblings, 0 replies; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:32 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Tim.Deegan, xen-devel, david.vrabel, Ian Campbell
Stefano Stabellini writes ("[Xen-devel] [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86"):
> xfs is not portable, only compile it on X86
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 07/10] arm: compile libxl
2012-02-10 12:02 ` [PATCH v2 07/10] arm: compile libxl Stefano Stabellini
2012-02-13 16:11 ` Ian Campbell
@ 2012-02-13 17:35 ` Ian Jackson
2012-02-14 19:16 ` Stefano Stabellini
1 sibling, 1 reply; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:35 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Tim.Deegan, xen-devel, david.vrabel, Ian.Campbell
Stefano Stabellini writes ("[Xen-devel] [PATCH v2 07/10] arm: compile libxl"):
> libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> functions are only available on x86, so ifdef the new cpuid related
> function in libxl_json.c.
...
> +#if defined(__i386__) || defined(__x86_64__)
> yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> libxl_cpuid_policy_list *pcpuid)
> {
> @@ -199,6 +200,13 @@ empty:
> out:
> return s;
> }
> +#else
> +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> + libxl_cpuid_policy_list *pcpuid)
> +{
> + return 0;
> +}
> +#endif
Again, can't this be moved to libxl_{no,}cpuid.c ?
If we really do have to have #ifdefs (eg, if we have code that needs
to be controlled by several different conditions at once) we should
invent a suitable single #define for each feature, eg LIBXL_HAVE_CPUID
or something rather than spreading "defined(__i386__) || defined(__x86_64__)"
all over the place.
Ian.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 05/10] arm: compile libxc
2012-02-10 12:02 ` [PATCH v2 05/10] arm: compile libxc Stefano Stabellini
2012-02-13 15:56 ` Ian Campbell
@ 2012-02-13 17:38 ` Ian Jackson
1 sibling, 0 replies; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:38 UTC (permalink / raw)
To: Stefano Stabellini; +Cc: Tim.Deegan, xen-devel, david.vrabel, Ian.Campbell
Stefano Stabellini writes ("[Xen-devel] [PATCH v2 05/10] arm: compile libxc"):
> Introduce an empty implementation of the arch specific ARM functions in
> xc_core_arm.c and xc_core_arm.h; define barriers on ARM.
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 00/10] arm: compile tools
2012-02-13 16:18 ` [PATCH v2 00/10] arm: compile tools Ian Campbell
@ 2012-02-13 17:39 ` Ian Jackson
2012-02-14 19:17 ` Stefano Stabellini
0 siblings, 1 reply; 33+ messages in thread
From: Ian Jackson @ 2012-02-13 17:39 UTC (permalink / raw)
To: Ian Campbell
Cc: David Vrabel, xen-devel@lists.xensource.com, Tim Deegan (3P),
Stefano Stabellini
Ian Campbell writes ("Re: [Xen-devel] [PATCH v2 00/10] arm: compile tools"):
> #1 committed.
Thanks for this series, Stefano. I have applied a couple that were
obviously good to go standalone. For the others which had a tools
part I have either acked or commented and I think it might be best if
they all went in together ?
Ian.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 01/10] arm: few missing #define
2012-02-13 13:49 ` Ian Campbell
@ 2012-02-14 15:11 ` Stefano Stabellini
2012-02-15 12:27 ` Ian Campbell
0 siblings, 1 reply; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 15:11 UTC (permalink / raw)
To: Ian Campbell
Cc: David Vrabel, xen-devel@lists.xensource.com, Tim Deegan (3P),
Stefano Stabellini
On Mon, 13 Feb 2012, Ian Campbell wrote:
> 8<---------------------------------------------------------------
>
> From 810e27651f0f883bab01f55e804fe733b92dd824 Mon Sep 17 00:00:00 2001
> From: Ian Campbell <ian.campbell@citrix.com>
> Date: Mon, 13 Feb 2012 13:46:53 +0000
> Subject: [PATCH] arm: Set XEN_COMPILE_ARCH correctly from "umame -m" on ARM
ack
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> Config.mk | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/Config.mk b/Config.mk
> index e2dc4b9..df34718 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -13,7 +13,7 @@ realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && echo "
> debug ?= y
>
> XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
> - -e s/i86pc/x86_32/ -e s/amd64/x86_64/)
> + -e s/i86pc/x86_32/ -e s/amd64/x86_64/ -e s/arm.*/arm/)
> XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
> XEN_OS ?= $(shell uname -s)
>
> --
> 1.7.8.3
>
>
>
>
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 06/10] arm: compile libxenguest
2012-02-13 16:10 ` Ian Campbell
@ 2012-02-14 19:11 ` Stefano Stabellini
0 siblings, 0 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 19:11 UTC (permalink / raw)
To: Ian Campbell
Cc: David Vrabel, xen-devel@lists.xensource.com, Tim Deegan (3P),
Stefano Stabellini
On Mon, 13 Feb 2012, Ian Campbell wrote:
> 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@citrix.com>
>
> > 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?
Yes, good idea.
> Also xc_hvm_build.c has public functions other than the one you have
> stubbed out in it. Should stub them too?
Yes, they should.
> 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?
I don't think quick hacks are possible here: give a look at
vcpu_guest_context_any_t: it contains two additional fields (x32 and
x64) that are x86_32/64 specific and they are referenced through all the
save/restore code without any ifdefs.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests.
2012-02-13 17:28 ` Ian Jackson
@ 2012-02-14 19:16 ` Stefano Stabellini
0 siblings, 0 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 19:16 UTC (permalink / raw)
To: Ian Jackson
Cc: Tim Deegan (3P), Ian Campbell, xen-devel@lists.xensource.com,
David Vrabel, Stefano Stabellini
On Mon, 13 Feb 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[Xen-devel] [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests."):
> ...
> > -
> > +#if defined(__i386__) || defined(__x86_64__)
>
> I would prefer to avoid these kind of platform-specific ifdefs in
> libxl if possible. I think we may need to invent libxl_x86.c or
> something.
OK
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 07/10] arm: compile libxl
2012-02-13 17:35 ` Ian Jackson
@ 2012-02-14 19:16 ` Stefano Stabellini
0 siblings, 0 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 19:16 UTC (permalink / raw)
To: Ian Jackson
Cc: Tim Deegan (3P), Ian Campbell, xen-devel@lists.xensource.com,
David Vrabel, Stefano Stabellini
On Mon, 13 Feb 2012, Ian Jackson wrote:
> Stefano Stabellini writes ("[Xen-devel] [PATCH v2 07/10] arm: compile libxl"):
> > libxl_cpuid_destroy has been renamed to libxl_cpuid_dispose; also cpuid
> > functions are only available on x86, so ifdef the new cpuid related
> > function in libxl_json.c.
> ...
> > +#if defined(__i386__) || defined(__x86_64__)
> > yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> > libxl_cpuid_policy_list *pcpuid)
> > {
> > @@ -199,6 +200,13 @@ empty:
> > out:
> > return s;
> > }
> > +#else
> > +yajl_gen_status libxl_cpuid_policy_list_gen_json(yajl_gen hand,
> > + libxl_cpuid_policy_list *pcpuid)
> > +{
> > + return 0;
> > +}
> > +#endif
>
> Again, can't this be moved to libxl_{no,}cpuid.c ?
Yes, it can.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 00/10] arm: compile tools
2012-02-13 17:39 ` Ian Jackson
@ 2012-02-14 19:17 ` Stefano Stabellini
0 siblings, 0 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 19:17 UTC (permalink / raw)
To: Ian Jackson
Cc: Tim Deegan (3P), David Vrabel, xen-devel@lists.xensource.com,
Ian Campbell, Stefano Stabellini
On Mon, 13 Feb 2012, Ian Jackson wrote:
> Ian Campbell writes ("Re: [Xen-devel] [PATCH v2 00/10] arm: compile tools"):
> > #1 committed.
>
> Thanks for this series, Stefano. I have applied a couple that were
> obviously good to go standalone. For the others which had a tools
> part I have either acked or commented and I think it might be best if
> they all went in together ?
Yes, it is easier for me to keep track of them this way.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 02/10] arm: add stub hvm/save.h
2012-02-13 12:21 ` Ian Campbell
@ 2012-02-14 19:47 ` Stefano Stabellini
0 siblings, 0 replies; 33+ messages in thread
From: Stefano Stabellini @ 2012-02-14 19:47 UTC (permalink / raw)
To: Ian Campbell
Cc: David Vrabel, xen-devel@lists.xensource.com, Tim Deegan (3P),
Stefano Stabellini
On Mon, 13 Feb 2012, Ian Campbell wrote:
> On Fri, 2012-02-10 at 12:02 +0000, Stefano Stabellini wrote:
> > From: Ian Campbell <ian.campbell@citrix.com>
> >
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
>
> When forwarding on other peoples patches please can you remember to
> include your own explicit Signed-off-by or Acked-by (I think the former
> is generally more appropriate per 2b or 2c of the DCO).
>
> This is particularly important if I am the original author since I don't
> want to act as both Ack-er and commit-er of my own patches.
>
OK
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [PATCH v2 01/10] arm: few missing #define
2012-02-14 15:11 ` Stefano Stabellini
@ 2012-02-15 12:27 ` Ian Campbell
0 siblings, 0 replies; 33+ messages in thread
From: Ian Campbell @ 2012-02-15 12:27 UTC (permalink / raw)
To: Stefano Stabellini
Cc: xen-devel@lists.xensource.com, Tim Deegan (3P), David Vrabel
On Tue, 2012-02-14 at 15:11 +0000, Stefano Stabellini wrote:
> On Mon, 13 Feb 2012, Ian Campbell wrote:
> > 8<---------------------------------------------------------------
> >
> > From 810e27651f0f883bab01f55e804fe733b92dd824 Mon Sep 17 00:00:00 2001
> > From: Ian Campbell <ian.campbell@citrix.com>
> > Date: Mon, 13 Feb 2012 13:46:53 +0000
> > Subject: [PATCH] arm: Set XEN_COMPILE_ARCH correctly from "umame -m" on ARM
>
> ack
Thanks, committed.
^ permalink raw reply [flat|nested] 33+ messages in thread
end of thread, other threads:[~2012-02-15 12:27 UTC | newest]
Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-10 12:01 [PATCH v2 00/10] arm: compile tools Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 01/10] arm: few missing #define Stefano Stabellini
2012-02-13 13:49 ` Ian Campbell
2012-02-14 15:11 ` Stefano Stabellini
2012-02-15 12:27 ` Ian Campbell
2012-02-13 15:37 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 02/10] arm: add stub hvm/save.h Stefano Stabellini
2012-02-13 12:21 ` Ian Campbell
2012-02-14 19:47 ` Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 03/10] libxl: do not allocate e820 for non x86 guests Stefano Stabellini
2012-02-13 17:28 ` Ian Jackson
2012-02-14 19:16 ` Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 04/10] blktap2/libvhd: Build shared objects using -fPIC Stefano Stabellini
2012-02-13 17:29 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 05/10] arm: compile libxc Stefano Stabellini
2012-02-13 15:56 ` Ian Campbell
2012-02-13 17:38 ` Ian Jackson
2012-02-10 12:02 ` [PATCH v2 06/10] arm: compile libxenguest Stefano Stabellini
2012-02-13 16:10 ` Ian Campbell
2012-02-14 19:11 ` Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 07/10] arm: compile libxl Stefano Stabellini
2012-02-13 16:11 ` Ian Campbell
2012-02-13 17:35 ` Ian Jackson
2012-02-14 19:16 ` Stefano Stabellini
2012-02-10 12:02 ` [PATCH v2 08/10] arm: compile memshr Stefano Stabellini
2012-02-13 16:15 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 09/10] arm: compile xentrace Stefano Stabellini
2012-02-13 16:16 ` Ian Campbell
2012-02-10 12:02 ` [PATCH v2 10/10] tools: only compile libfsimage/xfs on X86 Stefano Stabellini
2012-02-13 17:32 ` Ian Jackson
2012-02-13 16:18 ` [PATCH v2 00/10] arm: compile tools Ian Campbell
2012-02-13 17:39 ` Ian Jackson
2012-02-14 19:17 ` Stefano Stabellini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).