diff options
author | Andre McCurdy <armccurdy@gmail.com> | 2016-01-27 12:58:51 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-30 11:37:01 +0000 |
commit | f80d16e4d3edf93c72581d75084744b518bc5cb8 (patch) | |
tree | ecaf1632307120fdceb02b7ce1b7469372f9c39b /meta/classes/qemu.bbclass | |
parent | 3dca294d8e8b8139dc48fa171722ce81c60a9776 (diff) | |
download | poky-f80d16e4d3edf93c72581d75084744b518bc5cb8.tar.gz |
qemu.bbclass: clarify QEMU_EXTRAOPTIONS
QEMU_EXTRAOPTIONS is a way to add PACKAGE_ARCH specific options to the
qemu_run_binary qemu commandline. The base QEMU_EXTRAOPTIONS variable
(ie without a PACKAGE_ARCH suffix) is not used, so defining it, either
directly or via an over-ride has no effect.
Although previously an over-ride for _armv7a was used, it did nothing
for most armv7a builds, which typically use PACKAGE_ARCH values such
as "cortexa9hf-neon". In practice this worked OK since without a -cpu
option, qemu-arm will default to emulating a CPU which supports all
required architecture levels.
qemu-arm (v2.5.0) with no -cpu option has been confirmed to
successfully run binaries built for armv7ve.
(From OE-Core rev: 62b25b3489b44969e4adad657daebfaffdb4de56)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/qemu.bbclass')
-rw-r--r-- | meta/classes/qemu.bbclass | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass index 315c17f2ff..c696085ddf 100644 --- a/meta/classes/qemu.bbclass +++ b/meta/classes/qemu.bbclass | |||
@@ -35,18 +35,20 @@ def qemu_run_binary(data, rootfs_path, binary): | |||
35 | + " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\ | 35 | + " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\ |
36 | + rootfs_path + binary | 36 | + rootfs_path + binary |
37 | 37 | ||
38 | # QEMU_EXTRAOPTIONS is not meant to be directly used, the extensions are | 38 | # QEMU_EXTRAOPTIONS is not meant to be directly used, the extensions are |
39 | # PACKAGE_ARCH, not overrides and hence have to do this dance. Simply being arch | 39 | # PACKAGE_ARCH, *NOT* overrides. |
40 | # specific isn't good enough. | 40 | # In some cases (e.g. ppc) simply being arch specific (apparently) isn't good |
41 | # enough and a PACKAGE_ARCH specific -cpu option is needed (hence we have to do | ||
42 | # this dance). For others (e.g. arm) a -cpu option is not necessary, since the | ||
43 | # qemu-arm default CPU supports all required architecture levels. | ||
44 | |||
41 | QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH', True), True) or ""}" | 45 | QEMU_OPTIONS = "-r ${OLDEST_KERNEL} ${@d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH', True), True) or ""}" |
42 | QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}" | 46 | QEMU_OPTIONS[vardeps] += "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}" |
43 | QEMU_EXTRAOPTIONS_iwmmxt = " -cpu pxa270-c5" | 47 | |
44 | QEMU_EXTRAOPTIONS_armv6 = " -cpu arm1136" | ||
45 | QEMU_EXTRAOPTIONS_armv7a = " -cpu cortex-a8" | ||
46 | QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2" | 48 | QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2" |
47 | QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc" | 49 | QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc" |
48 | QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500" | 50 | QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500" |
49 | QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500" | 51 | QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500" |
50 | QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500" | 52 | QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500" |
51 | QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500" | 53 | QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500" |
52 | QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400" | 54 | QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400" |