Commit Graph

38 Commits

Author SHA1 Message Date
Arnout Vandecappelle
9b34853ea5 qemu: add missing indirect dependency on dynamic library for fdt
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-07 21:04:17 +01:00
Peter Korsgaard
35bf4f3913 qemu: correct kernel headers check when major numbers differ
commit f7add51c39 (qemu: add host/target Linux version check) added a
version check between the host kernel version and the version of kernel
headers used by the toolchain, but the logic would fail unless BOTH major
and minor versions were >=, which isn't true for E.G. host kernel = 3.2 and
toolchain 2.6.x.

Instead calculate a single version number (as major << 8 + minor) and
compare that.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-06 13:30:21 +01:00
Peter Korsgaard
1fe41593a9 host-qemu: needs host-python
Fixes:
http://autobuild.buildroot.net/results/e58/e58a0d7d5c084be000ae7d5b3821cd68d6639aab/
http://autobuild.buildroot.net/results/624/62425cfdd4270bf1a9b15bd57490478b1c04c720/
http://autobuild.buildroot.net/results/d18/d189d7f75ffbb3349b68a5c312b14ea5638bb903/
http://autobuild.buildroot.net/results/7d3/7d386322cec452ee636adb20be0c1a31f38385fc/

And many more.

Just like qemu for the target, host-qemu needs python (2.x) on the host.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-06 11:36:25 +01:00
Thomas Petazzoni
aa270ac892 qemu: add architecture dependencies for host qemu
The host-qemu package currently builds the user mode emulation, which
isn't available on all architectures, so this commit adds the
necessary architecture dependencies to the Config.in.host file.

Fixes:

  http://autobuild.buildroot.net/results/4298ce40cbe3db50ffe53ecf6856523157df591d/

Reported-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-02-06 10:32:03 +01:00
Thomas Petazzoni
f7add51c39 qemu: add host/target Linux version check
Raise an error if the host is using an older kernel than the target.
Since qemu-user passes emulated system calls to the host kernel,
this prevents usage of qemu-user in situations where those system
calls will fail.

This is based on an original patch from Frank Hunleth
<fhunleth@troodon-software.com>, but completely rewritten in a
different way:

 * Instead of using shell based testing, we use pure make tests, which
   allows to detect the problem not when host-qemu starts to build,
   but at the very beginning of the entire Buildroot build.

 * Instead of looking at $(STAGING_DIR)/usr/include/linux/version.h
   (which requires having a dependency on the 'toolchain' package,
   which is a bit unusual for a host package), we use the
   BR2_TOOLCHAIN_HEADERS_AT_LEAST Config.in option which tells us the
   version of the kernel headers used in the toolchain.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
2014-12-23 12:09:29 +01:00
Frank Hunleth
b268df55c1 qemu: add to host utilities menu
This allows qemu-user to be selected by the user. One use case
for this is to call qemu-user from post build scripts to
run regression tests against the build.

Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-23 12:09:17 +01:00
Jerzy Grzegorek
2f2c799697 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-20 21:48:26 +01:00
Yann E. MORIN
645b5763fa package/qemu: add support for FDT
FDT is the Flat Device Tree, and allows QEMU to pass DTs to the VMs.

Fixes:
http://autobuild.buildroot.net/results/7e8/7e8c6fecbb22e8835269171b8bfe6d5bda300dcc/
http://autobuild.buildroot.net/results/5e0/5e0ec37894d3d88962fb0fee9a3753b83fe18b71/
http://autobuild.buildroot.net/results/936/936c565b6dc883beea4fac47c2cb2b47d3e84f66/
http://autobuild.buildroot.net/results/2ab/2abe26be5be5e72d6e166dd9b63b61523f63e2f5/

And many more.

[Peter: add autobuilder references]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-18 21:58:54 +01:00
Francois Perrad
f0bd293ffd host-qemu: fix install
at configure time, PREFIX is already set with $(HOST_DIR)/usr
so, don't use DESTDIR

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-15 14:28:45 +01:00
Yann E. MORIN
78c0bbacdf package/qemu: fix specifying custom target sub-set
The logic was wrong.

