[meta-xilinx] [PATCH] meta: introduce bigendian instead of little-endian/big-endian
Manjukumar Harthikote Matha
manjukumar.harthikote-matha at xilinx.com
Sat Jul 8 09:32:39 PDT 2017
> -----Original Message-----
> From: Nathan Rossi [mailto:nathan at nathanrossi.com]
> Sent: Wednesday, July 05, 2017 10:23 PM
> To: liu.ming50 at gmail.com
> Cc: meta-xilinx at lists.yoctoproject.org; Manjukumar Harthikote Matha
> <MANJUKUM at xilinx.com>; Ming Liu <peter.x.liu at external.atlascopco.com>
> Subject: Re: [meta-xilinx] [PATCH] meta: introduce bigendian instead of little-
> endian/big-endian
>
> 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_TUN
> E}${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?
>
Looks ok to me.
Thanks,
Manju
This email and any attachments are intended for the sole use of the named recipient(s) and contain(s) confidential information that may be proprietary, privileged or copyrighted under applicable law. If you are not the intended recipient, do not read, copy, or forward this email message or any attachments. Delete this email message and any attachments immediately.
More information about the meta-xilinx
mailing list