[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 3/3] enable QEMU for ARM builds



On Tue, 23 Sep 2014, Ian Campbell wrote:
> On Tue, 2014-09-23 at 15:56 +0100, Stefano Stabellini wrote:
> > Does the following fix the issue for you?
> 
> I needed some new build-deps (pixman) but then it appeared to, yes.
> 
> I'm in favour of moving the --cpu out from under the
> IOEMU_CONFIGURE_CROSS and into the normal configure rune. It should be
> harmless for native builds and will ensure that cross builds don't
> regress again. Maybe that is more complex with the qemu-trad side of
> things?

I don't think so: qemu-trad is not used on arm or arm64.
I think that the x86_32 tools build on x86_64 still has some other
issues but this should be an improvement.

---
Fix QEMU cross-compile build

Introduce the per-arch IOEMU_CPU_ARCH variable.
Always pass --configure=IOEMU_CPU_ARCH to QEMU's configure script.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

diff --git a/config/arm32.mk b/config/arm32.mk
index aa79d22..5f056bd 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -18,3 +18,6 @@ HAS_NS16550 := y
 LDFLAGS_DIRECT += -EL
 
 CONFIG_LOAD_ADDRESS ?= 0x80000000
+
+#QEMU CPU arch
+IOEMU_CPU_ARCH ?= arm
diff --git a/config/arm64.mk b/config/arm64.mk
index 15b57a4..f42ffe0 100644
--- a/config/arm64.mk
+++ b/config/arm64.mk
@@ -13,3 +13,6 @@ HAS_NS16550 := y
 LDFLAGS_DIRECT += -EL
 
 CONFIG_LOAD_ADDRESS ?= 0x80000000
+
+#QEMU CPU arch
+IOEMU_CPU_ARCH ?= aarch64
diff --git a/config/x86_32.mk b/config/x86_32.mk
index 7f76b25..0da63ed 100644
--- a/config/x86_32.mk
+++ b/config/x86_32.mk
@@ -12,3 +12,6 @@ CFLAGS += -m32 -march=i686
 LDFLAGS_DIRECT_OpenBSD = _obsd
 LDFLAGS_DIRECT_FreeBSD = _fbsd
 LDFLAGS_DIRECT += -melf_i386$(LDFLAGS_DIRECT_$(XEN_OS))
+
+#QEMU CPU arch
+IOEMU_CPU_ARCH ?= i386
diff --git a/config/x86_64.mk b/config/x86_64.mk
index 11104bd..f5c32a2 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -25,3 +25,6 @@ else
 LDFLAGS_DIRECT += -melf_x86_64
 endif
 endif
+
+#QEMU CPU arch
+IOEMU_CPU_ARCH ?= x86_64
diff --git a/tools/Makefile b/tools/Makefile
index 1130369..7b00a70 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -106,8 +106,7 @@ distclean: subdirs-distclean
                config.cache autom4te.cache
 
 ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
-IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
-                        --cross-prefix=$(CROSS_COMPILE) \
+IOEMU_CONFIGURE_CROSS ?= --cross-prefix=$(CROSS_COMPILE) \
                         --interp-prefix=$(CROSS_SYS_ROOT)
 endif
 
@@ -146,7 +145,7 @@ subdir-all-qemu-xen-traditional-dir: 
qemu-xen-traditional-dir-find
        set -e; \
                $(buildmakevars2shellvars); \
                cd qemu-xen-traditional-dir; \
-               $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS); \
+               $(QEMU_ROOT)/xen-setup --cpu=$(IOEMU_CPU_ARCH) 
$(IOEMU_CONFIGURE_CROSS); \
                $(MAKE) all
 
 subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
@@ -155,6 +154,7 @@ subdir-install-qemu-xen-traditional-dir: 
qemu-xen-traditional-dir-find
                cd qemu-xen-traditional-dir; \
                $(QEMU_ROOT)/xen-setup \
                --extra-cflags="$(EXTRA_CFLAGS_QEMU_TRADITIONAL)" \
+               --cpu=$(IOEMU_CPU_ARCH) \
                $(IOEMU_CONFIGURE_CROSS); \
                $(MAKE) install
 
@@ -207,6 +207,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
                --disable-guest-agent \
                --python=$(PYTHON) \
                $(CONFIG_QEMUU_EXTRA_ARGS) \
+               --cpu=$(IOEMU_CPU_ARCH) \
                $(IOEMU_CONFIGURE_CROSS); \
        $(MAKE) all
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.