Commit Graph

21 Commits

Author SHA1 Message Date
Richard Purdie ffd875204f tune-xscale: Drop unneeded optimisation overrides
These hacks have been around for years and deal with old gcc issues.
They've been removed from the other use sites, we should clean up the
core tune file too.

(From OE-Core rev: 742eb82b85a315bb908caf64516e464ae6153668)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-18 13:18:20 +00:00
Martin Jansa 6741748aea tune-*: add PACKAGE_EXTRA_ARCHS entries starting with specific ARMPKGARCH
* e.g. arm926ejs DEFAULT tune is compatible with all PACKAGE_EXTRA_ARCHS_tune-armv5te, but needs to list arm926ejs with all possible suffixes too

(From OE-Core rev: ee3e85e3bdd382aca4ad8e2eece44064ee89dcff)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03 14:47:57 +00:00
Martin Jansa f06a11b55f tune-cortexa*, tune-xscale: fix ARMPKGARCH
* hf/t/neon/b suffix is added by other ARMPKGSFX* variables, should not be
  part of ARMPKGARCH, otherwise resulting TUNE_PKGARCH have that suffix twice,
  e.g. cortexa8hf-neonhf-neon

(From OE-Core rev: 007a0dec82a33b01541c7f6fcad5d28c47a318ba)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-03 14:47:57 +00:00
Martin Jansa 54ee29e563 tune-*: define more generic DEFAULTTUNE to share feed between machines
* this is mostly for backwards compatibility and to share binary feed
  like it was before, but now without missing different -mtune in it
* if you want to build some package with -mtune add something like this
  to your distro config
  DEFAULTTUNE_qemuarm_pn-openssl = "arm926ejs"
  DEFAULTTUNE_qemuarmx_pn-openssl = "xscale"
  be aware that if you do this you should do it also for all packages
  which depends on openssl because if you dont and you build e.g. dhcp,
  then dhcp build for arm926ejs (even with DEFAULTTUNE armv5te) will
  depend on openssl with arm926ejs, so dhcp in armv5te feed will be
  rebuild after each MACHINE switch.
* cortexm3, cortexr4, iwmmx and ep9312 are using own DEFAULTTUNE because
  they define also different -march
* shared feeds are
  armv4t: arm920t, arm9tdmi
  armv5te: arm926ejs, xscale
  armv7a-neon: cortexa8, cortexa9

(From OE-Core rev: a11bdc36a1be18cc5aa14682b2a2c9ee83141f51)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-26 10:01:22 +00:00
Martin Jansa 2c300bccbd arch-arm: define different ARMPKGARCH when different CCARGS are used
* without this tune-xscale and tune-arm926ejs were both creating
  packages in armv5te feed, but each with different -mtune, with
  OEBasicHash enabled it was causing each package to rebuild with new
  -mtune after MACHINE switch, but that doesn't make sense with output
  stored in the same armv5te feed

* this makes different feed for each -mtune, but more generic one to be
  selected with DEFAULTTUNE

* tune-iwmmxt and tune-ep9312 were already using this, just move it
  bellow AVAILTUNES and use ARMPKGARCH_tune-foo syntax

* tune-cortexr4 and tune-cortexm3 are using armv7r/armv7m as ARMPKGARCH
  because there isn't another tune to use the same -march

(From OE-Core rev: cffda9a821a3b83a8529d643c567859e091c6846)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-26 10:01:22 +00:00
Martin Jansa 1c5fb74ad7 tune-xscale: replace TUNE_CCARGS for webkit-gtk and cairo only with xscale in TUNE_FEATURES
* without this you'll get different sstate checksum for webkit-gtk and
  cairo even when you build them with DEFAULTTUNE == armv5te
* maybe this isn't needed at all anymore or if it is then it should be
  applied in arm-armv5.inc for all armv5te devices, not only xscale?

