Commit Graph

515 Commits

Author SHA1 Message Date
Ross Burton
096df641d2 meta/conf/machine: remove SERIAL_CONSOLES_CHECK
There's no need for this variable anymore, as all consoles listed in
SERIAL_CONSOLES are checked for their existence before a getty is
started.

(From OE-Core rev: 8a1060952f8b6956acf747f3853401ac8a981fc3)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-11 09:43:45 +01:00
Richard Purdie
44b4c74cad runqemu/qemurunner: Use nodelay with tcp serial connections
This disables Nagle's algorithm for our tcp serial connections which may
be causing data transfer issues.

(From OE-Core rev: f8eff4c427881a98333fdf7c42f66ed6603e4f03)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-10 09:53:32 +01:00
Richard Purdie
36d6275314 qemux86/qemuarm: Drop kernel version overrides
Drop the version overrides for the kernel for the x86 and arm machines
so we can go back to following the distro versions. The reasons for
these versions is mostly historical at this point as the issues were
resolved.

(From OE-Core rev: 298fa078fab58b64246376ffd70ad6a0c7589876)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-10 09:53:32 +01:00
Ross Burton
720ac497a6 machine/qemu*: add modesetting drivers to XSERVER
The modesetting driver works well in qemu, so install it by default. The
plain framebuffer has been buggy in recent 6.4 kernels, a sign that it's
not getting much testing. The Xorg modesetting driver that can use more
powerful virtualised hardware is much better.

We override the default XSERVER because we want to pull in the GLX
extension to exercise that.