Even though it was working for previous versions of QEMU, it changed in
later versions, and thus now breaks on the version we currently package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-08 17:32:27 +01:00
Peter Korsgaard
45fe0d3b46 qemu: needs IPv6
Fixes http://autobuild.buildroot.net/results/f53/f53d4d47a6b65c40c1b122dfad61d9164e533bf0/

Actually only the linux-user code needs it, but with the _CUSTOM_TARGETS
option it is difficult to ensure it only for userland emulation, so just add
it to the main qemu option.

At the same time add the missing wchar/mmu dependencies to the comment.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-03 22:55:26 +01:00
Peter Korsgaard
1d21e4c397 qemu: fix build when python3 is enabled
Fixes:
http://autobuild.buildroot.net/results/04e/04ec455e352319a46dc06def1762c65ad28a12a1/
http://autobuild.buildroot.net/results/f19/f1932657912674af444602ac59211b6caf6841ca/
http://autobuild.buildroot.net/results/18a/18a43df80616280506a44ac3abc327ddf0e7b079/
http://autobuild.buildroot.net/results/44c/44c00b50248018c4e81f4fbb1041d35b78f89640/

And many others.

When python3 for the target is enabled, $(HOST_DIR)/usr/bin/python points to
host-python3, not host-python - Breaking the build. Ensure host-python is used.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-03 22:37:34 +01:00
Jerzy Grzegorek
e800531761 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-02 23:27:01 +01:00
Jerzy Grzegorek
df2857de49 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-25 10:38:25 +02:00
Yann E. MORIN
8956c336eb package/qemu: add SDL frontends
[Peter: use BR2_PACKAGE_QEMU_HAS_EMULS, only add SDL_CONFIG once]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 19:14:47 +02:00
Yann E. MORIN
6fd9a3e864 package/qemu: add fine-grained target selection
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 18:59:37 +02:00
Yann E. MORIN
68ec49acc7 package/qemu: add basic target selection
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 18:54:34 +02:00
Yann E. MORIN
98e1a6b961 package/qemu: build for the target (i386 or x86_64 only)
Untested for other architectures, so only enabled for known-working ones.

We explicitly disable all features that depends on other packages,
for now. Such features will be added one by one in the next patches.
Features that do not rely on external packages are explicitly enabled
to catch the dependencies on toolchain features early.

[Peter: propagate dependencies from libglib2]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 18:54:11 +02:00
Yann E. MORIN
2c43136c38 package/qemu: bump version
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 18:44:57 +02:00
Yann E. MORIN
fb7a26cbb7 package/qemu: do not use autotools for qemu
Although QEMU has a ./configure script, it is not an autotools-package,
so switch to providing build and install commands, and to using
generic-package.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 18:41:26 +02:00
Thomas De Schampheleire
f268f7131b .mk files: bulk aligment and whitespace cleanup of assignments
The Buildroot coding style defines one space around make assignments and
does not align the assignment symbols.

This patch does a bulk fix of offending packages. The package
infrastructures (or more in general assignments to calculated variable
names, like $(2)_FOO) are not touched.

Alignment of line continuation characters (\) is kept as-is.

The sed command used to do this replacement is:
find * -name "*.mk" | xargs sed -i \
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*$#\1 \2#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\]\+\)$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\s*\([^\\ \t]\+\s*\\\)\s*$#\1 \2 \3#'
    -e 's#^\([A-Z0-9a-z_]\+\)\s*\([?:+]\?=\)\(\s*\\\)#\1 \2\3#'

Brief explanation of this command:
    ^\([A-Z0-9a-z_]\+\)     a regular variable at the beginning of the line
    \([?:+]\?=\)            any assignment character =, :=, ?=, +=
    \([^\\]\+\)             any string not containing a line continuation
    \([^\\ \t]\+\s*\\\)     string, optional whitespace, followed by a
                            line continuation character
    \(\s*\\\)               optional whitespace, followed by a line
                            continuation character

Hence, the first subexpression handles empty assignments, the second
handles regular assignments, the third handles regular assignments with
line continuation, and the fourth empty assignments with line
continuation.

