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

2013-03-14 Thread Mark Hatle

On 3/14/13 12:41 PM, Marcin Juszkiewicz wrote:

Signed-off-by: Marcin Juszkiewicz marcin.juszkiew...@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 000..59c8710
--- /dev/null
+++ b/meta/conf/machine/include/aarch64/README
@@ -0,0 +1,9 @@
+2013-03-14 - Marcin Juszkiewicz marcin.juszkiew...@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 000..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


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2013-03-14 Thread Marcin Juszkiewicz
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.juszkiew...@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.juszkiew...@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 000..59c8710
--- /dev/null
+++ b/meta/conf/machine/include/aarch64/README
@@ -0,0 +1,9 @@
+2013-03-14 - Marcin Juszkiewicz marcin.juszkiew...@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 000..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


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

2013-03-14 Thread Mark Hatle

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.juszkiew...@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.juszkiew...@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 000..59c8710
--- /dev/null
+++ b/meta/conf/machine/include/aarch64/README
@@ -0,0 +1,9 @@
+2013-03-14 - Marcin Juszkiewicz marcin.juszkiew...@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 000..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

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2013-03-14 Thread Khem Raj

On Mar 14, 2013, at 11:18 AM, Marcin Juszkiewicz 
marcin.juszkiew...@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.juszkiew...@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.juszkiew...@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 000..59c8710
 --- /dev/null
 +++ b/meta/conf/machine/include/aarch64/README
 @@ -0,0 +1,9 @@
 +2013-03-14 - Marcin Juszkiewicz marcin.juszkiew...@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 000..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


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


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

2013-03-14 Thread Marcin Juszkiewicz
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.

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core