[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 Fri, 2014-08-01 at 16:32 +0100, Stefano Stabellini wrote: > > Build qemu-xen on ARM and ARM64: it is used to provide the PV backends, > > disk and framebuffer in particular. > > > > Ideally we would also modify the configure options to only build what is > > necessary: a machine just for PV backends. However that is a work in > > progress and not yet available in QEMU (see > > http://marc.info/?l=qemu-devel&m=139082425718379&w=2). So we just build > > the usual i386 target, even though no i386 emulation is going to be done > > by qemu-xen on ARM. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > This doesn't build for arm64: > if test -d git://xenbits.xen.org/qemu-upstream-unstable.git ; then \ > > source=git://xenbits.xen.org/qemu-upstream-unstable.git; \ > else \ > source=.; \ > fi; \ > cd qemu-xen-dir; \ > $source/configure --enable-xen --target-list=i386-softmmu \ > --enable-debug --enable-trace-backend=stderr \ > --prefix=/usr/local/lib/xen \ > --libdir=/usr/local/lib/xen/lib \ > --includedir=/usr/local/lib/xen/include \ > --source-path=$source \ > > --extra-cflags="-I/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/include > \ > > -I/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/libxc/include \ > > -I/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/xenstore/include > \ > > -I/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/xenstore/compat/include > \ > " \ > > --extra-ldflags="-L/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/libxc > \ > > -L/local/scratch/ianc/devel/committer-arm64.git/tools/../tools/xenstore \ > -Wl,-rpath=/usr/local/lib/xen/lib" \ > --bindir=/usr/local/lib/xen/bin \ > --datadir=/usr/local/share/qemu-xen \ > --localstatedir=/var \ > --disable-kvm \ > --disable-docs \ > --disable-guest-agent \ > --python=python \ > \ > --cpu=arm64 --cross-prefix=aarch64-linux-gnu- > --interp-prefix=/usr/aarch64-linux-gnu/sys-root; \ > make all > > ERROR: Unsupported CPU = arm64, try --enable-tcg-interpreter > > make[3]: Entering directory > `/local/scratch/ianc/devel/committer-arm64.git/tools/qemu-xen-dir-remote' > make[3]: *** No rule to make target `/qemu-options.hx', needed by > `qemu-options.def'. Stop. > > I think upstream calls arm64 aarch64, or maybe our qemu isn't new enough yet? > > Since osstest doesn't yet include arm64 we aren't going to block > staging->master over this but we should still fix. Either by removing > aarch64 from the configure test or by making it actually build (by > adjusting --cpu=?). Does the following fix the issue for you? 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..57eaa17 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -106,7 +106,7 @@ distclean: subdirs-distclean config.cache autom4te.cache ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) -IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \ +IOEMU_CONFIGURE_CROSS ?= --cpu=$(IOEMU_CPU_ARCH) \ --cross-prefix=$(CROSS_COMPILE) \ --interp-prefix=$(CROSS_SYS_ROOT) endif _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |