There is a large number of Arm Tune files located in
meta/conf/machine/include/, and to support the current and upcoming Arm
cores, more are needed.  Adding more files is simply going to make it
harder to find the relevant ones for an OE/YP developer/user.  Also,
there are problems with stale and erroneous configs (see my previous
series), which will only be exacerbated by having more files.

I am proposing a reorganization of the existing tune files by including
them in the generic family include file.  For example, the
tune-cortexa55.inc would be moved into arch-armv8-2a.inc, and
tune-cortexa57.inc would be moved into arch-armv8a.inc.  This reduces
the number of files from 12 to 2 for ARMv8a, and that is excluding the
13 I am adding in this series that would otherwise be unique files.

To use, simply add
...
DEFAULTTUNE ?= "neoversen1"
require conf/machine/include/arm/arch-armv8-2a.inc
...

Which is arguably what should be done anyway (instead of taking the
default of the tune include file).
See the qemuarm64 patch in the series for a working example.

Of course, by removing the existing tune files, current users are going
to break.  A simple script can be written to use sed (or similar) to
replace the relevant parts for those users that would be affected (at
least for those that are in the layer index and update regularly).

If it is agreed that this is a good idea, I could do something similar
for ARMv7 (its just a bit more painful due to all the permutations).


As far as testing, I have built and run testimage on qemuarm64.  I've
built every QEMU machine in meta, as well as every machine in
meta-arm-bsp (modified to use the new code).  There are no observed
issues.

Thanks,
Jon

---

Jon Mason (6):
  arm64: set BASE_LIB to lib64
  arch-armv8-2a.inc: Add Cortex-A55 tunings
  arch-armv8a.inc: Add existing tunings
  qemuarm64: change tuning
  arch-armv8a.inc: Add tunes for supported ARMv8a cores
  arch-armv8-2a.inc: Add tunes for supported ARMv8.2a cores

 meta/conf/machine/include/arm/arch-arm64.inc  |   3 +-
 .../machine/include/arm/arch-armv8-2a.inc     | 160 ++++++++++++++-
 meta/conf/machine/include/arm/arch-armv8a.inc | 189 +++++++++++++++++-
 meta/conf/machine/include/tune-cortexa32.inc  |  18 --
 meta/conf/machine/include/tune-cortexa35.inc  |  17 --
 meta/conf/machine/include/tune-cortexa53.inc  |  18 --
 meta/conf/machine/include/tune-cortexa55.inc  |  13 --
 .../include/tune-cortexa57-cortexa53.inc      |  15 --
 meta/conf/machine/include/tune-cortexa57.inc  |  17 --
 .../include/tune-cortexa72-cortexa53.inc      |  20 --
 meta/conf/machine/include/tune-cortexa72.inc  |  13 --
 .../include/tune-cortexa73-cortexa53.inc      |  20 --
 meta/conf/machine/include/tune-thunderx.inc   |  19 --
 meta/conf/machine/qemuarm64.conf              |   3 +-
 14 files changed, 336 insertions(+), 189 deletions(-)
 delete mode 100644 meta/conf/machine/include/tune-cortexa32.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa35.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa53.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa55.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa57-cortexa53.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa57.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa72-cortexa53.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa72.inc
 delete mode 100644 meta/conf/machine/include/tune-cortexa73-cortexa53.inc
 delete mode 100644 meta/conf/machine/include/tune-thunderx.inc

-- 
2.20.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#142324): 
https://lists.openembedded.org/g/openembedded-core/message/142324
Mute This Topic: https://lists.openembedded.org/mt/76744238/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to