[meta-xilinx] [PATCH] meta: introduce bigendian instead of little-endian/big-endian

Nathan Rossi nathan at nathanrossi.com
Wed Jul 5 22:22:49 PDT 2017


On 6 July 2017 at 12:02,  <liu.ming50 at gmail.com> wrote:
> From: Ming Liu <peter.x.liu at external.atlascopco.com>
>
> The endianess of a specific architecture could be either big or little,
> there is not a third value, so let it default to be little endian, and
> get rid of the tune feature 'little-endian' which is redundant to be
> there, also change tune feature 'big-endian' to 'bigendian'.
>
> With these changes, it will behave same with all other architectures in
> openembedded-core layer.

This looks ok. Just out of query is there a reason for this change
apart from lining up with oe-core?

On a side note, I am working towards getting these microblaze tunes
included in oe-core so this will be included in that.

>
> Signed-off-by: Ming Liu <peter.x.liu at external.atlascopco.com>
> ---
>  classes/zynqmp-pmu.bbclass                                   |  2 +-
>  conf/machine/include/microblaze/arch-microblaze.inc          | 12 ++++--------
>  .../include/microblaze/feature-microblaze-versions.inc       |  2 +-
>  conf/machine/kc705-microblazeel.conf                         |  2 +-
>  conf/machine/ml605-qemu-microblazeel.conf                    |  2 +-
>  conf/machine/s3adsp1800-qemu-microblazeeb.conf               |  2 +-
>  6 files changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/classes/zynqmp-pmu.bbclass b/classes/zynqmp-pmu.bbclass
> index 7291344..3ebe488 100644
> --- a/classes/zynqmp-pmu.bbclass
> +++ b/classes/zynqmp-pmu.bbclass
> @@ -18,7 +18,7 @@ ORIG_TARGET_ARCH := "${TARGET_ARCH}"
>  # zynqmp-pmu target arch (hardcoded based on pre-gen data from arch-microblaze.inc)
>  ABIEXTENSION = ""
>  TUNE_ARCH = "microblazeel"
> -#TUNE_FEATURES_tune-microblaze += "v9.2 little-endian barrel-shift pattern-compare"
> +#TUNE_FEATURES_tune-microblaze += "v9.2 barrel-shift pattern-compare"
>  TUNE_CCARGS = "-mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-reorder -mcpu=v9.2 -mxl-soft-mul -mxl-soft-div"
>  TUNE_LDARGS = ""
>  TUNE_ASARGS = ""
> diff --git a/conf/machine/include/microblaze/arch-microblaze.inc b/conf/machine/include/microblaze/arch-microblaze.inc
> index b01f03b..27f776c 100644
> --- a/conf/machine/include/microblaze/arch-microblaze.inc
> +++ b/conf/machine/include/microblaze/arch-microblaze.inc
> @@ -5,15 +5,11 @@ TUNEVALID[microblaze] = "MicroBlaze"
>  MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "microblaze", "microblaze:", "" ,d)}"
>
>  # Endian
> -TUNEVALID[big-endian] = "Use Microblaze Big Endian."
> -TUNECONFLICTS[big-endian] = "little-endian"
> -TUNEVALID[little-endian] = "Use Microblaze Little Endian."
> -TUNECONFLICTS[little-endian] = "big-endian"
> +TUNEVALID[bigendian] = "Use Microblaze Big Endian."
>
> -MBPKGARCH_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "little-endian", "el", "eb" ,d)}"
> +MBPKGARCH_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el" ,d)}"
>
> -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "big-endian", "-mbig-endian", "" ,d)}"
> -TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "little-endian", "-mlittle-endian", "" ,d)}"
> +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-mbig-endian", "-mlittle-endian" ,d)}"
>
>  # General features
>  TUNEVALID[barrel-shift] = "Enable Hardware Barrel Shifter"
> @@ -42,7 +38,7 @@ require conf/machine/include/microblaze/feature-microblaze-versions.inc
>  require conf/machine/include/microblaze/feature-microblaze-math.inc
>
>  # Architecture name, either 'microblazeeb' or 'microblazeel' depending on endianess
> -TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "little-endian", "el", "eb" ,d)}"
> +TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el" ,d)}"
>
>  # Package Architecture formatting
>  TUNE_PKGARCH = "microblaze${MBPKGARCH_ENDIAN}${MBPKGARCH_VERSION}${MBPKGARCH_TUNE}${MBPKGARCH_MATH}"
> diff --git a/conf/machine/include/microblaze/feature-microblaze-versions.inc b/conf/machine/include/microblaze/feature-microblaze-versions.inc
> index 7e9aa95..4a2b4f4 100644
> --- a/conf/machine/include/microblaze/feature-microblaze-versions.inc
> +++ b/conf/machine/include/microblaze/feature-microblaze-versions.inc
> @@ -69,7 +69,7 @@ TUNECONFLICTS[v9.6] := "${@microblaze_version_conflict('v9.6', d)}"
>  TUNECONFLICTS[v10.0] := "${@microblaze_version_conflict('v10.0', d)}"
>
>  # Version/feature conflicts
> -TUNECONFLICTS[v7.30] += "reorder little-endian"
> +TUNECONFLICTS[v7.30] += "reorder"

So this is the only issue I see with this change, in that MicroBlaze
never used to support little endian.

But since v7.30 and earlier versions (which only supported big endian)
of MicroBlaze have been marked "obsolete" since at least 2012 i'm
inclined to remove those tunes anyway.

Any opinion on this Manju, or the change in general?

Regards,
Nathan



More information about the meta-xilinx mailing list