[OE-core] [OE-Core][Patch v2] arch-mips: Restructure mips64 and add mips64r2

Zubair Lutfullah Kakakhel Zubair.Kakakhel at imgtec.com
Tue Sep 20 15:17:24 UTC 2016


Hi,

On 09/20/2016 03:51 PM, Mark Hatle wrote:
> On 9/20/16 9:07 AM, Zubair Lutfullah Kakakhel wrote:
>> Hi,
>>
>> On 09/20/2016 02:08 PM, Mark Hatle wrote:
>>> On 9/20/16 5:33 AM, Zubair Lutfullah Kakakhel wrote:
>>>> The current file structure felt slightly unsuitable for adding
>>>> MIPS64r2. So I restructured it slightly and added MIPS64r2
>>>> support
>>>>
>>>> Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel at imgtec.com>
>>>>
>>>> ---
>>>> V1 -> V2
>>>> Fixed a subtle bug in the include files for tune-mips64.inc which
>>>> resulted in a build failure for multi-lib configuration.
>>>
>>> (Sorry, I didn't see V1.)
>>>
>>> Can you explain why you moved the items out of arch-mips.inc?
>>>
>>> Generally we want the arch-*.inc file to set a base set of components that the
>>> optimized tunes can use.  It most case we define all of the core architecture
>>> 'features' and basic tunes in the arch files, and then add specific processor
>>> optimizations in the arch-*.inc files.
>>
>> I struggled a bit with drawing the line about where the basic tunes were and where
>> the rest of them go.
>>
>> The previous structure was like so.
>>
>> include/mips/arch-mips.inc had the following tunes : "mips mips64-n32 mips64 mipsel
>> mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
>
> Most other architectures are divided into a 32-bit and a 64-bit base tune.. so
> it ends up something like:
>
> mips/arch-mips.inc:
> define: mips mipsel mips-nf mipsel-nf
>
> mips/arch-mips64.inc:
> include mips/arch-mips.inc
>
> define: mips64-n32 mips64 mips64el-n32 mips64el mips64-nf-n32 mips64-nf
> mips64el-nf-n32 mips64el-nf
>
> tune-mips32r2.inc:
> include mips/arch-mips.inc
>
> define: (mips32r2 extensions)
>
> tune-mips64r2.inc:
> include mips/arch-mips64.inc
>
> define: (mips64r2 extensions)
>
>
> but if I remember right, there was a problem.  The 64-bit people wanted to use
> the 32r2 version.  So if the include becomes:
>
> include tune-mips32r2.inc (which includes arch-mips.inc)
> include mips/arch-mips64.inc (which includes arch-mips.inc)
>
> and now you run into the same thing being included two -- which you are not
> supposed to do in OE..  So I believe this is why they were merged into a single
> 'arch-mips'.
>
>>
>> Which is a mix of 32/64 bit.
>>
>> Then
>> include/tune-mips32.inc defined "mips32 mips32el mips32-nf mips32el-nf"
>> include/tune-mips32r2.inc defined "mips32r2 mips32r2el mips32r2-nf mips32r2el-nf"
>>
>> include/tune-mips64.inc just had a require include/tune-mips32r2.inc which
>> includes the base which basically has the actual mips64 tunes.
>>
>> With this restructure patch.
>>
>> include/mips/arch-mips.inc defines no tunes.
>
> The arch should define a basic set of tunes that work on all mips architectures
> (within reason)
>
>> include/tune-mips32.inc defines mips and mips32
>> include/tune-mips32r2.inc defines mips32r2
>> include/tune-mips64.inc defines mips64
>> include/tune-mips64r2.inc defines mips64r2
>>
>> I could leave the existing layout as is and only add 64r2 as a separate patch.
>> But as I was poking around here, I tried to improve things a bit.
>>
>> Any recommendation regarding which way would be preferred?
>
> As long as the tunes remain, I'm fine.. but changing which files the base ones
> are in can break BSPs developed elsewhere.  This is the biggest concern I have.

I agree restructure can potentially break existing work out there.
I'll send v3 which only adds 64r2 support and doesn't restructure anything.

Thanks
ZubairLK

>
>>>
>>> Also I see 'mips64*-o32' defined.  I did not realize this was a valid
>>> configuration.  In the past o32 could only be compiled with mips/mips32*
>>> instructions.
>>>
>>> +TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
>>> +BASE_LIB_tune-mips64-nf-n32 = "lib32"
>>> +MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
>>>
>>> +TUNE_FEATURES_tune-mips64el-nf-o32 = "o32"
>>> +BASE_LIB_tune-mips64el-nf-o32 = "lib32"
>>> +MIPSPKGSFX_VARIANT_tune-mips64el-nf-o32 = "${TUNE_ARCH}"
>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-o32 = "mips64el-nf-o32"
>>>
>>> Also o32 and n32 are currently defined to use the same lib directory.  This is
>>> incorrect.  Per long time conventions, o32 belongs in 'lib', and n32 belongs in
>>> 'lib32'.  (n64 in lib64)
>>>
>>> So at a minimum the directory name of o32 needs to be fixed.
>>
>> Thanks for pointing this out. I'll fix this in v3.
>>
>> Regards,
>> ZubairLK
>>
>>>
>>>> ---
>>>>  meta/conf/machine/include/mips/arch-mips.inc | 60 --------------------
>>>>  meta/conf/machine/include/tune-mips32.inc    | 22 +++++++-
>>>>  meta/conf/machine/include/tune-mips64.inc    | 78 ++++++++++++++++++++++++++
>>>>  meta/conf/machine/include/tune-mips64r2.inc  | 84 ++++++++++++++++++++++++++++
>>>>  4 files changed, 183 insertions(+), 61 deletions(-)
>>>>  create mode 100644 meta/conf/machine/include/tune-mips64r2.inc
>>>>
>>>> diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
>>>> index d3e83d1..6be84be 100644
>>>> --- a/meta/conf/machine/include/mips/arch-mips.inc
>>>> +++ b/meta/conf/machine/include/mips/arch-mips.inc
>>>> @@ -42,64 +42,4 @@ MIPSPKGSFX_ABI = "${@bb.utils.contains('TUNE_FEATURES', 'n32', '-n32', '', d)}"
>>>>  TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}"
>>>>  TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
>>>>
>>>> -# Base tunes
>>>> -AVAILTUNES += "mips mips64-n32 mips64 mipsel mips64el-n32 mips64el mips-nf mips64-nf-n32 mips64-nf mipsel-nf mips64el-nf-n32 mips64el-nf"
>>>> -TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
>>>> -BASE_LIB_tune-mips = "lib"
>>>> -MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
>>>>
>>>> -TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard"
>>>> -BASE_LIB_tune-mips64-n32 = "lib32"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard"
>>>> -BASE_LIB_tune-mips64 = "lib64"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
>>>> -
>>>> -TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
>>>> -BASE_LIB_tune-mipsel = "lib"
>>>> -MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard"
>>>> -BASE_LIB_tune-mips64el-n32 = "lib32"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64el = "n64 fpu-hard"
>>>> -BASE_LIB_tune-mips64el = "lib64"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
>>>> -
>>>> -TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
>>>> -BASE_LIB_tune-mips-nf = "lib"
>>>> -MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
>>>> -BASE_LIB_tune-mips64-nf-n32 = "lib32"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64-nf = "n64 bigendian"
>>>> -BASE_LIB_tune-mips64-nf = "lib64"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
>>>> -
>>>> -TUNE_FEATURES_tune-mipsel-nf = "o32"
>>>> -BASE_LIB_tune-mipsel-nf = "lib"
>>>> -MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64el-nf-n32 = "n32"
>>>> -BASE_LIB_tune-mips64el-nf-n32 = "lib32"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32"
>>>> -
>>>> -TUNE_FEATURES_tune-mips64el-nf = "n64"
>>>> -BASE_LIB_tune-mips64el-nf = "lib64"
>>>> -MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
>>>> -PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf"
>>>> diff --git a/meta/conf/machine/include/tune-mips32.inc b/meta/conf/machine/include/tune-mips32.inc
>>>> index ce0445f..4c3d93f 100644
>>>> --- a/meta/conf/machine/include/tune-mips32.inc
>>>> +++ b/meta/conf/machine/include/tune-mips32.inc
>>>> @@ -6,7 +6,27 @@ TUNEVALID[mips32] = "Enable mips32 specific processor optimizations"
>>>>  TUNECONFLICTS[mips32] = "n64 n32"
>>>>  TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips32', ' -march=mips32', '', d)}"
>>>>
>>>> -AVAILTUNES += "mips32 mips32el mips32-nf mips32el-nf"
>>>> +AVAILTUNES += "mips mipsel mips-nf mipsel-nf mips32 mips32el mips32-nf mips32el-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mips = "o32 bigendian fpu-hard"
>>>> +BASE_LIB_tune-mips = "lib"
>>>> +MIPSPKGSFX_VARIANT_tune-mips = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips = "mips"
>>>> +
>>>> +TUNE_FEATURES_tune-mipsel = "o32 fpu-hard"
>>>> +BASE_LIB_tune-mipsel = "lib"
>>>> +MIPSPKGSFX_VARIANT_tune-mipsel = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mipsel = "mipsel"
>>>> +
>>>> +TUNE_FEATURES_tune-mips-nf = "o32 bigendian"
>>>> +BASE_LIB_tune-mips-nf = "lib"
>>>> +MIPSPKGSFX_VARIANT_tune-mips-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips-nf = "mips-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mipsel-nf = "o32"
>>>> +BASE_LIB_tune-mipsel-nf = "lib"
>>>> +MIPSPKGSFX_VARIANT_tune-mipsel-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mipsel-nf = "mipsel-nf"
>>>>
>>>>  TUNE_FEATURES_tune-mips32 = "${TUNE_FEATURES_tune-mips} mips32"
>>>>  MIPSPKGSFX_VARIANT_tune-mips32 = "mips32"
>>>> diff --git a/meta/conf/machine/include/tune-mips64.inc b/meta/conf/machine/include/tune-mips64.inc
>>>> index 9be0e0f..06e0ee3 100644
>>>> --- a/meta/conf/machine/include/tune-mips64.inc
>>>> +++ b/meta/conf/machine/include/tune-mips64.inc
>>>> @@ -1,3 +1,81 @@
>>>>  DEFAULTTUNE ?= "mips64"
>>>>
>>>>  require conf/machine/include/tune-mips32r2.inc
>>>> +
>>>> +# Base tunes
>>>> +AVAILTUNES += "mips64 mips64el"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64 = "n64 bigendian fpu-hard"
>>>> +BASE_LIB_tune-mips64 = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64 = "mips64"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el = "n64 fpu-hard"
>>>> +BASE_LIB_tune-mips64el = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el = "mips64el"
>>>> +
>>>> +# MIPS 64 Soft Float
>>>> +AVAILTUNES += "mips64-nf mips64el-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64-nf = "n64 bigendian"
>>>> +BASE_LIB_tune-mips64-nf = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-nf = "mips64-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el-nf = "n64"
>>>> +BASE_LIB_tune-mips64el-nf = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf = "mips64el-nf"
>>>> +
>>>> +# MIPS 64 n32
>>>> +AVAILTUNES += "mips64-n32 mips64el-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64-n32 = "n32 bigendian fpu-hard"
>>>> +BASE_LIB_tune-mips64-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-n32 = "mips64-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el-n32 = "n32 fpu-hard"
>>>> +BASE_LIB_tune-mips64el-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-n32 = "mips64el-n32"
>>>> +
>>>> +# MIPS 64 n32 and Soft Float
>>>> +AVAILTUNES += "mips64-nf-n32 mips64el-nf-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64-nf-n32 = "n32 bigendian"
>>>> +BASE_LIB_tune-mips64-nf-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64-nf-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-nf-n32 = "mips64-nf-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el-nf-n32 = "n32"
>>>> +BASE_LIB_tune-mips64el-nf-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el-nf-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-n32 = "mips64el-nf-n32"
>>>> +
>>>> +# MIPS 64 o32
>>>> +AVAILTUNES += "mips64-o32 mips64el-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64-o32 = "o32 bigendian fpu-hard"
>>>> +BASE_LIB_tune-mips64-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-o32 = "mips64-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el-o32 = "o32 fpu-hard"
>>>> +BASE_LIB_tune-mips64el-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-o32 = "mips64el-o32"
>>>> +
>>>> +# MIPS 64 o32 and Soft Float
>>>> +AVAILTUNES += "mips64-nf-o32 mips64el-nf-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64-nf-o32 = "o32 bigendian"
>>>> +BASE_LIB_tune-mips64-nf-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64-nf-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64-nf-o32 = "mips64-nf-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64el-nf-o32 = "o32"
>>>> +BASE_LIB_tune-mips64el-nf-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64el-nf-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64el-nf-o32 = "mips64el-nf-o32"
>>>> diff --git a/meta/conf/machine/include/tune-mips64r2.inc b/meta/conf/machine/include/tune-mips64r2.inc
>>>> new file mode 100644
>>>> index 0000000..f64983d
>>>> --- /dev/null
>>>> +++ b/meta/conf/machine/include/tune-mips64r2.inc
>>>> @@ -0,0 +1,84 @@
>>>> +DEFAULTTUNE ?= "mips64r2"
>>>> +
>>>> +require conf/machine/include/tune-mips64.inc
>>>> +
>>>> +TUNEVALID[mips64r2] = "Enable mips64r2 specific processor optimizations"
>>>> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mips64r2', ' -march=mips64r2', '', d)}"
>>>> +
>>>> +# Base tunes
>>>> +AVAILTUNES += "mips64r2 mips64r2el"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2 = "${TUNE_FEATURES_tune-mips64} mips64r2"
>>>> +BASE_LIB_tune-mips64r2 = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2 = "mips64r2"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2 = "mips64 mips64r2"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el = "${TUNE_FEATURES_tune-mips64el} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el = "mips64r2el"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el = "mips64el mips64r2el"
>>>> +
>>>> +# MIPS 64r2 Soft Float
>>>> +AVAILTUNES += "mips64r2-nf mips64r2el-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2-nf = "${TUNE_FEATURES_tune-mips64-nf} mips64r2"
>>>> +BASE_LIB_tune-mips64r2-nf = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf = "mips64-nf mips64r2-nf"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el-nf = "${TUNE_FEATURES_tune-mips64el-nf} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el-nf = "lib64"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf = "mips64el-nf mips64r2el-nf"
>>>> +
>>>> +# MIPS 64r2 n32
>>>> +AVAILTUNES += "mips64r2-n32 mips64r2el-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2-n32 = "${TUNE_FEATURES_tune-mips64-n32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2-n32 = "mips64-n32 mips64r2-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el-n32 = "${TUNE_FEATURES_tune-mips64el-n32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-n32 = "mips64el-n32 mips64r2el-n32"
>>>> +
>>>> +# MIPS 64r2 n32 and Soft Float
>>>> +AVAILTUNES += "mips64r2-nf-n32 mips64r2el-nf-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2-nf-n32 = "${TUNE_FEATURES_tune-mips64-nf-n32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2-nf-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2-nf-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-n32 = "mips64-nf-n32 mips64r2-nf-n32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el-nf-n32 = "${TUNE_FEATURES_tune-mips64el-nf-n32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el-nf-n32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-n32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-n32 = "mips64el-nf-n32 mips64r2el-nf-n32"
>>>> +
>>>> +# MIPS 64r2 o32
>>>> +AVAILTUNES += "mips64r2-o32 mips64r2el-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2-o32 = "${TUNE_FEATURES_tune-mips64-o32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2-o32 = "mips mips64-o32 mips64r2-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el-o32 = "${TUNE_FEATURES_tune-mips64el-o32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-o32 = "mipsel mips64el-o32 mips64r2el-o32"
>>>> +
>>>> +# MIPS 64r2 o32 and Soft Float
>>>> +AVAILTUNES += "mips64r2-nf-o32 mips64r2el-nf-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2-nf-o32 = "${TUNE_FEATURES_tune-mips64-nf-o32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2-nf-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2-nf-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2-nf-o32 = "mips-nf mips64r2-nf-o32"
>>>> +
>>>> +TUNE_FEATURES_tune-mips64r2el-nf-o32 = "${TUNE_FEATURES_tune-mips64el-nf-o32} mips64r2"
>>>> +BASE_LIB_tune-mips64r2el-nf-o32 = "lib32"
>>>> +MIPSPKGSFX_VARIANT_tune-mips64r2el-nf-o32 = "${TUNE_ARCH}"
>>>> +PACKAGE_EXTRA_ARCHS_tune-mips64r2el-nf-o32 = "mipsel-nf mips64r2el-nf-o32"
>>>>
>>>
>



More information about the Openembedded-core mailing list