This expression was tested on following test text: (initial tab not
included)

	FOO     = spaces before
	FOO     =   spaces before and after
	FOO	= tab before
	FOO	  = tab and spaces before
	FOO =	tab after
	FOO =	   tab and spaces after
	FOO =   	spaces and tab after
	FOO =    \
	FOO = bar \
	FOO = bar space    \
	FOO   =		   \
	GENIMAGE_DEPENDENCIES   = host-pkgconf libconfuse
	FOO     += spaces before
	FOO     ?=   spaces before and after
	FOO     :=
	FOO     =
	FOO	=
	FOO	  =
	FOO =
	   $(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C
	AT91BOOTSTRAP3_DEFCONFIG = \
	AXEL_DISABLE_I18N=--i18n=0

After this bulk change, following manual fixups were done:
- fix line continuation alignment in cegui06 and spice (the sed
  expression leaves the number of whitespace between the value and line
  continuation character intact, but the whitespace before that could have
  changed, causing misalignment.
- qt5base was reverted, as this package uses extensive alignment which
  actually makes the code more readable.

Finally, the end result was manually reviewed.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Cc: Yann E. Morin <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-07 15:00:28 +02:00
Francois Perrad
ac7e0a5d0d qemu: bump to version 2.1.0
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-17 21:15:02 +02:00
Thomas Petazzoni
e543f5a104 arch: remove sh2, sh3 and sh3eb support
This patch removes the sh2, sh3 and sh3eb support, because the user
base is inexistent, and the Linux support for these architectures is
poor. The sh2a support is preserved, because at least one user
expressed interest in this architecture, and is actually using it:

  http://lists.busybox.net/pipermail/buildroot/2013-April/070399.html

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-05 12:05:58 +01:00
Francois Perrad
3a6d38af1d qemu: bump to version 1.6.0
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-02 22:05:42 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Yann E. MORIN
41fbdb0959 package/qemu: bump version to 1.3.1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 00:26:18 +01:00
Francois Perrad
6c18ea09e8 qemu: bump to version 1.3.0
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-12 21:32:51 +01:00
Yann E. MORIN
5c8b0e6166 package/qemu: use autotools-package infrastructure
Turns out that, with a little bit of tweaking, we can use
the autotools-package infrastructure to build QEMU.

That's better than defining all the _CMDS and using the
generic-package infra.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <fperrad@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-16 20:13:23 +01:00
Yann E. MORIN
a35555b331 package/qemu: bump version to 1.2.2
There are a bunch of important fixes since 1.2.1.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-16 20:13:18 +01:00
Peter Korsgaard
45eda5a15c qemu: fix QEMU_USER variable
Reported-by: François Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-14 08:53:47 +01:00
Yann E. MORIN
c51f1d8851 package/qemu: bump version
Bump QEMU to 1.2.1.

Note: 1.3.0 is out now, but ./configure has changed a bit, and there are
new dependencies, so the bump to 1.3.0 is postponed for a litle while...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <fperrad@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-14 00:53:49 +01:00
Yann E. MORIN
3a489f1ac8 package/qemu: fix host dependencies
'host-*' packages should depends on other 'host-*' packages,
not on target packages.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <fperrad@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-14 00:51:53 +01:00
Yann E. MORIN
6f7884c814 package/qemu: fix host-qemu variable names
With the upcoming introduction of qemu-on-target, we need to properly
separate the variables used for the host qemu, from the variables
used for the target qemu.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <fperrad@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-14 00:51:44 +01:00
Yann E. MORIN
f944824c47 package/qemu: add license information
QEMU is such a snakes-nest of licenses... :-/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Francois Perrad <fperrad@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-12 09:59:21 +01:00
Thomas Petazzoni
f55cad3689 qemu: needs libglib2
Build error message is:
  glib-2.12 required to compile QEMU

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-05 09:01:06 +01:00
Thomas Petazzoni
21df600169 qemu: needs zlib
Build error message is:
  Error: zlib check failed
  Make sure to have the zlib libs and headers installed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-05 09:01:02 +01:00
Thomas Petazzoni
9874442ee2 qemu: needs pkg-config
Fixes

  http://autobuild.buildroot.org/results/ccb7d6da503a81015275ff1e4ba9a564203932ec/build-end.log

Even though the build failure happens on host-qemu, adding
host-pkgconf to QEMU_DEPENDENCIES seems like the right thing to do
since that this dependency will also be needed for the target qemu
once it gets included.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-05 09:00:00 +01:00
Francois Perrad
63c287bd27 host-qemu: new package
only user mode for the current target architecture

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 11:14:00 +01:00