* [PATCH] Add architecture files for AArch64 architecture. @ 2013-03-14 17:41 Marcin Juszkiewicz 2013-03-14 18:04 ` Mark Hatle 0 siblings, 1 reply; 6+ messages in thread From: Marcin Juszkiewicz @ 2013-03-14 17:41 UTC (permalink / raw) To: openembedded-core Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> --- meta/conf/machine/include/aarch64/README | 9 +++++++++ meta/conf/machine/include/aarch64/arch-aarch64.inc | 16 ++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 meta/conf/machine/include/aarch64/README create mode 100644 meta/conf/machine/include/aarch64/arch-aarch64.inc diff --git a/meta/conf/machine/include/aarch64/README b/meta/conf/machine/include/aarch64/README new file mode 100644 index 0000000..59c8710 --- /dev/null +++ b/meta/conf/machine/include/aarch64/README @@ -0,0 +1,9 @@ +2013-03-14 - Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> + - Initial Revision + +Currently only little endian is defined for AArch64. + +AArch64 is 64-bit ARM architecture. + +Also known as ARMv8 (instruction set) or ARM64 (name in Linux kernel and +architecture name in Debian and derived). diff --git a/meta/conf/machine/include/aarch64/arch-aarch64.inc b/meta/conf/machine/include/aarch64/arch-aarch64.inc new file mode 100644 index 0000000..5177d7f --- /dev/null +++ b/meta/conf/machine/include/aarch64/arch-aarch64.inc @@ -0,0 +1,16 @@ +DEFAULTTUNE ?= "aarch64" + +ARMPKGARCH ?= "aarch64" + +TUNEVALID[aarch64] = "Enable instructions for aarch64" +TUNECONFLICTS[aarch64] = "" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" + +# Little Endian base configs +AVAILTUNES += "aarch64" +TUNE_FEATURES_tune-aarch64 ?= "aarch64" + +TUNE_ARCH = "aarch64" +TUNE_PKGARCH = "aarch64" + +PACKAGE_EXTRA_ARCHS += "aarch64" -- 1.8.1.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Add architecture files for AArch64 architecture. 2013-03-14 17:41 [PATCH] Add architecture files for AArch64 architecture Marcin Juszkiewicz @ 2013-03-14 18:04 ` Mark Hatle 2013-03-14 18:18 ` Marcin Juszkiewicz 0 siblings, 1 reply; 6+ messages in thread From: Mark Hatle @ 2013-03-14 18:04 UTC (permalink / raw) To: openembedded-core On 3/14/13 12:41 PM, Marcin Juszkiewicz wrote: > Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > --- > meta/conf/machine/include/aarch64/README | 9 +++++++++ > meta/conf/machine/include/aarch64/arch-aarch64.inc | 16 ++++++++++++++++ > 2 files changed, 25 insertions(+) > create mode 100644 meta/conf/machine/include/aarch64/README > create mode 100644 meta/conf/machine/include/aarch64/arch-aarch64.inc > > diff --git a/meta/conf/machine/include/aarch64/README b/meta/conf/machine/include/aarch64/README > new file mode 100644 > index 0000000..59c8710 > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/README > @@ -0,0 +1,9 @@ > +2013-03-14 - Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > + - Initial Revision > + > +Currently only little endian is defined for AArch64. > + > +AArch64 is 64-bit ARM architecture. > + > +Also known as ARMv8 (instruction set) or ARM64 (name in Linux kernel and > +architecture name in Debian and derived). > diff --git a/meta/conf/machine/include/aarch64/arch-aarch64.inc b/meta/conf/machine/include/aarch64/arch-aarch64.inc > new file mode 100644 > index 0000000..5177d7f > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/arch-aarch64.inc > @@ -0,0 +1,16 @@ > +DEFAULTTUNE ?= "aarch64" > + > +ARMPKGARCH ?= "aarch64" > + > +TUNEVALID[aarch64] = "Enable instructions for aarch64" > +TUNECONFLICTS[aarch64] = "" > +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" > + > +# Little Endian base configs > +AVAILTUNES += "aarch64" > +TUNE_FEATURES_tune-aarch64 ?= "aarch64" > + > +TUNE_ARCH = "aarch64" > +TUNE_PKGARCH = "aarch64" > + > +PACKAGE_EXTRA_ARCHS += "aarch64" > I'm not completely familiar with aarch64. So a couple of questions. The first is is it supposed to allow a multilib configuration? I.e. being able to run both 32-bit "arm/thumb" code & aarch64 code on the same machine? If so, a "BASE_LIB_tune-aarch64" should be defined with the right value. Second are there expected to be tuned variants for the aarch64, i.e. processor/core tunings that need to get embedded into the package arch. if so the definition of the TUNE_ARCH and TUNE_PKGARCH should probably be based on the tune_feature... (This may simply not be necessary though as this is a new architecture that will expand and grow...) My suggestion then, to help with future growth is: DEFAULTTUNE ?= "aarch64" ARMPKGARCH ?= "aarch64" TUNEVALID[aarch64] = "Enable instructions for aarch64" TUNECONFLICTS[aarch64] = "" MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" # Little Endian base configs AVAILTUNES += "aarch64" TUNE_FEATURES_tune-aarch64 ?= "aarch64" BASE_LIB_tune-aarch64 = "lib64" <-- guess on my part TUNE_ARCH_tune-aarch64 = "aarch64" TUNE_PKGARCH_tune-aarch64 = "aarch64" PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Add architecture files for AArch64 architecture. 2013-03-14 18:04 ` Mark Hatle @ 2013-03-14 18:18 ` Marcin Juszkiewicz 2013-03-14 18:45 ` Mark Hatle 2013-03-14 20:24 ` Khem Raj 0 siblings, 2 replies; 6+ messages in thread From: Marcin Juszkiewicz @ 2013-03-14 18:18 UTC (permalink / raw) To: openembedded-core W dniu 14.03.2013 19:04, Mark Hatle pisze: > I'm not completely familiar with aarch64. So a couple of questions. > The first is is it supposed to allow a multilib configuration? I.e. > being able to run both 32-bit "arm/thumb" code & aarch64 code on the > same machine? If so, a "BASE_LIB_tune-aarch64" should be defined with > the right value. AArch64 is able to run ARMv7a code but it not something we worry too much now as there is no hardware yet so we mostly use OE for porting software. There will be no multilib related work done by Linaro in near time (if at all). > Second are there expected to be tuned variants for the aarch64, i.e. > processor/core tunings that need to get embedded into the package arch. > if so the definition of the TUNE_ARCH and TUNE_PKGARCH should probably > be based on the tune_feature... (This may simply not be necessary > though as this is a new architecture that will expand and grow...) Probably big endian version will arrive sooner or later. Other than that no extra tuning will be needed (no hardware yet). > My suggestion then, to help with future growth is: > > DEFAULTTUNE ?= "aarch64" > > ARMPKGARCH ?= "aarch64" > > TUNEVALID[aarch64] = "Enable instructions for aarch64" > TUNECONFLICTS[aarch64] = "" > MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", > ":aarch64", "" ,d)}" > > # Little Endian base configs > AVAILTUNES += "aarch64" > TUNE_FEATURES_tune-aarch64 ?= "aarch64" > BASE_LIB_tune-aarch64 = "lib64" <-- guess on my part No, we do not use /lib64/ for AArch64. > TUNE_ARCH_tune-aarch64 = "aarch64" > TUNE_PKGARCH_tune-aarch64 = "aarch64" > PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" Thanks, changed and attached new version. From b303dd32eecd2fca3708eef468910f19bb903b3f Mon Sep 17 00:00:00 2001 From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Date: Thu, 14 Mar 2013 18:41:08 +0100 Subject: [PATCH] Add architecture files for AArch64 architecture. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> --- meta/conf/machine/include/aarch64/README | 9 +++++++++ meta/conf/machine/include/aarch64/arch-aarch64.inc | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 meta/conf/machine/include/aarch64/README create mode 100644 meta/conf/machine/include/aarch64/arch-aarch64.inc diff --git a/meta/conf/machine/include/aarch64/README b/meta/conf/machine/include/aarch64/README new file mode 100644 index 0000000..59c8710 --- /dev/null +++ b/meta/conf/machine/include/aarch64/README @@ -0,0 +1,9 @@ +2013-03-14 - Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> + - Initial Revision + +Currently only little endian is defined for AArch64. + +AArch64 is 64-bit ARM architecture. + +Also known as ARMv8 (instruction set) or ARM64 (name in Linux kernel and +architecture name in Debian and derived). diff --git a/meta/conf/machine/include/aarch64/arch-aarch64.inc b/meta/conf/machine/include/aarch64/arch-aarch64.inc new file mode 100644 index 0000000..121d339 --- /dev/null +++ b/meta/conf/machine/include/aarch64/arch-aarch64.inc @@ -0,0 +1,14 @@ +DEFAULTTUNE ?= "aarch64" + +ARMPKGARCH ?= "aarch64" + +TUNEVALID[aarch64] = "Enable instructions for aarch64" +TUNECONFLICTS[aarch64] = "" +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" + +# Little Endian base configs +AVAILTUNES += "aarch64" +TUNE_FEATURES_tune-aarch64 ?= "aarch64" +TUNE_ARCH_tune-aarch64 = "aarch64" +TUNE_PKGARCH_tune-aarch64 = "aarch64" +PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" -- 1.8.1.2 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Add architecture files for AArch64 architecture. 2013-03-14 18:18 ` Marcin Juszkiewicz @ 2013-03-14 18:45 ` Mark Hatle 2013-03-14 20:24 ` Khem Raj 1 sibling, 0 replies; 6+ messages in thread From: Mark Hatle @ 2013-03-14 18:45 UTC (permalink / raw) To: openembedded-core On 3/14/13 1:18 PM, Marcin Juszkiewicz wrote: > W dniu 14.03.2013 19:04, Mark Hatle pisze: >> I'm not completely familiar with aarch64. So a couple of questions. >> The first is is it supposed to allow a multilib configuration? I.e. >> being able to run both 32-bit "arm/thumb" code & aarch64 code on the >> same machine? If so, a "BASE_LIB_tune-aarch64" should be defined with >> the right value. > > AArch64 is able to run ARMv7a code but it not something we worry too > much now as there is no hardware yet so we mostly use OE for porting > software. There will be no multilib related work done by Linaro in near > time (if at all). What I'm considering are the ability to use existing (binary only) 32-bit thumb/arm programs with these new cores. I also don't have a good sense of the executable and memory size requirements of the new aarch64 to decide if multilib is something desired by the end users. (if the executables are roughly the same size, then it greatly diminishes the usefulness of 32-bit multilibs.) >> Second are there expected to be tuned variants for the aarch64, i.e. >> processor/core tunings that need to get embedded into the package arch. >> if so the definition of the TUNE_ARCH and TUNE_PKGARCH should probably >> be based on the tune_feature... (This may simply not be necessary >> though as this is a new architecture that will expand and grow...) > > Probably big endian version will arrive sooner or later. Other than that > no extra tuning will be needed (no hardware yet). > >> My suggestion then, to help with future growth is: >> >> DEFAULTTUNE ?= "aarch64" >> >> ARMPKGARCH ?= "aarch64" >> >> TUNEVALID[aarch64] = "Enable instructions for aarch64" >> TUNECONFLICTS[aarch64] = "" >> MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", >> ":aarch64", "" ,d)}" >> >> # Little Endian base configs >> AVAILTUNES += "aarch64" >> TUNE_FEATURES_tune-aarch64 ?= "aarch64" >> BASE_LIB_tune-aarch64 = "lib64" <-- guess on my part > > No, we do not use /lib64/ for AArch64. This will certainly limit the use of multilibs if it becomes desirable on this part. I really dislike architectures that use the same directory for two "machine" compatible libraries with different ABIs. >> TUNE_ARCH_tune-aarch64 = "aarch64" >> TUNE_PKGARCH_tune-aarch64 = "aarch64" >> PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" > > Thanks, changed and attached new version. > > From b303dd32eecd2fca3708eef468910f19bb903b3f Mon Sep 17 00:00:00 2001 > From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > Date: Thu, 14 Mar 2013 18:41:08 +0100 > Subject: [PATCH] Add architecture files for AArch64 architecture. > > Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > --- > meta/conf/machine/include/aarch64/README | 9 +++++++++ > meta/conf/machine/include/aarch64/arch-aarch64.inc | 14 ++++++++++++++ > 2 files changed, 23 insertions(+) > create mode 100644 meta/conf/machine/include/aarch64/README > create mode 100644 meta/conf/machine/include/aarch64/arch-aarch64.inc > > diff --git a/meta/conf/machine/include/aarch64/README b/meta/conf/machine/include/aarch64/README > new file mode 100644 > index 0000000..59c8710 > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/README > @@ -0,0 +1,9 @@ > +2013-03-14 - Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > + - Initial Revision > + > +Currently only little endian is defined for AArch64. > + > +AArch64 is 64-bit ARM architecture. > + > +Also known as ARMv8 (instruction set) or ARM64 (name in Linux kernel and > +architecture name in Debian and derived). > diff --git a/meta/conf/machine/include/aarch64/arch-aarch64.inc b/meta/conf/machine/include/aarch64/arch-aarch64.inc > new file mode 100644 > index 0000000..121d339 > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/arch-aarch64.inc > @@ -0,0 +1,14 @@ > +DEFAULTTUNE ?= "aarch64" > + > +ARMPKGARCH ?= "aarch64" > + > +TUNEVALID[aarch64] = "Enable instructions for aarch64" > +TUNECONFLICTS[aarch64] = "" > +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" > + > +# Little Endian base configs > +AVAILTUNES += "aarch64" > +TUNE_FEATURES_tune-aarch64 ?= "aarch64" That should be an "=". Since that tune has a specific "feature" meaning. If someone wants to deviate, they should establish a new/custom tune. > +TUNE_ARCH_tune-aarch64 = "aarch64" > +TUNE_PKGARCH_tune-aarch64 = "aarch64" > +PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" > Otherwise this looks reasonable to me. (Once real hardware exists and people start building products.. the multilib question may come back...) --Mark ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Add architecture files for AArch64 architecture. 2013-03-14 18:18 ` Marcin Juszkiewicz 2013-03-14 18:45 ` Mark Hatle @ 2013-03-14 20:24 ` Khem Raj 2013-03-14 20:34 ` Marcin Juszkiewicz 1 sibling, 1 reply; 6+ messages in thread From: Khem Raj @ 2013-03-14 20:24 UTC (permalink / raw) To: Marcin Juszkiewicz; +Cc: openembedded-core On Mar 14, 2013, at 11:18 AM, Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> wrote: > W dniu 14.03.2013 19:04, Mark Hatle pisze: >> I'm not completely familiar with aarch64. So a couple of questions. >> The first is is it supposed to allow a multilib configuration? I.e. >> being able to run both 32-bit "arm/thumb" code & aarch64 code on the >> same machine? If so, a "BASE_LIB_tune-aarch64" should be defined with >> the right value. > > AArch64 is able to run ARMv7a code but it not something we worry too > much now as there is no hardware yet so we mostly use OE for porting > software. There will be no multilib related work done by Linaro in near > time (if at all). > >> Second are there expected to be tuned variants for the aarch64, i.e. >> processor/core tunings that need to get embedded into the package arch. >> if so the definition of the TUNE_ARCH and TUNE_PKGARCH should probably >> be based on the tune_feature... (This may simply not be necessary >> though as this is a new architecture that will expand and grow...) > > Probably big endian version will arrive sooner or later. Other than that > no extra tuning will be needed (no hardware yet). > >> My suggestion then, to help with future growth is: >> >> DEFAULTTUNE ?= "aarch64" >> >> ARMPKGARCH ?= "aarch64" >> >> TUNEVALID[aarch64] = "Enable instructions for aarch64" >> TUNECONFLICTS[aarch64] = "" >> MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", >> ":aarch64", "" ,d)}" >> >> # Little Endian base configs >> AVAILTUNES += "aarch64" >> TUNE_FEATURES_tune-aarch64 ?= "aarch64" >> BASE_LIB_tune-aarch64 = "lib64" <-- guess on my part > > No, we do not use /lib64/ for AArch64. Thats under discussion I have seen threads and patches on gcc ml and glibc ml about it. http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00288.html http://sourceware.org/ml/libc-ports/2013-03/msg00125.html I would rather like to have lib64 but I guess multi arch guys will not like it > >> TUNE_ARCH_tune-aarch64 = "aarch64" >> TUNE_PKGARCH_tune-aarch64 = "aarch64" >> PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" > > Thanks, changed and attached new version. > > From b303dd32eecd2fca3708eef468910f19bb903b3f Mon Sep 17 00:00:00 2001 > From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > Date: Thu, 14 Mar 2013 18:41:08 +0100 > Subject: [PATCH] Add architecture files for AArch64 architecture. > > Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > --- > meta/conf/machine/include/aarch64/README | 9 +++++++++ > meta/conf/machine/include/aarch64/arch-aarch64.inc | 14 ++++++++++++++ > 2 files changed, 23 insertions(+) > create mode 100644 meta/conf/machine/include/aarch64/README > create mode 100644 meta/conf/machine/include/aarch64/arch-aarch64.inc > > diff --git a/meta/conf/machine/include/aarch64/README b/meta/conf/machine/include/aarch64/README > new file mode 100644 > index 0000000..59c8710 > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/README > @@ -0,0 +1,9 @@ > +2013-03-14 - Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> > + - Initial Revision > + > +Currently only little endian is defined for AArch64. > + > +AArch64 is 64-bit ARM architecture. > + > +Also known as ARMv8 (instruction set) or ARM64 (name in Linux kernel and > +architecture name in Debian and derived). > diff --git a/meta/conf/machine/include/aarch64/arch-aarch64.inc b/meta/conf/machine/include/aarch64/arch-aarch64.inc > new file mode 100644 > index 0000000..121d339 > --- /dev/null > +++ b/meta/conf/machine/include/aarch64/arch-aarch64.inc > @@ -0,0 +1,14 @@ > +DEFAULTTUNE ?= "aarch64" > + > +ARMPKGARCH ?= "aarch64" > + > +TUNEVALID[aarch64] = "Enable instructions for aarch64" > +TUNECONFLICTS[aarch64] = "" > +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "aarch64", ":aarch64", "" ,d)}" > + > +# Little Endian base configs > +AVAILTUNES += "aarch64" > +TUNE_FEATURES_tune-aarch64 ?= "aarch64" > +TUNE_ARCH_tune-aarch64 = "aarch64" > +TUNE_PKGARCH_tune-aarch64 = "aarch64" > +PACKAGE_EXTRA_ARCHS_tune-aarch64 += "aarch64" > -- > 1.8.1.2 > > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Add architecture files for AArch64 architecture. 2013-03-14 20:24 ` Khem Raj @ 2013-03-14 20:34 ` Marcin Juszkiewicz 0 siblings, 0 replies; 6+ messages in thread From: Marcin Juszkiewicz @ 2013-03-14 20:34 UTC (permalink / raw) To: openembedded-core W dniu 14.03.2013 21:24, Khem Raj pisze: >>> No, we do not use /lib64/ for AArch64. > > Thats under discussion I have seen threads and patches on gcc ml and > glibc ml about it. > > http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00288.html > http://sourceware.org/ml/libc-ports/2013-03/msg00125.html > > I would rather like to have lib64 but I guess multi arch guys will > not like it OK. With current state of binutils/eglibc/gcc-linaro as we have in OE we use /lib/ instead of /lib64/ directory. Once it got changed upstream I will adapt to it. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-03-14 20:51 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-03-14 17:41 [PATCH] Add architecture files for AArch64 architecture Marcin Juszkiewicz 2013-03-14 18:04 ` Mark Hatle 2013-03-14 18:18 ` Marcin Juszkiewicz 2013-03-14 18:45 ` Mark Hatle 2013-03-14 20:24 ` Khem Raj 2013-03-14 20:34 ` Marcin Juszkiewicz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox