Commit Graph

502 Commits

Author SHA1 Message Date
Martin Jansa f2a65bd268 v86d, qemuboot-x86.inc: use KERNEL_MODULE_AUTOLOAD+KERNEL_MODULE_PROBECONF for uvesafb instead of fbsetup init script
* also add UVESA_MODE variable for easier change of resolution and respect it in QB_KERNEL_CMDLINE_APPEND
  as well
* don't use init script just to call modprobe
* I wasn't able to test this all the way with runqemu, because runqemu
  doesn't work on my system, but I've verified that the right params
  appear there and that I can easily change UVESA_MODE from
  conf/local.conf, the modules.d and modprobe.d files look OK:
  OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs
  $ cat etc/modules-load.d/uvesafb.conf
  uvesafb

  OE qemux86@ ~/build/oe-core/tmp-glibc/deploy/images/qemux86/core-image-sato-qemux86-20170427212613.rootfs
  $ cat etc/modprobe.d/uvesafb.conf
  options uvesafb mode_option=1600x1200-32

  so I'll be able to drop this KERNEL_MODULE_AUTOLOAD +
  KERNEL_MODULE_PROBECONF from my DISTRO conf.

(From OE-Core rev: 3a8613a101aebf4f2a75ea95dac72202bbda8238)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-29 11:57:28 +01:00
Martin Kelly a839f11d5d qemuboot.conf: make cpus match built artifacts
Currently, the qemu CPUs for are specified as generic, but the built
artifacts are not. For example, we build x86-64 artifacts targeting
core2duo but run them in qemu with generic qemu/kvm CPUs. This causes
some packages that take advantage of the host architecture to crash
because they try to use CPU features not advertised by qemu. As an
example, Qt uses ssse3. When artifacts linked against Qt and built
targeting core2duo attempt to run on a generic qemu/kvm CPU, we get
the following crash:

Incompatible processor. This Qt build requires the following features:
     ssse3

We could fix this by making packages like Qt not take advantage of CPU
features. However, we will probably keep facing similar issues over
time, so it's better to resolve them in a more enduring way.

Fix this by making the qemu -cpu arguments match the built artifacts.

(From OE-Core rev: 20b3574749420a1fef2cb2e0579584453dd4c5c5)

(From OE-Core rev: d945678264ba31dccb5b1dec973e8f3a58403ea2)

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-27 22:36:44 +01:00
Ed Bartosh 88cd926de2 qemux86*.conf: changed dependency task for syslinux
Changed dependency task for syslinux from do_build to
do_populate_sysroot as do_build dependency caused conflicts in
populating image recipe sysroot using conflicting recipes. This
makes do_image_wic task to fail with FileExistsError trying to
copy the same file from two conflicting recipes.

This should also speed up image creation a bit as do_populate_sysroot
task is faster than do_build.

