Commit Graph

588 Commits

Author SHA1 Message Date
Khem Raj
91b787334a qemuriscv: Do not blacklist clang anymore
clang 9.x ( which is now default in meta-clang ) supports riscv

(From OE-Core rev: 198689f74915756ce6ae38d6735780a26e9b3f7e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27 13:02:16 +01:00
Limeng
1edc497a80 tune-cortexa57-cortexa53: add tunes for ARM Cortex-A53-Cortex-A57
commit 3613b2780a6b5d5d70ea6802be5060a8214cbdb5 from
git://github.com/renesas-rcar/meta-renesas

The renesas rcar SoC H3/M3 is big.LITTLE architecture(cortex-a57.cortex-a53).
In order to optimize the performance of the code running on SoC H3/M3,
add a tune file for ARM Cortex-A53-Cortex-A57.
Create this tune file by refering GCC doc, 3.18.5 ARM Options.

(From OE-Core rev: 7e0c9290a9971b92bcb313742f126ca7488d91c3)

Signed-off-by: Meng Li <Meng.Li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-16 23:02:44 +01:00
Andre McCurdy
71fbb20771 feature-arm-thumb.inc: fix ARM_THUMB_SUFFIX
Since TUNE_FEATURES now either contains a CPU or an architecture (but
not both) we can't rely on finding the architecture in TUNE_FEATURES.
Use architecture specific over-rides instead.

(From OE-Core rev: 805dd4807d322dc70cef97edd68fdb3142b60fb1)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-07 07:47:24 +01:00
Alistair Francis
b8c2575002 qemuriscv: Generate a wic rootFS with a larger filesystem
This allows us to generate a rootFS with a large filesystem for use with
QEMU.

(From OE-Core rev: e06439200e44999c1e2f88d7d6c651da13698ca7)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-03 09:55:50 +01:00
Khem Raj
6e3fac8de6 tune-riscv: Drop littleendian and introduce bigendian tune
Default riscv is little-endian moreover most of other arches define
bigendian as tune and treats absense as litteendian, this make risc-v
fall in line

(From OE-Core rev: cd6f377591a7bd7b3c61ce580f997aaeffab3df3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-03 09:55:50 +01:00
Khem Raj
2bdb7ad840 powerpc-tunes: Introduce bigendian tune
This helps in defining LE tunes and at the same time specifies
endianness on compiler cmdline clearly, clang e.g. defaults to
little-endian always, so unless specified with -mbig-endian won't
compile the code right

(From OE-Core rev: e0fd699d398f0e88fb208970dea7b74e6e9431fe)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-03 09:55:50 +01:00
Alexander Kanavin
58e85c60cd qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mips
This is the qemu default since qemu 2.2, is generally supported better,
and is recommended by upstream. It also has already been in use for arm/risc
and ovmf.

Additional information:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=13466
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/

'-vga virtio' emulated hardware remains in use when virgl is enabled via a runqemu override.

Also, adjust the error whitelist, as there is a number of new messages
coming from the drivers that are not actual errors.

(From OE-Core rev: 73cb104f3307736f4922f2e0c9648f9b2d3b3b6b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:07 +01:00
Bruce Ashfield
456a92116a qemu: bump linux-yocto preferred version to 5.2
(From OE-Core rev: 0504760978b65627bb265503896bc2dfb0709475)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-01 22:33:07 +01:00
Alexander Kanavin
f32128bda2 mesa: disable gallium swrast driver on x86 x32
It was found to crash the X server on startup under qemu.

(From OE-Core rev: 045011ed29c0ab45892ad0881a4a8987f2adc977)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30 17:10:28 +01:00
Alexander Kanavin
b0bad37101 qemu: set default RAM to 256M for all machines
There was a discussion about what amount of RAM is appropriate for a
default; the outcome was that for now it is still 256M. Some qemu machine
definitions have however set this to 512M so for the sake of
treating all architectures fairly, they are reset back to 256M.

Also runqemu is adjusted to use 256M if QB_MEM is not set at all.

http://lists.openembedded.org/pipermail/openembedded-core/2019-August/285900.html

(From OE-Core rev: 04c01b6cc5be3e6d45d0e04571640648a5655a8b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-30 17:10:28 +01:00
Andre McCurdy
2c7e401a1e tune-ep9312.inc: fix TUNEVALID description
(From OE-Core rev: 62afb4e79f3f8e491db290e5932a54f3dc3f962a)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Andre McCurdy
a1a16df6ac tune-arm1176jz-s.inc: add support for arm1176jz-s CPU specific tuning
(From OE-Core rev: 95823b7eab141f8969367c4f9b76b73bf2e664dc)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Andre McCurdy
8c6004341e tune-arm1136jf-s.inc: add hardfloat support
(From OE-Core rev: 6e057cc367ab9cf82901ba8c7c3cfab35c4cb9ab)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:21 +01:00
Changqing Li
4e7557640c qemumips/qemumips64: move QB_SYSTEM_NAME to corresponding conf
Configuration:
MACHINE = qemumips64

bitbake lib32-core-image-minimal
runqemu slirp nographic qemumips64 ext4

Error:
ERROR - Failed to run qemu: qemu-system-mips: unable to find CPU model 'MIPS64R2-generic'

Fixed by moving QB_SYSTEM_NAME to Respective configuration file

(From OE-Core rev: e724e8836ed614ff8eaa0d0d9c51d22ee62576b3)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-22 22:48:26 +01:00
Alistair Francis
dd6358438c qemuriscv64: Specify the firmware as a bios instead of kernel
Now that we have a -bios option for the RISC-V virt machine in QEMU we
can pass OpenSBI in via -bios and the kernel in via -kernel. We no
longer need to pass the kernel in via -device loader so let's remove
that.

(From OE-Core rev: 65e7f371f19e053d0bac7771a80615f6bada74c7)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-21 15:29:02 +01:00
Changqing Li
060e7db0c4 qemuboot-x86: move QB_SYSTEM_NAME to corresponding conf
Configrations:
MACHINE: qemux86-64
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"

Reproduce steps:
bitbake lib32-core-image-minimal
runqemu qemux86-64 nographic lib32-core-image-minimal

Errors:
qemu cannot bootup since:
Booting from ROM...
This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.
QEMU: Terminated

For lib32 image, override has x86, so the qemubin set to qemu-system-i386,
fix by move QB_SYSTEM_NAME to corresponding conf, don't use the override

(From OE-Core rev: ffaf86f175b2e6caa3a0067f7b3725930b053715)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-07 16:08:15 +01:00
Alistair Francis
607feea946 qemuriscv64: Fix QB_OPT_APPEND overwrite
Avoid overwriting the QB_OPT_APPEND variable.

(From OE-Core rev: 7143a558a61d2b5e3b0ed46ecc2c413a18361e7e)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-21 00:33:22 +01:00
Alistair Francis
e7810c7601 qemuriscv: Build uImage for RISC-V machines
(From OE-Core rev: 12dc5569d832d57b52ed68bc9009506b2d183795)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-21 00:33:22 +01:00
Alistair Francis
aad4228593 qemuriscv64: Add the QEMU RISC-V 64-bit machine
The include is split ready to add the 32-bit RISC-V machine as soon as
glibc supports 32-bit RISC-V.

This is based on the work in the meta-riscv layer, thanks to Khem for
starting this.

(From OE-Core rev: 11b6020dff4550fc3a42e04bc1e86baf37942c62)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-19 22:13:39 +01:00
Kevin Hao
317a0984e7 tune-thunderx: Set the correct PACKAGE_EXTRA_ARCHS_tune-thunderx
The value of PACKAGE_EXTRA_ARCHS_tune-thunderx should be based on
PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto instead of armv8a-crc-crypto.
Otherwise we would get some sanity check error like this:
    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 (all any noarch armv8a-crc-crypto thunderx qemuarm64) for DEFAULTTUNE (thunderx) does not contain TUNE_PKGARCH (aarch64)

(From OE-Core rev: 13cc0f7c0bd98ea228e9bdf51043117d38837ce7)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-06-11 13:26:55 +01:00
Richard Purdie
6a28a19390 qemuarm64: Add QB_CPU_KVM to allow kvm acceleration
This allows kvm acceleration on arm systems that support it. "host" is the
best option I can find right now to attempt to use the acceleration. It
potentially might not be correct but arm systems are sensitive to the
correct values and I don't want to encode the autobuilders CPU type here.

(From OE-Core rev: f13788541f64774a586971ed57699e4397b38b32)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-31 15:36:20 +01:00
Alexander Kanavin
701da54231 qemux86: use a Core 2 Duo CPU instead of the original circa-1993 Pentium
This matches what the qemux86_64 is currently using, and
will allow testing the instructions added in the meantime;
particularly various SSE extensions are now enabled.

(From OE-Core rev: f3b1e577ec94c849d0354f5679257f02ef4e4fe9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-17 07:07:28 +01:00
Joshua Watt
b89e99f927 qemux86: Allow higher tunes
Allows the qemux86 machine to be tuned all the way up to an i7 if
desired by overriding DEFAULTTUNE. The default if unspecified is left at
i586.

This can be useful for enabling advanced processor features like SSE if
desired or required by various packages.

(From OE-Core rev: 0be64e54a0e67472eaff9c794a33d76971c9b1a3)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-01 09:08:58 +01:00
Peter Kjellerstedt
29edc44efa arch-arm64.inc: Lower the priority of aarch64 in MACHINEOVERRIDES
This makes sure, e.g., ${SOC_FAMILY} and ${MACHINE} have higher
priorities than aarch64.

(From OE-Core rev: 4d1339af88543d85930139dbcb87a669f285ea66)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-03 14:50:13 +01:00
Peter Kjellerstedt
42ea15a21b arch-armv8a.inc: Correct PACKAGE_EXTRA_ARCHS_tune-armv8a-*
The armv8a tune specific PACKAGE_EXTRA_ARCHS contained tune feature
names like "crc" and "crypto" rather than package architecture names
like "armv8a-crc" and "armv8a-crypto".

(From OE-Core rev: 1756f2354745ee709886683422887efed4e10dba)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-03 14:50:13 +01:00
Jon Mason
bf9ad70bda machine: clean up config files
Beautify the machine config files by making the names and descriptions
more uniform and verbose

(From OE-Core rev: 1108a24e2c58794163c8cf35154f8be5c1d06c29)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-01 14:48:44 +01:00
Joe Slater
fa73dcd57f qemumips64: change tune to mips64r2
Allows for mips32 multilib to be mips32r2, like qemumips.

(From OE-Core rev: 9713e8a5460ae81a33c6a727664f4cdb54fb1f0a)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-25 23:13:48 +00:00
Adrian Bunk
800c32096c Remove the simd tune for armv8a
SIMD instructions are a mandatory part of armv8a
(they were optional in armv7a), and the gcc docs
also say that they are always enabled.

(From OE-Core rev: 02288c94e99e9dd444d8c1af186b6d89085b7b8b)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-19 23:50:41 +00:00
Khem Raj
c0bbbc5419 arch-armv5-dsp.inc: Check for dsp only to enable 'e' in package arches
armv5 is not a specific tune feature anymore, there is no need to check
it, since having dsp will define if 'e' should be added or not

(From OE-Core rev: 1d6d5bb30a83f9136b7c33e297d48564ae61b50e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-18 23:47:43 +00:00
Bruce Ashfield
bab9491c32 machine: bump preferred version to 5.0
(From OE-Core rev: bb4f4a202d400fd1cf630c29f864d472258cc005)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-12 11:57:41 -07:00
Richard Purdie
ff35b6c57a qemuarm64: Fix graphics hang with 5.0 kernel
Ensure we turn on edid for the VGA display which fixes a hang with the
5.0 kernel for qemuarm64.

Thanks to Jon Mason for the fix.

(From OE-Core rev: c112be9643f9031964be4068feeb5e2f8528c107)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-12 11:57:41 -07:00
Jon Mason
6acb45106d qemuarm: Swap for an arm7ve (A15) configuration
Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
moving the old armv5te Versatile PB based machine to qemuarmv5.

The new machine uses the QEMU virt machine type, which should be
faster to emulate and updates the qemuarm support to a modern
architecture.

(From OE-Core rev: 6fc70eb4f3494bee2be10ee24fe3ea1c8b5ff988)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-12 11:57:41 -07:00
Steven Hung (洪于玉)
c3c8c5b557 tune-cortexa*: Add missing BASE_LIB tune overrides
For multilib to work correctly, BASE_LIB overrides must be provided.

(From OE-Core rev: b32ec63e48a3552f2e7f3cc5caf61432af716283)

Signed-off-by: teven Hung (洪于玉) <Steven.Hung@mediatek.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-11 05:36:37 -07:00
Steven Hung (洪于玉)
f30aa452f6 tune-cortexa35: fixed typo
"cortexa53" -> "cortexa35"

(From OE-Core rev: caa2eb174a997e98c52362442e9a1ccfa4f7e9f7)

Signed-off-by: Steven Hung (洪于玉) <Steven.Hung@mediatek.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-11 05:36:37 -07:00
Jon Mason
b181bf92e2 qemuarm64: Add graphics support
Add the necessary parts to qemuarm64.conf for graphics to be shown in
the SDL window, and USB so that it is possible to interact with it.

(From OE-Core rev: 7098a0e9115416b2cc1234e86893f8b9337e7849)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-06 16:26:47 +00:00
Jon Mason
bc87fbb0a5 qemuarm64: config cleanups
Add comments describing what is going on, remove an unnecessary space,
remove a duplicate comment, and increase the serial speed.

(From OE-Core rev: d1071579e3896f68b1e4970c1fc9a97b043091e9)

Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-06 16:26:47 +00:00
Mike Crowe
10a97f71af arch-armv8a.inc: Add missing BASE_LIB tune overrides
For multilib to work correctly, BASE_LIB overrides must be provided for
each new tune added in this file.

(From OE-Core rev: e39c5ec90ebbc37064c9cd59eba12603317740cd)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-26 23:04:31 +00:00
Phil Edworthy
c4f1276721 arch-armv7*.inc: Add Cortex vfpv4-d16 support
Some ARM Cortex devices have the VFPv4-D16, but no NEON.

(From OE-Core rev: 594f8584268d5179c18512beada2bae4a21325de)

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-08 23:15:32 +00:00
ayaka
34ec0fce5f tune-cortexa72: add tunes for ARM Cortex-A72
It looks that the Cryptography engine is mandatory in this
platform.

https://developer.arm.com/products/processors/cortex-a/cortex-a72

(From OE-Core rev: 0edda66097407c62821af9e98579f5fcf906e938)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
ayaka
2de809c942 tune-cortexa53: add tunes for ARM Cortex-A53
It looks that the Cryptography engine is mandatory in this
platform.

https://developer.arm.com/products/processors/cortex-a/cortex-a53

(From OE-Core rev: 4f470b175bf03fb25ae3fef563ad317bc22338ae)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
ayaka
43885d55d0 tune-cortexa35: add tunes for ARM Cortex-A35
https://developer.arm.com/products/processors/cortex-a/cortex-a35

(From OE-Core rev: 8a3c9ed2865743d3de9fe47d44f1118f7491627b)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
ayaka
905af0b8b0 tune-cortexa32: add tunes for ARM Cortex-A32
https://developer.arm.com/products/processors/cortex-a/cortex-a32

(From OE-Core rev: e436a754b5c23760be4a616e8fab4ce55b285c9c)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
ayaka
3e03926836 ThunderX: update the armv8a rules
I am not familiar with the big endian, so I don't update it.
I don't have much information about the Cavium ThunderX,
it looks like it supports all the ARM instructions.

(From OE-Core rev: b6c6fa72bdffd5d8995058e8e0e21d5561cc16c6)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
Khem Raj
f5034f8a26 qemuarm64: Use arch-armv8a tune instead of arch-armv8
arch-armv8 does not have many real-world implementations

(From OE-Core rev: 6719de403620dded075dc74f2976669d95bffd7a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
ayaka
867032eba7 arch-armv8a.inc: add tune include for armv8
There are some addtional instructions apart from bare armv8,
also there is armv8.1, armv8.2.

Most the processor would support crc, except X-gene 1.

(From OE-Core rev: d1db78b0e284e1a1f370e71183ded0cbdc1475db)

Signed-off-by: Randy Li <ayaka@soulik.info>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-02-06 08:29:06 +00:00
Khem Raj
156a2d9860 arm-tunes: Remove -march option if mcpu is already added
tune files which inherit the arch definitions already define appropriate
-mcpu option, which is equivalent of right -march and -mtune combination
and is preferred since gcc is getting stricter and stricter with option
check semantics and can now find incompatible -march and -mcpu options
better with every release. It does internal feature consistency check
and if it finds out discrepency between what -mcpu would expand to as
compared to -march it will flag the options to be incompatible, for
naked eye it sounds wrong but gcc would translate -mcpu to a given
-march internally and it might not match to what we set in these arch
files.

The effects are quite subtle, where this can result in configure test
failing to compile due to these incompatible options and a feature
option getting disabled for a recipe for no reason.

e.g. with gcc9 which can now detect that -mcpu=cortex-a5 and
-march=armv7-a are incompatible, many features in libstdc++ ends up
disabled due to configure check failures e.g. size_t size, ptrdiff_t
sizes, which inturn results in compiling libstdc++ with unwanted
disabled features.

(From OE-Core rev: ac83d22eb5031f7fdd09d34a1a46d92fd3e39a3c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-28 23:14:09 +00:00
Khem Raj
9a55fce4a9 tune-cortexa5.inc: Add tune options for vfpv4
(From OE-Core rev: dfcfc735b38851e95282a0b5e12d0d59b951ffe5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-21 23:44:22 +00:00
Khem Raj
fb2e4b1913 arch-armv4.inc, arch-armv5.inc: Do not tie generating thumb ISA to -march
-march=armv5't'e means that CPU can execute thumb ISA, we do not need to
tie this to exclusively generating thumb ISA, this change means that
when we have thumb in tune features then it can use 't' in -march
options irrespective of ISA being thumb or arm.

This fixes derivative of armv5 tunes and paves way for gcc9 where e.g.
armv5e is dropped and minimum arch supported is armv5te

(From OE-Core rev: 49bc3eab2897307a92b538a045e3d4dce245b0e0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-07 10:54:13 +00:00
Serhey Popovych
2468becd4b arch-powerpc64.inc: Use elfv2 ABI when building with musl
Historically first PowerPC ABI was big-endian only (elfv1 currently). It
is standard ABI for both 32-bit ppc and 64-bit ppc64 architectures.

With PowerPC little-endian support new ABI was introduced (elfv2) and it
is used primarily with ppc64le target only. While it has support for
big-endian it is not commonly used and elfv1 still preferred.

Musl does support only elfv2 ABI for both LE and BE and does not have
any plans to support elfv1.

Since then to build for powerpc64 with musl new ABI should be used. As
expected it is not compatible with elfv1 but that isn't problem as long
as there is no binary distributed software or assembly code written for
elfv1 ABI.

(From OE-Core rev: 68c9641855199f34aabe1050e863c21830116fe1)

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-15 17:10:52 +00:00
Serhey Popovych
14dc19f868 tune-power[5-7].inc: Disable QEMU usermode usage
The QEMU usermode fails with invalid instruction error when
used with those tunes.

(From OE-Core rev: c1c881ef7f4faf94f385ae742030382122ee5816)

Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-12-15 17:10:51 +00:00