(From OE-Core rev: 7b5fc42488a514bf51d49ee5274731c6432efd1b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-12 07:45:52 +01:00
Zang Ruochen
77ab29b04b qemuloongarch.inc:Change to use virtio-serial-pci
If virtio-serial-device is used, the following error occurs on loongarch64:
qemu-system-loongarch64: -device virtio-serial-device: No "virtio-bus" bus found for device "virtio-serial-device"

(From OE-Core rev: 08734ec0c2083e90207559ecc659809b86b8779d)

Signed-off-by: Zang Ruochen <zangruochen@loongson.cn>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-07 07:53:51 +01:00
Khem Raj
8cd5d264af arch-armv8,arch-armv9: Add sve based tune options
(From OE-Core rev: 3109a48740546f6defc652fa1a6736dc484e6021)

(From OE-Core rev: d388bf00314639f82cd9143e786c482731d2719b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29 09:41:07 +01:00
Khem Raj
e4be03be5b tunes: Add support for sve instructions on armv8/armv9
This helps in defining correct compiler options and configure options
for glibc and overall ABI for toolchain

(From OE-Core rev: 58330ce58719bd82530b1143623db7af7a85e897)

(From OE-Core rev: 43c980ad688cc4df5a5e687b0f693cf46778ce64)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-29 09:41:07 +01:00
Bruce Ashfield
ad9b04b051 conf/machine: set preferred kernel to be 6.4
(From OE-Core rev: b544e62827d2a3606fbc886ea520256c948e197c)

(From OE-Core rev: 505ea7fe653d4c61f348e737c409d43bb490ee4f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-16 07:49:17 +01:00
Richard Purdie
450d5ba9b0 arch-mips: Ensure TUNE_LDARGS is set correctly
Similarly to x86, ensure we have the flags to the linker operating correctly (it
defaults to 32 bit). Normally it is driven by gcc so this hasn't shown up but
it does lead to hundreds of binutils test failures.

(From OE-Core rev: 2cf9013fd8df2bb67f93ffd44ccc23453cedf42a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15 08:15:25 +01:00
Richard Purdie
23ec0e5e74 mips/tune-mips64r2: Set qemu cpu option correctly
Ensure the CPU enabled in QEMU is correct for this architecture.

(From OE-Core rev: 6e0d176c4ce2bbbd975b74e41f63e60df7e3a554)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-15 08:15:25 +01:00
Ross Burton
af39b83e58 machine/arch-arm64: add -mbranch-protection=standard
Enable branch protection (PAC/BTI) for all aarch64 builds.  This was
previously enabled at a global level in the GCC build, but that breaks
the gcc test suite.

(From OE-Core rev: 8905639d1cdc5ce809cc5ecd9672f5e86bf8a579)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-07-14 17:31:05 +01:00
Thomas Roos
8cbc584641 qemuboot-x86.inc: allow overwrite of QB_CPU
To test nested kvm with qemu QB_CPU* needs to be modified.
E.g. set to "-cpu Haswell-noTSX-IBRS,vmx=on"

This allows to overwrite this from local.conf etc.

(From OE-Core rev: aa9d145d90893b04cde197e9b5f4dc574e4738e1)

Signed-off-by: Thomas Roos <throos@amazon.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-06 09:52:16 +00:00
Khem Raj
0bcb886939 tune-riscv.inc: Add riscv64nc to available tunes list
This was missed when riscv64nc was added

(From OE-Core rev: 0c549ef5732afdcd96407ceb045983eed2ca75f4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 11:04:27 +00:00
Trevor Woerner
9e0145df7a QB_SMP: allow user modification
Allow a user to override the QM_SMP value giving them the opportunity to
select for themselves the number of CPUs to use in qemu.

(From OE-Core rev: 70a91e6d0357149c00b97f7e66e16cbc52997a92)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-23 12:11:29 +00:00
Xiaotian Wu
324b03e15f base: add support for loongarch64
(From OE-Core rev: 759baaceb4dd623d5da12ba0d01540fa080154ba)

Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-04 17:02:10 +00:00
Bruce Ashfield
24d0d20633 conf/qemu: bump preferred kernel version to 6.1
6.1 has been soaking for a while now, so it is time to bump the
default qemu version to 6.1 and prepare to remove 5.19.

(From OE-Core rev: 91c1f7d4eb9ec5ad683c798812395df3a56747ba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:22:53 +00:00
Martin Jansa
dca9b920e0 tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files
* use Skylake-Client to match QB_CPU_KVM as changed in:
  https://git.openembedded.org/openembedded-core/commit/?id=6f2af1e5d1537b4d31e14946292bf58f0fd76fc9

* explicitly set -cpu instead of letting qemu to choose based
  on host cpu

* check=false is still useful as e.g. on on AMD Threadripper 3970X:
  orc/0.4.33-r0 $ PSEUDO_UNLOAD=1 qemu-x86_64 -r 3.2.0 -cpu Skylake-Client  -L recipe-sysroot -E LD_LIBRARY_PATH=recipe-sysroot//usr/lib:recipe-sysroot//lib
  orc/0.4.33-r0/build/meson-private/sanitycheckc_cross.exe
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]

* if this still doesn't work for you on your host, you might need to downgrade
  DEFAULTTUNE to e.g. corei7-64 (all all the way back to core2-64), for
  more details see:
  https://www.openembedded.org/pipermail/openembedded-core/2018-April/150178.html

* the leading space shouldn't be needed, I've kept it for consistency
  with other QEMU_EXTRAOPTIONS

(From OE-Core rev: d1a52559670921389a66a4c26d37481d6611042a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-12 23:08:58 +00:00
Richard Purdie
3d67b6c60f qemux86-64: Reduce tuning to core2-64
Effectively revert "qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006"
(commit 6f2af1e5d1537b4d31e14946292bf58f0fd76fc9)

Much as I'd love us to use the latest tuning, we do have some autobuilder
hardware which isn't ready for this yet which breaks KVM and some qemu
user mode usage as there appear to be TCG bugs too. I suspect we're not
the only ones with such hardware.

Drop the tune back to core2-64, anyone can easily customise it
themselves if they need it. We can revisit this in a year or two
as we should be ready then. It has beena  good test of the rest of the
support which all seems ready.

I'd have preferred to use corei7-64 but that causes
runqemu.RunqemuTests.test_boot_machine_iso to hang.

Leave the newer tune file inclusion so people can change tunes
more easily.

(From OE-Core rev: 369b1dfa28b1791d45f068acc765190defecd460)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-11 11:03:34 +00:00
Alexander Kanavin
ba0326071e qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006
This allows us to
- test those more recent instruction sets (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE)
- benefit from improved performance across the stack both in kvm-driven system emulation and when running
on real silicon.
For example, glibc:
https://www.phoronix.com/news/Glibc-strcasecmp-AVX2-EVEX

v4 level is adding AVX-512, which is far less established, particularly Intel has famously backtracked
from supporting it in Alder Lake/Raport Lake client CPUs and AMD has only implemented it in very recent Zen4 products:
https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels

(From OE-Core rev: 6f2af1e5d1537b4d31e14946292bf58f0fd76fc9)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-06 12:03:46 +00:00
Alexander Kanavin
f2bb462850 conf/machine/include: add x86-64-v3 tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE)
Qemu 7.2 finally allows us to move beyond building for original Core 2/Core i7 era hardware,
and this patch adds support for the newer generations. But first, a bit of
background:

Recently toolchains gained support for specifying x86-64 'levels' of
instruction set support; v3 corresponds to 2013-era Haswell CPUs
(and later), with AVX, AVX2 and a few other instructions that
were introduced in that generation. I believe this is preferrable
to picking a specific CPU model as the baseline.

Here's Phoronix's feature article that explains the feature and the available levels:

"Both LLVM Clang 12 and GCC 11 are ready to go in offering the new x86-64-v2, x86-64-v3, and x86-64-v4 targets.

These x86_64 micro-architecture feature levels have been about coming up with a few "classes" of Intel/AMD CPU processor support rather than continuing to rely on just the x86_64 baseline or targeting a
specific CPU family for optimizations. These new levels make it easier to raise the base requirements around Linux x86-64 whether it be for a Linux distribution or a particular software application where
the developer/ISV may be wanting to compile with greater instruction set extensions enabled in catering to more recent Intel/AMD CPUs."

https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels

Here's gcc docs for it:
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html

And here's the formal specification (click on the pdf link):
https://gitlab.com/x86-psABIs/x86-64-ABI

The actual tune file was created by copying corei7 tunes and doing
search/replace on them. Qemu options were dropped as unnecessary.
32 bit tune was dropped as well, as there is no 32 bit only CPU
that also supports these new instructions; all of the v3 capable
chips are 64 bit.

(From OE-Core rev: ac041f90e71dba83b7144c91f929de88aaeae519)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-31 17:08:29 +00:00
Ruiqiang Hao
f142d6440e tune-neoversen2: support tune-neoversen2 base on armv9a
We supported neoversen2 base on armv8.5a in the past, add tune include
for armv9a and support neoversen2 base on armv9a.

(From OE-Core rev: 4a2c4cfaaa5a6d7175c81064939e21bcfe3e736a)

Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-21 09:20:49 +01:00
Bruce Ashfield
5ba3b8619d meta/conf: update preferred linux-yocto version to v5.19
v5.19 is the latest reference kernel, we bump our qemu machines
to use it by default.

(From OE-Core rev: 8f3b5cab696704fdc2060c710e3429859736a63a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-09 16:37:24 +01:00
Robert Joslyn
fc023a69a2 powerpc: Remove invalid GLIBC_EXTRA_OECONF
OE-core previously carried patches to glibc that added optimized sqrt
implementations for various PowerPC chips. These were recently removed,
which now results in errors when compiling glibc with certian PowerPC
machine tunes:

	checking sysdep dirs... configure: error: The 603e subspecies of powerpc is not supported.

Remove setting GLIBC_EXTRA_OECONF with parameters that are no longer
valid. Also remove a commented out setting of the variable that probably
isn't vaild anyway.

Fixes: 2511e937f445 ("glibc: Drop ppc sqrt optimisations")

(From OE-Core rev: 40f15066c24720aae36713c9856ffb4fae146a45)

Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-01 21:57:34 +01:00
Dmitry Baryshkov
372ceb2321 arch-armv8-4a.inc: add tune include for armv8.4a
Add tune include for armv8.4a. This adds support only for bare armv8.4a
(and for crypto extension). There is no support for additional
instructions added by architecture extensions (except the main crypto
extension support).

(From OE-Core rev: 39743abada4a2459c74831aa78930de5461adee2)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-21 20:58:16 +01:00
Dmitry Baryshkov
a9808dfbe9 arch-armv8-2a.inc: fix a typo in TUNEVALID variable
Fix a typo in the TUNEVALID[armv8-2a]: It enables instructions for
ARMv8.2-a, not just ARMv8-a.

(From OE-Core rev: 0a4404c117ef8733713962767c1d2c9f87c2c990)

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-21 20:58:16 +01:00
Ross Burton
eccb34f80c qemux86-64: disable legacy i8042 (AT keyboard, PS/2 mouse)
These devices are historical, modern Linux will just use the USB
devices, and occasionally the init of these devices fails:

  atkbd serio0: Failed to deactivate keyboard on isa0060/serio0
  psmouse serio1: Failed to reset mouse on isa0060/serio1: -5

Explicitly add a USB keyboard to go with the USB tablet, and disable the
i8042 entirely.

[ YOCTO #14718 ]
[ YOCTO #14743 ]

(From OE-Core rev: c01f47003f34b9ad2fe3d17e1ead84c27ee1e57d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-20 13:14:00 +01:00
Khem Raj
5d55cebe61 riscv: Add tunes for rv64 without compressed instructions
(From OE-Core rev: 4790eaf98e030ffeecfbde6644137c9d6d1873d7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-19 14:14:11 +01:00
Khem Raj
4ec467a3e3 qemuriscv: Use virtio-tablet-pci for mouse
This helps in making mouse response better where transition between host
and guest mouse is abrupt and not precise and as a result its difficult
to access stuff near the edges.

(From OE-Core rev: 010287147d2205790745e6dab8e955e71bc7cac2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-20 00:02:22 +00:00
Markus Volk
d58f40bee1 x86-base.inc: replace intel i965 driver with crocus
this fixes do_rootfs for core-image-sato after mesa update:

 Problem: package packagegroup-core-x11-base-1.0-r1.noarch requires packagegroup-core-x11-xserver, but none of the providers can be installed
  - conflicting requests
  - nothing provides mesa-driver-i965 needed by packagegroup-core-x11-xserver-1.0-r40.intel_corei7_64
(try to add '--skip-broken' to skip uninstallable packages)

(From OE-Core rev: 63f10412d793c6c10290838eb230f179046f1d23)

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-15 08:40:09 +00:00
Michael Opdenacker
5c931175b4 conf/machine: fix QEMU x86 sound options
This updates the QEMU sounds options for x86 emulation,
when "runqemu" is called with the "audio" argument,
to fix the below error:

runqemu - ERROR - Failed to run qemu: qemu-system-x86_64: warning: '-soundhw ac97' is deprecated, please use '-device AC97' instead

(From OE-Core rev: b802a5dd1a79c7be3bc790223a733ebc9be4f117)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-03-10 13:07:37 +00:00
Luna Gräfje
0fde83cf97 tune-cortexa72: Fix a misspelt override in PACKAGE_EXTRA_ARCHS
Without this, the string "${PACKAGE_EXTRA_ARCHS:tune-armv8-crc}" will
show up in some bash tasks (notably opkg-arch-config.do_compile which is
how I found out about this) which will break things (besides obviously
not doing the intended thing of expanding to a list of architectures)

(From OE-Core rev: c5142f867aaa3fb6fc134781e2e54ce10eabd530)

Signed-off-by: Luna Gräfje <luna.graefje@orbitalsystems.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-10 10:32:08 +00:00
Kevin Hao
3446475c97 tune-cortexa73: Introduce cortexa73-crypto tune
The crypto extension is optional for the Cortex-A73 processor, so we
shouldn't enable the crypto by default for the cortexa73 tune.
Introduce the cortexa73-crypto for the processors which do have
the cryptography unit.

(From OE-Core rev: c16b31ebd626d8a314264605d0bc5ab008cddd8d)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-18 10:53:54 +00:00
Kevin Hao
5867838ce7 tune-cortexa72: Drop the redundant cortexa72-crc tune
We have enabled the crc extension by default for cortexa72 in patch
("tune-cortexa72: Enable the crc extension by default for cortexa72"),
then the cortexa72-crc seems redundant. So drop it. We also rename the
cortexa72-crc-crypto to cortexa72-crypto. With these changes, it will
break the BSPs which used these two tunes, but it should be easy to fix.

(From OE-Core rev: 03cebdd7ef923a8ac5c8b7c12c7cefe7ca0158db)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-13 13:57:26 +00:00
Kevin Hao
5ea171985c armv9a/tune: Add the support for the Neoverse N2 core
This adds the support for the Neoverse N2 core, even though the
Neoverse N2 core implements the Arm v9.0-A architecture, but the support
of it in GCC is based on the Arm v8.5-A architecture. Please see the
commit 50d9db203bc3 ("aarch64: Add support for Neoverse N2 CPU") in GCC
for more detail.

(From OE-Core rev: 37597397f03b6b0082a702147dc536ff8b2fa7a3)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-13 13:57:26 +00:00
Kevin Hao
2dfd80bce5 arch-armv8-5a.inc: Add tune include for armv8.5a
This adds support for the armv8.5a architecture and the crypto
extension.

(From OE-Core rev: 0cb1a6d9cb4c32526d79dad93c8053b3793053f8)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-13 13:57:26 +00:00
Kevin Hao
cdab88ed71 tune-cortexa72: Enable the crc extension by default for cortexa72
The crc extension is optional for the ARMv8.0 but is mandatory for the
cortexa72, so there is no reason not to enable it for the cortexa72
tune. With this change, the cortexa72-crc seems redundant. But we
had better to keep it to be compatible with the BSP which already used
that tune.

(From OE-Core rev: ca50267ab568d2f688844cb7c6cd867ed34168db)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-13 13:57:26 +00:00
Bruce Ashfield
51c1d24805 conf/machine: bump qemu preferred versions to 5.15
5.14 has been removed from the active kernel list, so we make
5.15 the new default.

(From OE-Core rev: 24fb6a22332f746e3bef89ff8e5719838f0ed8b5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-12 21:09:01 +00:00
Quentin Schulz
dcf07d0ac2 mesa: PROVIDES virtual/libgles3
It's assumed that not all OpenGL ES implementation are compliant with
the 3.x specification. Therefore an additional virtual providers is
created to explicit compatibility with OpenGL ES 3 specification.

Cc: Quentin Schulz <foss+yocto@0leil.net>
(From OE-Core rev: 405cd7a37988ced627fe6ad6fd3089c17f59367e)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-14 22:46:38 +00:00
Jagadeesh Krishnanjanappa
4e26e51a3d tune-cortexa72: remove crypto for the default cortex-a72
The cryptographic unit is optional for the Cortex-A72, but it was
included by default previously.  This breaks building systems that
lack this functionality when using tune-cortexa72.inc.

To correct this, add a crypto entry in the tune file.  Since CRC is
optional for ARMv8.0, do the same thing while we're at it.

For platforms that had been happily using tune-cortexa72.inc, a slight
degradation of performance will occur using the default.  To correct
this, simply add:
DEFAULTTUNE = "cortexa72-crc-crypto"

(From OE-Core rev: 2568d537087adb0b592aa250bf628a7b48c3a9d3)

Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us> (rewording commit message)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-08 20:22:11 +00:00
Bruce Ashfield
c744decea1 conf/machine: bump qemu preferred versions to 5.14
5.14 is the latest reference kernel, so let's make it the
default.

(From OE-Core rev: af19c44c4af68568de2ddb5c11d8ad34ac600522)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-24 10:15:28 +01:00
Richard Purdie
282d596b8c image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task
The populate_sysroot task isn't enough for qemu-helper-native, we need
it's addto_recipe_sysroot task. This corrects what amounts to bad
dependency information to be explicit.

(From OE-Core rev: 55623420208bc4c77a61492d2bbcbc71d3123acd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-23 13:49:11 +01:00
Quentin Schulz
ea71f54102 conf/mips: mips16e: prepend override to MACHINEOVERRIDES
Add the tune specific override to MACHINEOVERRIDES and not OVERRIDES as
is done for all other tune include files.

Also prepend it instead of appending so that it's among the leftmost
overrides in MACHINEOVERRIDES and has a lower precedence compared to
other MACHINEOVERRIDES added later (which usually are added via a =.
(prepend)).

(From OE-Core rev: c1d524cae8ba5aa1e30e4a66937b8af3d4a67531)

Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-10 09:25:38 +01:00
Jon Mason
a4b23e131e tune-*: Use more specific DEFAULTTUNE
These files are using a more generic DEFAULTTUNE in their targeted tune
file.  This is contrary to what is being done in other tune files, and
this changes them to match.  It is still possible to use the more
generic DEFAULTTUNE in a machine's config file by simply specifying it.

(From OE-Core rev: e35205a9803692d72eb92b86d740821c667b527e)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-09-01 14:06:17 +01:00
Jon Mason
da768360dd arch-arm*: Fix bugs with dsp and simd feature include files
Fix bugs found with a duplicate inclusion of feature-arm-simd.inc and
dsp not being defined in feature-arm-dsp.inc

Found by compiling with DEFAULTTUNE set to 'armv8r' and 'cortexm33'
respectively.

(From OE-Core rev: eb49c1847bb063fa5707843e0c2632023b341fcf)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-22 22:21:47 +01:00
Jon Mason
8d77024c71 tune-cortexr*: add support for all Arm Cortex-R processors
Add tune entries for all Arm Cortex-R processors currently supported in
GCC.  Also, add the simd feature, which can be used in ARMv7a and
ARMv8a, but currently isn't.

(From OE-Core rev: 67e582379afa9bff8d585b4c7f1bc65a76d088fb)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-20 08:53:03 +01:00
Jon Mason
ff0ea5633a arch-arm*: add better support for gcc march extensions
GCC has the ability to pass extensions to the march parameter, which
expand the funcationality of the march.  For example
"-march=armv7ve+simd" adds SIMD to ARMv7.  Currently, there is no way to
expand the march setting without modifying each instance, as you can't
guarantee the ordering when using the existing TUNE_CCARGS.  By
introducing two new variables, TUNE_CCARGS_MARCH and
TUNE_CCARGS_MARCH_OPT, we can enforce that these two go together.

Also, expand existing and create new feature files that use these
variables to expand the functionality.

(From OE-Core rev: 794eb617bfd1997e7a3498812c63a20c58a10554)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-20 08:53:03 +01:00
Jon Mason
1d381f21f5 conf/machine: move tune files to architecture directories
Move all of the tune files found in conf/machine/include into their
respective architecture directories in that same location.  All
references to these will need to be updated.  So, change the relevant
ones for this tree in this commit as well.

For the ARM tunes, nest them one further into armv8a, armv8m, etc. and
rename some to make them uniform with the rest of the tunes.

(From OE-Core rev: b6f15209bcfff953cce69da97a93f9ddff141ced)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 17:01:06 +01:00
Bruce Ashfield
5d0464b17f conf/machine: bump qemu preferred versions to 5.13
5.13 is the latest reference kernel, so let's make it the
default.

(From OE-Core rev: a7ebb5053a5dd7d0989a15cc4dee7116d3ef0948)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-18 17:01:06 +01:00
Jon Mason
12e1f9815d arch-armv8m-main: missing space
Correct an issue with 2 AVAILTUNES not being separated by a space.

(From OE-Core rev: 72a9ddf85876909d6f22582561a6e1c3a2ccf2fa)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-17 09:53:04 +01:00
Jon Mason
dac9318c5a tune-cortexm*: add support for all Arm Cortex-M processors
Add tune entries for all Arm Cortex-M processors currently supported in
GCC (that are not currently present).  The ARMv7 entries were added in
conf/machine/include/ to match the existing Cortex-M and Cortex-A tune
files.  The ARMv8 entries were added to conf/machine/include/arm/armv8-m
to match how ARMv8 was done for Cortex-A processor tune files.

(From OE-Core rev: a9ff58f4cc1b45145fc1576c7eacabaea64b7bd4)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-13 14:44:06 +01:00