(From OE-Core rev: c51643a510da6d1c3426b3de8f18ae864cb073a4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-25 21:36:43 +00:00
Peter Seebach df13d0708b tune-sh4.inc: Fix spelling of big-endian feature set
In tune-sh3, tune-xscale, and tune-sh4, several FEATURES lines referred
to nonexistent features like "sh3eb" when they should have referred to "sh3
bigendian" or the like.  Caught by the TUNEVALID sanity check.

(From OE-Core rev: e63fb1e9918bff6f91bbab09b29248ab8b649e84)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Dmitry Eremin-Solenikov f1d3a94e81 tune-xscale: fix xscale/xscale-be confusion
Currently tune-xscale.inc has options wrt. setting of xscale/xscale-be tunes.
Fix that.

(From OE-Core rev: 90ce6e4b7ffaaf1e3af39583ca62b20f08e78959)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-01 14:16:55 +01:00
Richard Purdie 6afd21bced Add ARM tune file overhaul based largely on work from Mark Hatle
(From OE-Core rev: 789dcb8e68a2ab9784ac10ab36815010c61af2fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 15:45:48 +01:00
Khem Raj be8f985d2c meta: Rename SITEINFO_ENDIANESS to SITEINFO_ENDIANNESS
There is this discrepency in spelling. Lets fix it in
core. There are lot of layers using SITEINFO_ENDIANNESS
This was shielded since meta-oe had its own copy of
siteinfo class. But that class has now been deleted in
favor of oe-core

(From OE-Core rev: 54a54778fad39931ac7d43daaf37ce7c1946a29b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-26 15:47:03 +01:00
Richard Purdie 255719f023 conf/machine/include: Start to fill out architecture specific tune include files and tune features
These changes revolve around the idea of tune features. These are represented by
'flag' strings that are included in the TUNE_FEATURES variable.

Any string included in TUNE_FEATURES should also add a TUNEVALID[<name>] entry so
we can know which flags are available in TUNE_FEATURES and have documentation about
what the flags do. We will add sanity code to error if flags are listed in
TUNE_FEATURES but are not documented in TUNEVALID.

A given tune configuration will want to define one or more predetermined sets of
_FEATURE flag lists. These are defined in the form TUNE_FEATURES_tune-<name>.
For defined tune configuation, <name> should be added to the AVAILTUNE list so that
we can determine what tune configurations are available. Flags cannot be used in this
case as with TUNEVALID since its useful to be able to build up tune lists from other
TUNE_FEATURES_tune-yyy options.

A given tune configuration may also define PACKAGE_EXTRA_ARCHS_tune-<name> and
BASE_LIB_tune-<name> to control the multilib location. All options can be overridden
by the distro or local user configuration.

(From OE-Core rev: 5f9d56bd64997b93ed7e46c117851002a0556654)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25 14:36:30 +01:00
Richard Purdie d74176473a conf/machine/include: Set TUNE_CCARGS instead of TARGET_CC_ARCH
Since we're updating the tune file format, it makes sense to abstract
the compiler tune arguments at this point too. This means that should
these need to be overridden at any point, the original values can
still be obtained in a similar manner to the other TUNE* variables.

Whilst this isn't strictly necessary for any current need, its likely
good practise to standardise this behaviour.

(From OE-Core rev: 3a3c69a1bc3cf0b6f6a3b13d86c12ed21798d48e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25 12:06:30 +01:00
Richard Purdie 039a2d006b conf/machine/tune: Overhaul tune include file variables
There is currently consideradble confusion over how the tune files operate
and how these interact with the rest of the build system. This update/overhaul
changes things so the tune files are primarily resonsible for setting:

TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that
represents the architecture we're targetting.

TUNE_PKGARCH - The value that represents the tune confuration that this set
of tune parameters results in.

This allows the significant improvement that the core can now always determine
the target architecture value, even when TARGET_ARCH needs to be reset to
something different and likewise, there is one package architecture variable
the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH
and FEED_ARCH variables.

(From OE-Core rev: a10de4cf8b424ee95c8e283e75d486be5b3b8eac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-25 12:06:30 +01:00
Richard Purdie a295a0442e bitbake.conf/tune files: Adjust PACKAGE_EXTEA_ARCHS
There is a problem with the current PACKAGE_EXTRA_ARCHS implementation
since its impossible to control which extra architectures sort higher
than TARGET_ARCH and which sort lower. In the x86 case for example,
TARGET_ARCH might be "i586", i486 should be lower than this and i686 should
be higher. There are also complications where its easy to inject duplicate
entries into the variable.

I tried various versions of this patch and concluded that it was simplest
just to force the tune files to include TARGET_ARCH in the list in the
right place if they're planning to customise it themselves. Other approaches
with appends and prepends just complicated the code for no good reason.

The TARGET_ARCH definitions should also move to the tune files but I'll
leave this for a separate patch.

(From OE-Core rev: d492ebf8b1801da99c679f465be98ce54fd3061a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:43:47 +00:00
Koen Kooi 38b25eed95 machines: move PACKAGE_EXTRA_ARCHS to tune files
This gets us closer to making including tune-<arch>.inc "just work".
Moving the TARGET_ARCH definitions is something for a follup patch.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-10 18:18:43 +00:00
Richard Purdie a30f6e968c base.bbclass: Don't inherit siteinfo in base.bbclass [based on an OE patch from Chris Larson] 2010-03-19 18:08:35 +00:00
Richard Purdie dc2a130909 tune-xscale.inc: Compile cairo for armv4 to avoid alighment trap issues with double instruction
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5203 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-09-19 17:32:35 +00:00
Richard Purdie 45d0dac16a bitbake.conf/tune.conf: Set BASE_PACKAGE_ARCH and build PACKAGE_ARCH from this
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4857 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-07-17 20:40:34 +00:00
Richard Purdie 39a81a42fd tune-xscale.inc: Compile webkit-gtk for armv4t since there are massive alignment issues with double word instructions with webkit on armv5
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4833 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-07-14 16:19:09 +00:00
Richard Purdie 65f6428521 conf/machine: Sync various changes with OE
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2656 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-09-02 17:00:54 +00:00
Richard Purdie 303cbeeea2 conf/machine/include: Rename to .conf to .inc files
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2388 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-08-08 12:37:40 +00:00