[YOCTO #11295]

(From OE-Core rev: b7bb02901b7002641a8e8cc3fc0b6ec31e5a21f7)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:43 +01:00
Martin Jansa 37cfcd2cca x86-base.inc, qemuarm.conf: prefer 4.10 version of linux-yocto
* 4.8 version was removed in:
  commit 466e6e45ca04a07ebe1b1f52de747f077b362d54
  Author: Bruce Ashfield <bruce.ashfield@windriver.com>
  Date:   Tue Mar 28 08:58:07 2017 -0400

    linux-yocto: drop 4.8 recipes

    We have 4.1 (LTSI), 4.4 (LTS), 4.9 (LTS/LTSI) and 4.10 available in
    master. 4.8 is no longer required, so we drop the recipe to keep
    the version selection under control.
* causing each build to start with 188 lines of this stuff:
  NOTE: preferred version 4.8% of linux-yocto not available (for item virtual/kernel)
  NOTE: versions of linux-yocto available: 4.1.38+gitAUTOINC+7140ddb86e_4d2c95e78c 4.10.5+gitAUTOINC+01f18cba44_b97dcd4f06 4.4.56+gitAUTOINC+271b0c8d51_01aaede0a2 4.9.17+gitAUTOINC+8b97a445fa_3ff3760c2a
  NOTE: preferred version 4.8% of linux-yocto not available (for item kernel-module-raid456)
  NOTE: versions of linux-yocto available: 4.1.38+gitAUTOINC+7140ddb86e_4d2c95e78c 4.10.5+gitAUTOINC+01f18cba44_b97dcd4f06 4.4.56+gitAUTOINC+271b0c8d51_01aaede0a2 4.9.17+gitAUTOINC+8b97a445fa_3ff3760c2a

(From OE-Core rev: 57357d4e7f5d256a5cc657798f955f1ac8416665)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-05 23:22:12 +01:00
Andre McCurdy c13eb4ff7c feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX for armv8
The current definition for ARM_THUMB_SUFFIX doesn't consider armv8
and will therefore cause TUNE_PKGARCH to be set incorrectly for
machines which inherit arch-armv8 and don't include aarch64 in
TUNE_FEATURES (ie when building for 32bit ARMv8).

Also fix typo in comments and improve TUNEVALID[thumb] wording.

(From OE-Core rev: 3691fd7dbe7f01ca29c14fc603c6946864af3b3c)

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>
2017-03-22 11:35:19 +00:00
Andre McCurdy 5c850760bb conf/machine/include: enable hardfloat by default for ARMv6 and above
Defaulting to softfp probably isn't the best choice anymore,
especially as there are now ARM BSP layers which leave DEFAULTTUNE
entirely up to the distro:

  https://lists.yoctoproject.org/pipermail/yocto/2017-February/034637.html

Also add 't' to the ARMv7 default DEFAULTTUNEs, since there's no
clear reason to default to ignoring ARM_INSTRUCTION_SET for ARMv7.

(From OE-Core rev: 2b3ae58f5eaecc8474761c543ff5347aa0e3c4c8)

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>
2017-03-10 14:50:10 +00:00
Zubair Lutfullah Kakakhel b6e6aa164c arch-mips: Fix tune configuration for mipsisa64r6el-n32-nf
Big endian flag marked in a little endian configuration by mistake.
Remove it.

(From OE-Core rev: 5a7f2f9abb9c471d08497face0954db9749df0ca)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04 23:18:19 +00:00
Peter Kjellerstedt 254bfb1071 recipes: Make use of the new bb.utils.filter() function
(From OE-Core rev: 0a1427bf9aeeda6bee2cc0af8da4ea5fd90aef6f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-01 11:17:45 +00:00
Andre McCurdy 9571347bcc arch-arm*.inc: squash whitespace within TUNE_FEATURES strings
TUNE_FEATURES is include in BUILDCFG_VARS, so any whitespace is
visible to the user during the build process. Remove the extra
whitespace added during the 2.1 development cycle:

  http://git.openembedded.org/openembedded-core/commit/?id=f774b44fa007a2a756ada892ede832b1251d940c

For consistency, squash whitespace within PACKAGE_EXTRA_ARCHS strings
too.

Whitespace within TUNE_FEATURES strings in the tune-cortexa*.inc
files has been fixed in a separate commit:

  http://git.openembedded.org/openembedded-core/commit/?id=5610c6397ee098dd998b7417b343494de77179f9

(From OE-Core rev: 3cd0c5ef748ad072f1bd9a8d42157e9643bf97eb)

(From OE-Core rev: 971e43270173afb08f21ffac16a4157f7e611b81)

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>
2017-02-23 12:49:48 -08:00
Robert Yang 9dd223bf18 runqemu: fixes for slirp, network device and hostfwd
Fixed:
- Add QB_NETWORK_DEVICE to set network device, it will be used by both
  slirp and tap.
- Set QB_NETWORK_DEVICE to "-device virtio-net-pci" in qemuboot.bbclass
  but runqemu will default to "-device e1000" when QB_NETWORK_DEVICE is
  not set, this is because oe-core's qemu targets support
  virtio-net-pci, but the one outside of oe-core may not,
  "-device e1000" is more common.
- Set hostfwd by default: 2222 -> 22, 2323 -> 23, and it will choose a
  usable port when the one like 222 is being used. This can avoid
  conflicts when multilib slirp qemus are running. We can forward more
  ports by default if needed, and bsp.conf can custom it.
- Use different mac sections for slirp and tap to fix conflicts when
  running both of them on the same host.

[YOCTO #7887]

CC: Nathan Rossi <nathan@nathanrossi.com>
CC: Randy Witt <randy.e.witt@linux.intel.com>
(From OE-Core rev: 7dddd090806914a62d977730440d803e48f44763)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Zubair Lutfullah Kakakhel 6eb35af19a arch-mips: Add MIPS 64r6 N32 tune
Add MIPS64R6-n32 tuning options.

(From OE-Core rev: e723dbb9614f7d7e7e158bc9afd0b2bfac0fbee2)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Maciej Borzecki 1e8c6434c9 selftest: wic: qemux86: use weak assignment for WKS_FILE
A follow-up of a fix introduced in
1b32c6ed02 (selftest: wic: fix test_qemu).

Wic test_qemu fails on qemux86 due to a direct assignment of WKS_FILE in machine
configuration. Using default assignment allows WKS_FILE to be overwritten in
test setup.

(From OE-Core rev: 9afaeadb37b2b2fab935755ab570cf4b1f3195f4)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Joshua Lock c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Chen Qi 934afbbf90 Use weak assignment for SERIAL_CONSOLES in qemu configuration files
Use weak assignment for SERIAL_CONSOLES in qemu configuration files so that
the value could serve as a default value and could be easily overridden in
configuration files like local.conf.

When using the default value for SERIAL_CONSOLES in qemux86-64,we would have
annoying messages on console complaining about respawning getty on ttyS1.
Although the value is set by purpose, at least we need to provide an easy way
to override it.

(From OE-Core rev: 5f060b66162c41a295995947b918253450870117)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-13 22:55:20 +00:00
Ed Bartosh 1b32c6ed02 selftest: wic: fix test_qemu
Setting WKS_FILE variable in qemux86-64 made wic test to
use wrong wks file to produce an image and resulted in
test_qemu failure.

Used conditional assignment in qemux86-64 and explicitly
set WKS_FILE in wic testing suite to make the suite to use
wic-image-minimal.wsk. This should fix test_qemu failure.

(From OE-Core rev: 3bca4d18c2712e3b154bacfb917f0a749ebaddeb)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-07 10:38:06 +00:00
André Draszik a46cebeaf9 arch-mips: sort new MACHINEOVERRIDES by priority
While I couldn't find explicit documentation, it appears
that the list of MACHINEOVERRIDES should be sorted from
less specific to more specific left to right, so that
more specific overrides take precedence.

(From OE-Core rev: 59c724db5628775e77fa090183897c6ae0fdf9a8)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-07 10:38:05 +00:00
Andre McCurdy 9d61524695 tune-cortexa*.inc: squash whitespace within TUNE_FEATURES strings
TUNE_FEATURES is include in BUILDCFG_VARS, so any whitespace is
visible to the user during the build process. Remove the extra
whitespace added during the 2.1 development cycle:

  http://git.openembedded.org/openembedded-core/commit/?id=f774b44fa007a2a756ada892ede832b1251d940c

For consistency, squash whitespace within PACKAGE_EXTRA_ARCHS strings
too.

(From OE-Core rev: 5610c6397ee098dd998b7417b343494de77179f9)

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>
2016-12-07 10:38:00 +00:00
Ed Bartosh 8a00c404ab qemux86*.conf: set wic-related parameters
Set directdisk.wks as default wks to use for qemux86 machines.
Set requried dependeincies to build directdisk image.

This should simplify building wic images for qemux86* machines.
It should be enough to add wic to the list of IMAGE_FSTYPES to get
the images built.

[YOCTO #10637, YOCTO #8719]

(From OE-Core rev: 8716b8b9be05e3f140bfa426a8e0d4eeaa2edcbe)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-30 15:48:07 +00:00
Khem Raj 7af36a74d7 arch-arm64.inc: Include arch-armv7ve.inc
All armv8 implementations from a53 - a73 supports
virtual extentions

(From OE-Core rev: f896375c60d8ce0f1293f5329163172e946f46df)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-30 15:48:06 +00:00
Robert Yang 86d2888789 qemuarm64.conf: make runqemu's graphics work
Fixed:
$ runqemu qemuarm64 (without -nographics)
There is no output in qemu console without this fix.

(From OE-Core rev: 40a64e64b2ff41661ff254d0836c5f60120c6795)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:53 +00:00
Zubair Lutfullah Kakakhel 3f1ec19b86 arch-mips: Add MACHINEOVERRIDES variables to reduce duplication
In some cases, each MIPS variant in a recipe requires a duplicate
line. Even if the passed flag is the same.

Add global MACHINEOVERRIDES variables for the following
 * mipsarch		: All MIPS
 * mipsarch{eb,el}	: All MIPS Big/Little Endian
 * mipsarchr6		: All MIPS R6
 * mipsarcho32		: All MIPS o32 Endian Independent
 * mipsarchn32		: All MIPS n32 Endian Independent
 * mipsarchn64		: All MIPS n64 Endian Independent
 * mipsarcho32{eb,el}	: All MIPS o32 Big/Little Endian
 * mipsarchn32{eb,el}	: All MIPS n32 Big/Little Endian
 * mipsarchn64{eb,el}	: All MIPS n64 Big/Little Endian

This is intended to reduce duplications in recipes

[YOCTO #10404]

(From OE-Core rev: 0d2205f26e5ece089630f72af2bd5f0931e851c3)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:52 +00:00
Zubair Lutfullah Kakakhel 4caa6168b8 arch-mips: Add o32 in TUNE_FEATURES for MIPS32R6
mips32r6 tunings should have o32 ABI flag in TUNE_FEATURES

(From OE-Core rev: b2320b7a183dac6b1fcf56db6eadd895554886e1)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:52 +00:00
Todor Minchev 33ceab7979 runqemu: add user mode (SLIRP) support to x86 QEMU targets
Using 'slirp' as a command line option to runqemu will start QEMU
with user mode networking instead of creating tun/tap devices.
SLIRP does not require root access. By default port 2222 on the
host will be mapped to port 22 in the guest. The default port
mapping can be overwritten with the QB_SLIRP_OPT variable e.g.

QB_SLIRP_OPT = "-net nic,model=e1000 -net user,hostfwd=tcp::2222-:22"

(From OE-Core rev: 80e6fc678f3dcd774d9376cdf2a6afcba2cd0b09)

Signed-off-by: Todor Minchev <todor.minchev@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-06 23:35:35 +00:00
Jussi Kukkonen a1668c8721 conf: Use xf86-input-libinput by default
Don't install legacy X input drivers for any machines by default,
RRECOMMEND xf86-input-libinput instead.

This is the setup suggested by upstream: install only libinput by
default, but let niche legacy drivers sort higher in configuration
so they get chosen if installed. So the order is:
 evdev < libinput < (synaptics|vmmouse|...)

This also removes vmmouse X driver from the qemu config. If a VMware
virtual mouse device really needs to be supported, we should enable
CONFIG_MOUSE_PS2_VMMOUSE in kernel instead: that is directly supported
by the libinput X driver.

Fixes [YOCTO #10195].

(From OE-Core rev: 2d005faff6341a81a2afae28860101ba9db51ae8)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-01 10:05:45 +00:00
Robert Yang 34b16fea56 arch-mips.inc: remove duplicates from PACKAGE_ARCHS
Fixed:
MACHINE = "qemumips64"
DEFAULTTUNE = "mips64-o32"

$ bitbake linux-yocto
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Error, the PACKAGE_ARCHS variable contains duplicates. The following archs are listed more than once: mips64-o32

(From OE-Core rev: e57d70e6803c63823ae3a7c7971fc06db3748b68)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:43 +01:00
Saul Wold f683658705 x86-base: Update version to 4.8
This update will avoid confusion with other parts of OE-Core that
set the kernel version to 4.8 for qemux86* and genericx86*.

(From OE-Core rev: 7f8c36d8aa00da109e842c790c6a0ab7a849de72)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:42 +01:00
Zubair Lutfullah Kakakhel 8be92dcd59 arch-mips: Add mipsisa{32, 64}r6{el, } tunes
Add support for MIPS Release 6 ISA and the various tune
configurations.

This patch adds the tunes for 32r6 and 64r6 n64 and not the n32
variants at the moment.

Release 6 onwards, the tuples are now
 - mipsisa32r6-linux-gnu
 - mipsisa32r6el-linux-gnu
 - mipsisa64r6-linux-gnuabi64
 - mipsisa64r6el-linux-gnuabi64
 - mipsisa64r6-linux-gnuabin32
 - mipsisa64r6el-linux-gnuabin32

For more details, check https://wiki.debian.org/Multiarch/Tuples

(From OE-Core rev: 6b2e0c60c3222a13b33284f258d5c340222d759f)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-07 16:43:57 +01:00
Nathan Rossi de4fffe558 machine/qemu*: Add comment regarding the reason for virtio-rng-pci
Bring across the comment that was in runqemu regarding why the
virtio-rng-pci device was needed. This comment is added to each location
where the virtio-rng-pci device is added.

(From OE-Core rev: bc5d1fdea674e842e4b0c45b38782930ec133051)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Zubair Lutfullah Kakakhel 8dfcfbeb14 arch-mips: Add mips64-o32 tunes
Add mips64 + o32 rootfs abi tune configurations

(From OE-Core rev: ae5073c4abd8935c01d14d3e6395124f815bd10b)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-24 07:30:10 +01:00
Otavio Salvador bad17ae72f tune-ppc[65]00.inc: Disable QEMU usermode usage
The QEMU usermode fails with invalid instruction error when used with those tunes.

The issue is being tracked in [YOCTO: #10304].

(From OE-Core rev: f9fd1a7fdf03ade9735e137a526a54e723d03dc6)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-24 07:30:10 +01:00
Zubair Lutfullah Kakakhel 2f4b80b306 arch-mips: Add mips64r2 tunes
Add MIPS64r2 optimizations

(From OE-Core rev: 4c10376bdfd54af75de840bd4a31386e6e89477e)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-24 07:30:09 +01:00
Nathan Rossi deba7cac00 runqemu: Move virtio RNG to machine configuration
Not all QEMU machines (outside of those available in OE-Core) are
capable of using the virtio-rng-pci device due to various machine models
not having a pci/virtio bus. This makes it such that the use of the
'-device virtio-rng-pci' flag to QEMU is machine specific.

This patch removes the general addition of the flag to all runqemu
targets and adds the flag into the QB_OPT_APPEND for all the qemu*
machines in OE-Core that support its use (which is all of them).

(From OE-Core rev: e890c05e66a21702e9e8ccce794b74cb7f5518ed)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23 14:56:39 +01:00
Robert Yang 286db044c3 qemuppc.conf: adjust kernel console
Fixed kernel trace when booting:
[   12.825809] random: crng init done
[   13.918323] irq 36: nobody cared (try booting with the "irqpoll" option)
[   13.924821] CPU: 0 PID: 335 Comm: getty Not tainted 4.8.0-rc5-yocto-standard #1
[   13.930492] Call Trace:
[   13.936214] [cff73f20] [c00790f0] __report_bad_irq.isra.0+0x3c/0x128 (unreliable)
[   13.941908] [cff73f40] [c0079518] note_interrupt+0x2b8/0x304
[   13.947265] [cff73f70] [c00766f4] handle_irq_event_percpu+0x5c/0x74
[   13.952503] [cff73f90] [c0076768] handle_irq_event+0x5c/0xdc
[   13.957667] [cff73fa0] [c007a29c] handle_fasteoi_irq+0xdc/0x234
[   13.962984] [cff73fc0] [c007592c] generic_handle_irq+0x3c/0x58
[   13.968288] [cff73fd0] [c0006c74] __do_irq+0x54/0x18c
[   13.973612] [cff73ff0] [c000f9c8] call_do_irq+0x24/0x3c
[   13.978742] [cf0cdb70] [c0006e40] do_IRQ+0x94/0x110
[   13.983992] [cf0cdba0] [c001215c] ret_from_except+0x0/0x14
[   13.989281] --- interrupt: 501 at pmz_set_termios+0x130/0x6d8
[   13.989281]     LR = pmz_set_termios+0xf0/0x6d8
[   13.999353] [cf0cdc90] [c049f130] uart_change_speed.isra.2+0x60/0x168
[   14.004436] [cf0cdcb0] [c049fdbc] uart_startup.part.8+0xec/0x1e0
[   14.009625] [cf0cdce0] [c04a0ab4] uart_open+0x138/0x16c
[   14.014723] [cf0cdd00] [c047e510] tty_open+0x118/0x65c
[   14.019743] [cf0cdd60] [c01894c8] chrdev_open+0xdc/0x1e0
[   14.024616] [cf0cdd90] [c01807d0] do_dentry_open+0x23c/0x358
[   14.029418] [cf0cddc0] [c0194878] path_openat+0x58c/0x1084
[   14.034054] [cf0cde50] [c01965b4] do_filp_open+0xbc/0x10c
[   14.038539] [cf0cdf00] [c01822fc] do_sys_open+0x154/0x224
[   14.043105] [cf0cdf40] [c0011a44] ret_from_syscall+0x0/0x38
[   14.047828] --- interrupt: c01 at 0xfeef5a0
[   14.047828]     LR = 0xfeef544
[   14.056543] handlers:
[   14.060980] [<c04a2b10>] pmz_interrupt
[   14.065468] Disabling IRQ #36

(From OE-Core rev: 7c6d0e4ada6dea6ac994e637b7d5cf007f73e411)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-20 15:11:07 +01:00
Saul Wold 8d3f71234f qemuboot-x86: Add task_timeout = -1 to uvesafb
This causes the default timeout to be set to infinity, it will still report out
every 5000 milliseconds

(From OE-Core rev: fd9e1ba8f70402bd3c4b873d349057f96f5bcb19)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-16 15:24:03 +01:00
Richard Purdie d1cb381977 runqemu: Allow unique network interface MAC addresses
Current qemu instances all share the same MAC address. This shouldn't be an
issue as they are all on separate network interfaces, however on the slight
chance this is causing problems, its easy enough to ensure we use unique
MAC addresses based on the IP numbers we assign.

(From OE-Core rev: c01962bf88786dd84ad83cc1d315297607d29f7c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:32 +01:00
Robert Yang 638d19adb4 qemu.inc: inherit qemuboot.bbclass
All qemu boards should be able to boot by runqemu.

(From OE-Core rev: 5174889d59a5d6da29b4290376010dd176767e1f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:32 +01:00
Richard Purdie f9732b410e qemuppc: Use virtio networking instead of pcnet
qemuppc can use virtio networking and we may as well do so for better
prformance as we do under the other emulated hardware.

(From OE-Core rev: 8a82ded799be79eacb64cf313b6f2799a4f5ffab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:32 +01:00
Robert Yang 18c7c0daef qemuppc.conf: set vars for runqemu
(From OE-Core rev: 2c8e5657cafafe848c7e7c714e5e73bb82799d65)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:32 +01:00
Robert Yang 09a77107e7 qemumips/qemumips64.conf: set vars for runqemu
Add qemuboot-mips.inc to reduce duplicated code, the various mips bsps
which can be boot by runqemu can require qemuboot-mips.inc

(From OE-Core rev: cb28128477e98ed7dc7a90dd197f6dd04cf75be0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Robert Yang 64da0d7799 qemux86.conf/qemux86-64.conf: set vars for runqemu
Add qemuboot-x86.inc to reduce duplicated code, the x86/x86_64 bsps
which can be boot by runqemu can require qemuboot-x86.inc.

(From OE-Core rev: b5ff3dda2a576ba7e5d68198ea6c6eb49cf80eb8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Robert Yang 9b0a94cbed qemuarm64.conf: set vars for runqemu
(From OE-Core rev: 73bccbbfc0f987fc82aca5411e15f62c02e5336c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Robert Yang 8b6e7729a3 qemuarm.conf: set PREFERRED_VERSION_linux-yocto
The base_version_less_or_equal() will raise errors if
PREFERRED_VERSION_linux-yocto is None. For example, when we build
DISTRO = "nodistro", PREFERRED_VERSION_linux-yocto is not be defined
since it is defined in poky.conf, and then bitbake will
choose the higher version which is 4.8 currently, so set
PREFERRED_VERSION_linux-yocto to 4.8, otherwise, runqemu can't boot it.

(From OE-Core rev: fd31e30f97ee9bd128d5b7b748987b0a6427b279)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Richard Purdie 9b7614e674 qemuarm: Add DTB file new kernel
For kernels after 4.7, we need to ensure the DTB file for the kernel is
used by runqemu. Doing this conditionally based upon the kernel verison
being built seems to be the only way forward for this.

(From OE-Core rev: 4615764509234bfb206ffe4cd430653b88d46ec3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Robert Yang 90ab47c6cf qemuarm.conf: set vars for runqemu
These info are from old runqemu.

(From OE-Core rev: f22f09f8e1bb24e92e9109fcd7a347277acedcce)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09 12:07:31 +01:00
Alexander Kanavin 51afd4515f arch-mips.inc: Disable QEMU usermode usage when building with n32 ABI
QEMU usermode doesn't support n32 binaries, erroring with "Invalid
ELF image for this architecture".

(From OE-Core rev: 66aa39a959bd41f7063fe64a9225eb9fd6c3293b)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03 23:45:54 +01:00
Khem Raj 7e4d206777 xserver-xf86-config: pre-load int10 and exa modules
musl doesn't like lazy loading that xorg uses, therefore
load the needed modules explicitly

[YOCTO #10169]

(From OE-Core rev: e279c9a30f0df400b06a47a487967a734854714b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-23 17:44:42 +01:00
André Draszik 1ebec491aa tune-mips-24k: add QEMU_EXTRAOPTIONS for DSP and MIPS16e cores
The core emulated by default by qemu-mips(el) just crashes with
illegal instruction when encountering DSP and/or MIPS16e
instructions - we have to specify a CPU that supports the extra
instructions.

This is an issue when generating a rootfs and e.g. running some
of the package postinstall scriptlets.

The patch to qemu to add 24KEc as a CPU has been accepted
upstream, so let's use that CPU here as well as needed.

(From OE-Core rev: 8af17075f56241dd8f3ea86c609adbd73f248218)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01 11:47:11 +01:00
Zhenhua Luo 6bb3069eef tune-ppce500mc.inc: pass -mcpu=e500mc for ppce500mc kernel compile
Currently the -mcpu parameter is not passed to cross gcc when assembling
kernel .S file, the implicit -mcpu option that defaults to the latest
server cpu might casuse incorrect assembling.

A existent case is that wait instruction of ppce500mc is incorrectly assembled
to power9 version with default -mcpu setting, accordingly kernel boot calltrace
happend when wait instruction is executed on ppce500mc targets.

(From OE-Core rev: b17f91ed06a604e3d356fe17756bfe2ca61594b7)

Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-10 14:12:17 +01:00
André Draszik a9120996e0 mips: add tunes for (some) 24K cores
- add 24kc big and little endian, which is based on mips32r2 w/o FPU
- add 24kec which is 24kc + DSP
- both can have the MIPS16e ASE enabled in their tunes

(From OE-Core rev: cccd8b09523d8f0c1df97d08181737681db13f37)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-12 23:47:19 +01:00
André Draszik 7acb3db0b1 mips: add a tune for using MIPS16e ASE instructions
The MIPS16e instruction set still has to be enabled by setting
MIPS_INSTRUCTION_SET = 'mips16e'
in e.g. distro.conf and can be disabled on a per-recipe basis as
needed.

This is a similar approach as is available on ARM for Thumb support.

Note that contrary to the ARM Thumb support in OE, we do add a new
OVERRIDE (mips16e), as there are some recipes in OE that need to be
compiled slightly differently if mips16e mode is requested.

(From OE-Core rev: e9d8b02a42eb08802e202770409cb5378b79b281)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-12 23:47:18 +01:00