[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, 2014-09-23 at 17:29 +0100, Stefano Stabellini wrote:
> 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.

I wasn't sure if qemu-trad even had --cpu, seem it does?

> ---
> 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>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

Although the comments in config/*.mk are a bit redundant (would you like
me to drop as I apply?)

> 
> 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®.