[OE-core] [PATCH] Add architecture files for AArch64 architecture.

Khem Raj raj.khem at gmail.com
Thu Mar 14 20:24:58 UTC 2013


On Mar 14, 2013, at 11:18 AM, Marcin Juszkiewicz <marcin.juszkiewicz at 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 at 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 at 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 at 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 at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core





More information about the Openembedded-core mailing list