[meta-xilinx] [PATCH] meta: introduce bigendian instead of little-endian/big-endian
Ming Liu
liu.ming50 at gmail.com
Thu Jul 6 00:25:09 PDT 2017
> This looks ok. Just out of query is there a reason for this change apart
from lining up with oe-core?
Yes, there is a reason, I am now working on a patch refactoring
linuxloader.bbclass for musl libc in OE(not sent to mail list yet), in
which I need query microblaze TUNE_FEATURES for endianness, I prefer to
query "bigendian" like all other architectures are doing, that's why I made
this patch.
//Ming Liu
2017-07-06 7:22 GMT+02:00 Nathan Rossi <nathan at nathanrossi.com>:
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20170706/ced543c0/attachment.html>
More information about the meta-xilinx
mailing list