All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Add MIPS release 6 ISA support
@ 2016-10-04 11:31 Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 1/9] insane.bbclass: Add mipsisa{32, 64}r6{el, } Zubair Lutfullah Kakakhel
                   ` (9 more replies)
  0 siblings, 10 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Hi,

This patch series adds support for MIPS Release 6 ISA.

A few key points to note are:

1 - The tuples have changed for Multiarch. For details, check 
    https://wiki.debian.org/Multiarch/Tuples

2 - Dynamic linker loader name has changed.
    ld.so.1 -> ld-linux-mipsn8.so.1
    For details, check
    https://sourceware.org/glibc/wiki/ABIList#mips

I tested this using poky, krogoth-15.0.1, yocto-2.1.1 + various patches.
Most notable patches were adding support for Linux kernel 4.8 and using
4.8 headers. Preferred using 4.8 as there was a quirk in glibc + nan2008
that preferred 4.5+.
https://sourceware.org/ml/libc-alpha/2016-01/msg00240.html

Build + qemu boot tested for little endian variations.

Regards,
ZubairLK

Zubair Lutfullah Kakakhel (9):
  insane.bbclass: Add mipsisa{32,64}r6{el,}
  kernel-arch.bbclass: Add mipsisa{32,64}r6{el,} support
  libc-package.bbclass: Add mipsisa{32,64}r6{el,} support
  linuxloader.bbclass: Add mipsisa{32,64}r6{el,} support
  siteinfo.bbclass: Add mipsisa{32,64}r6{el,} support
  bitbake.conf: Add mipsisa{32,64}r6{el,} support
  glibc: Add mipsisa{32,64}r6{el,} support
  gcc-configure: Add mipsisa{32,64}r6{el,} support
  arch-mips: Add mipsisa{32,64}r6{el,} tunes

 meta/classes/insane.bbclass                        |  4 ++
 meta/classes/kernel-arch.bbclass                   |  2 +-
 meta/classes/libc-package.bbclass                  |  4 ++
 meta/classes/linuxloader.bbclass                   |  3 +
 meta/classes/siteinfo.bbclass                      |  4 ++
 meta/conf/bitbake.conf                             |  5 ++
 meta/conf/machine/include/mips/README              | 19 ++++-
 meta/conf/machine/include/mips/arch-mips.inc       | 10 ++-
 meta/conf/machine/include/tune-mips32r6.inc        | 29 ++++++++
 meta/conf/machine/include/tune-mips64r6.inc        | 32 +++++++++
 meta/recipes-core/glibc/glibc-ld.inc               |  4 ++
 meta/recipes-devtools/gcc/gcc-configure-common.inc |  4 ++
 meta/recipes-devtools/gcc/gcc-runtime.inc          |  4 ++
 meta/site/mipsisa32r6-linux                        | 79 ++++++++++++++++++++
 meta/site/mipsisa32r6el-linux                      | 79 ++++++++++++++++++++
 meta/site/mipsisa64r6-linux                        | 83 ++++++++++++++++++++++
 meta/site/mipsisa64r6el-linux                      | 83 ++++++++++++++++++++++
 17 files changed, 445 insertions(+), 3 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-mips32r6.inc
 create mode 100644 meta/conf/machine/include/tune-mips64r6.inc
 create mode 100644 meta/site/mipsisa32r6-linux
 create mode 100644 meta/site/mipsisa32r6el-linux
 create mode 100644 meta/site/mipsisa64r6-linux
 create mode 100644 meta/site/mipsisa64r6el-linux

-- 
1.9.1



^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/9] insane.bbclass: Add mipsisa{32, 64}r6{el, }
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 2/9] kernel-arch.bbclass: Add mipsisa{32, 64}r6{el, } support Zubair Lutfullah Kakakhel
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS release 6 of the ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/classes/insane.bbclass | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 2f3f768..b347638 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -87,6 +87,10 @@ def package_qa_get_machine_dict(d):
                         "mipsel":     ( 8,     0,    0,          True,          32),
                         "mips64":     ( 8,     0,    0,          False,         64),
                         "mips64el":   ( 8,     0,    0,          True,          64),
+                        "mipsisa32r6":   ( 8,  0,    0,          False,         32),
+                        "mipsisa32r6el": ( 8,  0,    0,          True,          32),
+                        "mipsisa64r6":   ( 8,  0,    0,          False,         64),
+                        "mipsisa64r6el": ( 8,  0,    0,          True,          64),
                         "nios2":      (113,    0,    0,          True,          32),
                         "s390":       (22,     0,    0,          False,         32),
                         "sh4":        (42,     0,    0,          True,          32),
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/9] kernel-arch.bbclass: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 1/9] insane.bbclass: Add mipsisa{32, 64}r6{el, } Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 3/9] libc-package.bbclass: " Zubair Lutfullah Kakakhel
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/classes/kernel-arch.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index 3ed5986..8a4bef1 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -25,7 +25,7 @@ def map_kernel_arch(a, d):
     elif re.match('armeb$', a):                 return 'arm'
     elif re.match('aarch64$', a):               return 'arm64'
     elif re.match('aarch64_be$', a):            return 'arm64'
-    elif re.match('mips(el|64|64el)$', a):      return 'mips'
+    elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a):      return 'mips'
     elif re.match('p(pc|owerpc)(|64)', a):      return 'powerpc'
     elif re.match('sh(3|4)$', a):               return 'sh'
     elif re.match('bfin', a):                   return 'blackfin'
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/9] libc-package.bbclass: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 1/9] insane.bbclass: Add mipsisa{32, 64}r6{el, } Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 2/9] kernel-arch.bbclass: Add mipsisa{32, 64}r6{el, } support Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 4/9] linuxloader.bbclass: " Zubair Lutfullah Kakakhel
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/classes/libc-package.bbclass | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 8c99d61..84b5c94 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -249,9 +249,13 @@ python package_do_split_gconvs () {
                 "powerpc": " --uint32-align=4 --big-endian ",    \
                 "powerpc64": " --uint32-align=4 --big-endian ",  \
                 "mips":    " --uint32-align=4 --big-endian ",    \
+                "mipsisa32r6":    " --uint32-align=4 --big-endian ",    \
                 "mips64":  " --uint32-align=4 --big-endian ",    \
+                "mipsisa64r6":  " --uint32-align=4 --big-endian ",    \
                 "mipsel":  " --uint32-align=4 --little-endian ", \
+                "mipsisa32r6el":  " --uint32-align=4 --little-endian ", \
                 "mips64el":" --uint32-align=4 --little-endian ", \
+                "mipsisa64r6el":" --uint32-align=4 --little-endian ", \
                 "i586":    " --uint32-align=4 --little-endian ", \
                 "i686":    " --uint32-align=4 --little-endian ", \
                 "x86_64":  " --uint32-align=4 --little-endian "  }
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/9] linuxloader.bbclass: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (2 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 3/9] libc-package.bbclass: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 5/9] siteinfo.bbclass: " Zubair Lutfullah Kakakhel
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA. The loader is located at a
new place for multiarch.

For more details, check https://wiki.debian.org/Multiarch
and https://sourceware.org/glibc/wiki/ABIList#mips

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/classes/linuxloader.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/linuxloader.bbclass b/meta/classes/linuxloader.bbclass
index 5c4dc5c..8d85e6e 100644
--- a/meta/classes/linuxloader.bbclass
+++ b/meta/classes/linuxloader.bbclass
@@ -4,6 +4,9 @@ linuxloader () {
 		powerpc | mips | mipsel | microblaze )
 			dynamic_loader="${base_libdir}/ld.so.1"
 			;;
+		mipsisa32r6el | mipsisa32r6 | mipsisa64r6el | mipsisa64r6)
+			dynamic_loader="${base_libdir}/ld-linux-mipsn8.so.1"
+			;;
 		powerpc64)
 			dynamic_loader="${base_libdir}/ld64.so.1"
 			;;
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/9] siteinfo.bbclass: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (3 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 4/9] linuxloader.bbclass: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 6/9] bitbake.conf: " Zubair Lutfullah Kakakhel
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/classes/siteinfo.bbclass |  4 +++
 meta/site/mipsisa32r6-linux   | 79 ++++++++++++++++++++++++++++++++++++++++
 meta/site/mipsisa32r6el-linux | 79 ++++++++++++++++++++++++++++++++++++++++
 meta/site/mipsisa64r6-linux   | 83 +++++++++++++++++++++++++++++++++++++++++++
 meta/site/mipsisa64r6el-linux | 83 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 328 insertions(+)
 create mode 100644 meta/site/mipsisa32r6-linux
 create mode 100644 meta/site/mipsisa32r6el-linux
 create mode 100644 meta/site/mipsisa64r6-linux
 create mode 100644 meta/site/mipsisa64r6el-linux

diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 6a2e4bf..6eca004 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -36,7 +36,11 @@ def siteinfo_data(d):
         "mips": "endian-big bit-32 mips-common",
         "mips64": "endian-big bit-64 mips-common",
         "mips64el": "endian-little bit-64 mips-common",
+        "mipsisa64r6": "endian-big bit-64 mips-common",
+        "mipsisa64r6el": "endian-little bit-64 mips-common",
         "mipsel": "endian-little bit-32 mips-common",
+        "mipsisa32r6": "endian-big bit-32 mips-common",
+        "mipsisa32r6el": "endian-little bit-32 mips-common",
         "powerpc": "endian-big bit-32 powerpc-common",
         "nios2": "endian-little bit-32 nios2-common",
         "powerpc64": "endian-big bit-64 powerpc-common",
diff --git a/meta/site/mipsisa32r6-linux b/meta/site/mipsisa32r6-linux
new file mode 100644
index 0000000..72a54f9
--- /dev/null
+++ b/meta/site/mipsisa32r6-linux
@@ -0,0 +1,79 @@
+# general
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+
+# db
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# lmbench
+ac_cv_uint=${ac_cv_unit=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# evolution-data-server
+ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}
+
diff --git a/meta/site/mipsisa32r6el-linux b/meta/site/mipsisa32r6el-linux
new file mode 100644
index 0000000..696b1be
--- /dev/null
+++ b/meta/site/mipsisa32r6el-linux
@@ -0,0 +1,79 @@
+# general
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
+
+# db
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+#lmbench
+ac_cv_uint=${ac_cv_unit=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# evolution-data-server
+ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}
diff --git a/meta/site/mipsisa64r6-linux b/meta/site/mipsisa64r6-linux
new file mode 100644
index 0000000..ed0fbbe
--- /dev/null
+++ b/meta/site/mipsisa64r6-linux
@@ -0,0 +1,83 @@
+# general
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_alignof_guint32=4
+ac_cv_alignof_guint64=8
+ac_cv_alignof_unsigned_long=8
+ac_cv_sizeof_ssize_t=8
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+
+# db
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+# lmbench
+ac_cv_uint=${ac_cv_unit=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# eds-dbus
+ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}
+
diff --git a/meta/site/mipsisa64r6el-linux b/meta/site/mipsisa64r6el-linux
new file mode 100644
index 0000000..680171d
--- /dev/null
+++ b/meta/site/mipsisa64r6el-linux
@@ -0,0 +1,83 @@
+# general
+ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed=no}
+
+# bash
+ac_cv_c_long_double=${ac_cv_c_long_double=no}
+bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp=present}
+
+# openssh
+ac_cv_have_accrights_in_msghdr=${ac_cv_have_accrights_in_msghdr=no}
+ac_cv_have_broken_snprintf=${ac_cv_have_broken_snprintf=no}
+ac_cv_have_control_in_msghdr=${ac_cv_have_control_in_msghdr=yes}
+ac_cv_have_openpty_ctty_bug=${ac_cv_have_openpty_ctty_bug=no}
+ac_cv_have_space_d_name_in_struct_dirent=${ac_cv_have_space_d_name_in_struct_dirent=yes}
+
+# fget
+compat_cv_func_snprintf_works=${compat_cv_func_snprintf_works=yes}
+
+# glib
+glib_cv___va_copy=${glib_cv___va_copy=yes}
+glib_cv_has__inline=${glib_cv_has__inline=yes}
+glib_cv_has__inline__=${glib_cv_has__inline__=yes}
+glib_cv_hasinline=${glib_cv_hasinline=yes}
+glib_cv_long_long_format=${glib_cv_long_long_format=ll}
+glib_cv_rtldglobal_broken=${glib_cv_rtldglobal_broken=no}
+glib_cv_sane_realloc=${glib_cv_sane_realloc=yes}
+glib_cv_sizeof_gmutex=${glib_cv_sizeof_gmutex=24}
+glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+utils_cv_sys_open_max=${utils_cv_sys_open_max=1015}
+glib_cv_use_pid_surrogate=${glib_cv_use_pid_surrogate=yes}
+ac_cv_alignof_guint32=4
+ac_cv_alignof_guint64=8
+ac_cv_alignof_unsigned_long=8
+ac_cv_sizeof_ssize_t=8
+
+# libpcap
+ac_cv_linux_vers=${ac_cv_linux_vers=2}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
+
+# libidl
+libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll}
+
+# ncftp
+wi_cv_struct_timeval_tv_sec=${wi_cv_struct_timeval_tv_sec=long}
+wi_cv_struct_timeval_tv_usec=${wi_cv_struct_timeval_tv_usec=long}
+wi_cv_unix_domain_sockets=${wi_cv_unix_domain_sockets=yes}
+
+# db
+db_cv_align_t=${db_cv_align_t='unsigned long long'}
+db_cv_alignp_t=${db_cv_alignp_t='unsigned long'}
+db_cv_fcntl_f_setfd=${db_cv_fcntl_f_setfd=yes}
+db_cv_sprintf_count=${db_cv_sprintf_count=yes}
+
+# rrdtool
+rd_cv_ieee_works=${rd_cv_ieee_works=yes}
+# ac_cv_path_PERL=${ac_cv_path_PERL=no}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+
+# vim
+ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
+
+# intercom
+ac_cv_func_fnmatch_works=${ac_cv_func_fnmatch_works=yes}
+
+#lmbench
+ac_cv_uint=${ac_cv_unit=yes}
+
+# D-BUS
+ac_cv_func_posix_getpwnam_r=${ac_cv_func_posix_getpwnam_r=yes}
+
+# eds-dbus
+ac_cv_libiconv_utf8=${ac_cv_libiconv_utf8=yes}
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 6/9] bitbake.conf: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (4 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 5/9] siteinfo.bbclass: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 7/9] glibc: " Zubair Lutfullah Kakakhel
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/conf/bitbake.conf | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 34e9e3b..54a587f 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -534,6 +534,11 @@ LINKER_HASH_STYLE_mips64 = "sysv"
 LINKER_HASH_STYLE_mips64el = "sysv"
 LINKER_HASH_STYLE_mips64n32 = "sysv"
 LINKER_HASH_STYLE_mips64eln32 = "sysv"
+LINKER_HASH_STYLE_mipsisa32r6 = "sysv"
+LINKER_HASH_STYLE_mipsisa32r6el = "sysv"
+LINKER_HASH_STYLE_mipsisa64r6 = "sysv"
+LINKER_HASH_STYLE_mipsisa64r6el = "sysv"
+
 TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE', True) != 'gnu']}"
 
 export LDFLAGS = "${TARGET_LDFLAGS}"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 7/9] glibc: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (5 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 6/9] bitbake.conf: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 8/9] gcc-configure: " Zubair Lutfullah Kakakhel
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

The loader is located at a new place for multiarch.
For more details, check https://wiki.debian.org/Multiarch
and https://sourceware.org/glibc/wiki/ABIList#mips

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/recipes-core/glibc/glibc-ld.inc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/meta/recipes-core/glibc/glibc-ld.inc b/meta/recipes-core/glibc/glibc-ld.inc
index c5f4db2..b982368 100644
--- a/meta/recipes-core/glibc/glibc-ld.inc
+++ b/meta/recipes-core/glibc/glibc-ld.inc
@@ -14,10 +14,14 @@ def glibc_dl_info(d):
         "mips64el-n32": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "mips64el": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "mips-nf": ["ld.so.1", "FLAG_ELF_LIBC6"],
+        "mipsisa32r6": ["ld-linux-mipsn8.so.1", "FLAG_ELF_LIBC6"],
+        "mipsisa32r6el": ["ld-linux-mipsn8.so.1", "FLAG_ELF_LIBC6"],
         "mips64-nf-n32": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "mips64-nf": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "mips64el-nf-n32": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "mips64el-nf": ["ld.so.1", "FLAG_ELF_LIBC6"],
+        "mipsisa64r6": ["ld-linux-mipsn8.so.1", "FLAG_ELF_LIBC6"],
+        "mipsisa64r6el": ["ld-linux-mipsn8.so.1", "FLAG_ELF_LIBC6"],
         "powerpc": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "powerpc-nf": ["ld.so.1", "FLAG_ELF_LIBC6"],
         "powerpc64": ["ld64.so.1", "FLAG_ELF_LIBC6"],
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 8/9] gcc-configure: Add mipsisa{32, 64}r6{el, } support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (6 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 7/9] glibc: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-04 11:31 ` [PATCH 9/9] arch-mips: Add mipsisa{32, 64}r6{el, } tunes Zubair Lutfullah Kakakhel
  2016-10-06 16:43 ` [PATCH 0/9] Add MIPS release 6 ISA support Mark Hatle
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/recipes-devtools/gcc/gcc-configure-common.inc | 4 ++++
 meta/recipes-devtools/gcc/gcc-runtime.inc          | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index b374c30..ddebbb8 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -61,6 +61,10 @@ EXTRA_OECONF_append_mips64 = " --with-abi=64 --with-arch-64=mips64 --with-tune-6
 EXTRA_OECONF_append_mips64el = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
 EXTRA_OECONF_append_mips64n32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
 EXTRA_OECONF_append_mips64eln32 = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF_append_mipsisa32r6el = " --with-abi=32 --with-arch=mips32r6"
+EXTRA_OECONF_append_mipsisa32r6 = " --with-abi=32 --with-arch=mips32r6"
+EXTRA_OECONF_append_mipsisa64r6el = " --with-abi=64 --with-arch-64=mips64r6"
+EXTRA_OECONF_append_mipsisa64r6 = " --with-abi=64 --with-arch-64=mips64r6"
 
 # ARMv6+ adds atomic instructions that affect the ABI in libraries built
 # with TUNE_CCARGS in gcc-runtime.  Make the compiler default to a
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 9791e21..321a6de 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -21,6 +21,10 @@ RUNTIMELIBITM_mips = ""
 RUNTIMELIBITM_mipsel = ""
 RUNTIMELIBITM_mips64 = ""
 RUNTIMELIBITM_mips64el = ""
+RUNTIMELIBITM_mipsisa32r6 = ""
+RUNTIMELIBITM_mipsisa32r6el = ""
+RUNTIMELIBITM_mipsisa64r6 = ""
+RUNTIMELIBITM_mipsisa64r6el = ""
 RUNTIMELIBITM_nios2 = ""
 RUNTIMELIBITM_microblaze = ""
 
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 9/9] arch-mips: Add mipsisa{32, 64}r6{el, } tunes
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (7 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 8/9] gcc-configure: " Zubair Lutfullah Kakakhel
@ 2016-10-04 11:31 ` Zubair Lutfullah Kakakhel
  2016-10-06 16:43 ` [PATCH 0/9] Add MIPS release 6 ISA support Mark Hatle
  9 siblings, 0 replies; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-04 11:31 UTC (permalink / raw)
  To: openembedded-core

Add support for MIPS Release 6 ISA and the various tune
configurations.

This patch adds the tunes for 32r6 and 64r6 n64 and not the n32
variants at the moment.

Release 6 onwards, the tuples are now
 - mipsisa32r6-linux-gnu
 - mipsisa32r6el-linux-gnu
 - mipsisa64r6-linux-gnuabi64
 - mipsisa64r6el-linux-gnuabi64
 - mipsisa64r6-linux-gnuabin32
 - mipsisa64r6el-linux-gnuabin32

For more details, check https://wiki.debian.org/Multiarch/Tuples

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
---
 meta/conf/machine/include/mips/README        | 19 ++++++++++++++++-
 meta/conf/machine/include/mips/arch-mips.inc | 10 ++++++++-
 meta/conf/machine/include/tune-mips32r6.inc  | 29 +++++++++++++++++++++++++
 meta/conf/machine/include/tune-mips64r6.inc  | 32 ++++++++++++++++++++++++++++
 4 files changed, 88 insertions(+), 2 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-mips32r6.inc
 create mode 100644 meta/conf/machine/include/tune-mips64r6.inc

diff --git a/meta/conf/machine/include/mips/README b/meta/conf/machine/include/mips/README
index c375f31..62fa156 100644
--- a/meta/conf/machine/include/mips/README
+++ b/meta/conf/machine/include/mips/README
@@ -1,3 +1,6 @@
+2016/09/30 - Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
+  - Add Release 6 support
+
 2012/03/30 - Mark Hatle <mark.hatle@windriver.com>
   - Initial Version
 
@@ -6,9 +9,14 @@ MIPS currently defines 12 ABIs.  Combinations of:
  *) Hardware/Software Floating Point
  *) o32, n32, n64 ABI
 
+Release 6 of the ISA is a major revision and doesn't build up on previous
+releases of the ISA.
+
+For more details about tuples, check https://wiki.debian.org/Multiarch/Tuples
+
 TUNE_ARCH, the GNU canonical arch, is defined as:
 
-mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}
+"mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
 
 The package arch is defined in such a way to generated a standard naming
 scheme.  The scheme is: <mips variant>[-nf][-n32]
@@ -34,3 +42,12 @@ that the tune is using a non-floating point ABI.
 MIPSPKGSFX_ABI - This is used to specify an alternative ABI when the previous
 values are not enough to distringuish the package.  "-n32" is added when
 building for N32 ABI.
+
+MIPSPKGSFX_R6 - This is used to specify the presence of release 6.
+"r6" is added in the tuple for release 6 of the isa.
+
+MIPSPKGSFX_64R6 - This is used to specify "isa" in the tuple.
+Release 6 onwards we use "mipsisa64" instead of just "mips64".
+
+MIPSPKGSFX_32R6 -  This is used to specify "isa32" in the tuple.
+Release 6 onwards we use "mipsisa32" instead of just "mips".
diff --git a/meta/conf/machine/include/mips/arch-mips.inc b/meta/conf/machine/include/mips/arch-mips.inc
index 28d3b51..50c4c82 100644
--- a/meta/conf/machine/include/mips/arch-mips.inc
+++ b/meta/conf/machine/include/mips/arch-mips.inc
@@ -32,14 +32,22 @@ TUNEVALID[fpu-hard] = "Use hardware FPU"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', ' -msoft-float', d)}"
 TARGET_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', '', 'soft', d)}"
 
+# MIPS r6 ABI
+TUNEVALID[r6] = "Use r6"
+TUNEVALID[mipsisa64r6] = "Use 64r6"
+TUNEVALID[mipsisa32r6] = "Use 32r6"
+
 # Package naming
 MIPSPKGSFX_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'el', d)}"
 MIPSPKGSFX_BYTE = "${@bb.utils.contains('TUNE_FEATURES', 'n64' , '64', '', d)}"
 MIPSPKGSFX_BYTE .= "${@bb.utils.contains('TUNE_FEATURES', 'n32' , '64', '', d)}"
 MIPSPKGSFX_FPU = "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard' , '', '-nf', d)}"
 MIPSPKGSFX_ABI = "${@bb.utils.contains('TUNE_FEATURES', 'n32', '-n32', '', d)}"
+MIPSPKGSFX_R6 = "${@bb.utils.contains('TUNE_FEATURES', 'r6', 'r6', '', d)}"
+MIPSPKGSFX_64R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', 'isa', '', d)}"
+MIPSPKGSFX_32R6 = "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', 'isa32', '', d)}"
 
-TUNE_ARCH = "mips${MIPSPKGSFX_BYTE}${MIPSPKGSFX_ENDIAN}"
+TUNE_ARCH = "mips${MIPSPKGSFX_32R6}${MIPSPKGSFX_64R6}${MIPSPKGSFX_BYTE}${MIPSPKGSFX_R6}${MIPSPKGSFX_ENDIAN}"
 TUNE_PKGARCH = "${MIPSPKGSFX_VARIANT_tune-${DEFAULTTUNE}}${MIPSPKGSFX_FPU}${MIPSPKGSFX_ABI}"
 
 # Base tunes
diff --git a/meta/conf/machine/include/tune-mips32r6.inc b/meta/conf/machine/include/tune-mips32r6.inc
new file mode 100644
index 0000000..4721319
--- /dev/null
+++ b/meta/conf/machine/include/tune-mips32r6.inc
@@ -0,0 +1,29 @@
+DEFAULTTUNE ?= "mipsisa32r6el"
+
+require conf/machine/include/mips/arch-mips.inc
+
+TUNEVALID[mipsisa32r6] = "Enable mipsisa32r6 specific processor optimizations"
+TUNECONFLICTS[mipsisa32r6] = "n64 n32"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa32r6', ' -march=mips32r6', '', d)}"
+
+# Base Tunes
+AVAILTUNES += "mipsisa32r6 mipsisa32r6el"
+
+TUNE_FEATURES_tune-mipsisa32r6 = "bigendian mipsisa32r6 fpu-hard r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa32r6 = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6 = "mipsisa32r6"
+
+TUNE_FEATURES_tune-mipsisa32r6el = "fpu-hard mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa32r6el = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el = "mipsisa32r6el"
+
+# Soft Float
+AVAILTUNES += "mipsisa32r6-nf mipsisa32r6el-nf"
+
+TUNE_FEATURES_tune-mipsisa32r6-nf = "bigendian mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa32r6-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6-nf = "mipsisa32r6-nf"
+
+TUNE_FEATURES_tune-mipsisa32r6el-nf = "mipsisa32r6 r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa32r6el-nf = "${TUNE_ARCH}"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa32r6el-nf = "mipsisa32r6el-nf"
diff --git a/meta/conf/machine/include/tune-mips64r6.inc b/meta/conf/machine/include/tune-mips64r6.inc
new file mode 100644
index 0000000..f0ad564
--- /dev/null
+++ b/meta/conf/machine/include/tune-mips64r6.inc
@@ -0,0 +1,32 @@
+DEFAULTTUNE ?= "mipsisa64r6el"
+
+require conf/machine/include/mips/arch-mips.inc
+
+TUNEVALID[mipsisa64r6] = "Enable mipsisa64r6 specific processor optimizations"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'mipsisa64r6', ' -march=mips64r6', '', d)}"
+
+# Base Tunes
+AVAILTUNES += "mipsisa64r6 mipsisa64r6el"
+
+TUNE_FEATURES_tune-mipsisa64r6 = "bigendian fpu-hard n64 mipsisa64r6 r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa64r6 = "${TUNE_ARCH}"
+BASE_LIB_tune-mipsisa64r6 = "lib64"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6 = "mipsisa64r6"
+
+TUNE_FEATURES_tune-mipsisa64r6el = "fpu-hard r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa64r6el = "${TUNE_ARCH}"
+BASE_LIB_tune-mipsisa64r6el = "lib64"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el = "mipsisa64r6el"
+
+# Soft Float
+AVAILTUNES += "mipsisa64r6-nf mipsisa64r6el-nf"
+
+TUNE_FEATURES_tune-mipsisa64r6-nf = "bigendian r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa64r6-nf = "${TUNE_ARCH}"
+BASE_LIB_tune-mipsisa64r6-nf = "lib64"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6-nf = "mipsisa64r6"
+
+TUNE_FEATURES_tune-mipsisa64r6el-nf = "r6 n64 mipsisa64r6"
+MIPSPKGSFX_VARIANT_tune-mipsisa64r6el-nf = "${TUNE_ARCH}"
+BASE_LIB_tune-mipsisa64r6el-nf = "lib64"
+PACKAGE_EXTRA_ARCHS_tune-mipsisa64r6el-nf = "mipsisa64r6el-nf"
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
                   ` (8 preceding siblings ...)
  2016-10-04 11:31 ` [PATCH 9/9] arch-mips: Add mipsisa{32, 64}r6{el, } tunes Zubair Lutfullah Kakakhel
@ 2016-10-06 16:43 ` Mark Hatle
  2016-10-07 11:53   ` Zubair Lutfullah Kakakhel
  9 siblings, 1 reply; 16+ messages in thread
From: Mark Hatle @ 2016-10-06 16:43 UTC (permalink / raw)
  To: Zubair Lutfullah Kakakhel, openembedded-core

A few general comments.  I don't see an n32 variant implemented.  I'd suggest a
follow on patch (vs a new version) to add n32.

It looks like it's missing in the files modified by patches 6-9.

Otherwise I don't see any issues with adding the support for this new ISA.

--Mark

On 10/4/16 6:31 AM, Zubair Lutfullah Kakakhel wrote:
> Hi,
> 
> This patch series adds support for MIPS Release 6 ISA.
> 
> A few key points to note are:
> 
> 1 - The tuples have changed for Multiarch. For details, check 
>     https://wiki.debian.org/Multiarch/Tuples
> 
> 2 - Dynamic linker loader name has changed.
>     ld.so.1 -> ld-linux-mipsn8.so.1
>     For details, check
>     https://sourceware.org/glibc/wiki/ABIList#mips
> 
> I tested this using poky, krogoth-15.0.1, yocto-2.1.1 + various patches.
> Most notable patches were adding support for Linux kernel 4.8 and using
> 4.8 headers. Preferred using 4.8 as there was a quirk in glibc + nan2008
> that preferred 4.5+.
> https://sourceware.org/ml/libc-alpha/2016-01/msg00240.html
> 
> Build + qemu boot tested for little endian variations.
> 
> Regards,
> ZubairLK
> 
> Zubair Lutfullah Kakakhel (9):
>   insane.bbclass: Add mipsisa{32,64}r6{el,}
>   kernel-arch.bbclass: Add mipsisa{32,64}r6{el,} support
>   libc-package.bbclass: Add mipsisa{32,64}r6{el,} support
>   linuxloader.bbclass: Add mipsisa{32,64}r6{el,} support
>   siteinfo.bbclass: Add mipsisa{32,64}r6{el,} support
>   bitbake.conf: Add mipsisa{32,64}r6{el,} support
>   glibc: Add mipsisa{32,64}r6{el,} support
>   gcc-configure: Add mipsisa{32,64}r6{el,} support
>   arch-mips: Add mipsisa{32,64}r6{el,} tunes
> 
>  meta/classes/insane.bbclass                        |  4 ++
>  meta/classes/kernel-arch.bbclass                   |  2 +-
>  meta/classes/libc-package.bbclass                  |  4 ++
>  meta/classes/linuxloader.bbclass                   |  3 +
>  meta/classes/siteinfo.bbclass                      |  4 ++
>  meta/conf/bitbake.conf                             |  5 ++
>  meta/conf/machine/include/mips/README              | 19 ++++-
>  meta/conf/machine/include/mips/arch-mips.inc       | 10 ++-
>  meta/conf/machine/include/tune-mips32r6.inc        | 29 ++++++++
>  meta/conf/machine/include/tune-mips64r6.inc        | 32 +++++++++
>  meta/recipes-core/glibc/glibc-ld.inc               |  4 ++
>  meta/recipes-devtools/gcc/gcc-configure-common.inc |  4 ++
>  meta/recipes-devtools/gcc/gcc-runtime.inc          |  4 ++
>  meta/site/mipsisa32r6-linux                        | 79 ++++++++++++++++++++
>  meta/site/mipsisa32r6el-linux                      | 79 ++++++++++++++++++++
>  meta/site/mipsisa64r6-linux                        | 83 ++++++++++++++++++++++
>  meta/site/mipsisa64r6el-linux                      | 83 ++++++++++++++++++++++
>  17 files changed, 445 insertions(+), 3 deletions(-)
>  create mode 100644 meta/conf/machine/include/tune-mips32r6.inc
>  create mode 100644 meta/conf/machine/include/tune-mips64r6.inc
>  create mode 100644 meta/site/mipsisa32r6-linux
>  create mode 100644 meta/site/mipsisa32r6el-linux
>  create mode 100644 meta/site/mipsisa64r6-linux
>  create mode 100644 meta/site/mipsisa64r6el-linux
> 



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-06 16:43 ` [PATCH 0/9] Add MIPS release 6 ISA support Mark Hatle
@ 2016-10-07 11:53   ` Zubair Lutfullah Kakakhel
  2016-10-07 15:48     ` Richard Purdie
  0 siblings, 1 reply; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-07 11:53 UTC (permalink / raw)
  To: Mark Hatle, openembedded-core

Hi,

On 10/06/2016 05:43 PM, Mark Hatle wrote:
> A few general comments.  I don't see an n32 variant implemented.  I'd suggest a
> follow on patch (vs a new version) to add n32.
>
> It looks like it's missing in the files modified by patches 6-9.

Thanks for the review.
Yes I haven't added the n32 variant on purpose at the moment.
Wanted to get this out to see if this is the correct approach.

>
> Otherwise I don't see any issues with adding the support for this new ISA.

Thanks!

Regards,
ZubairLK

>
> --Mark
>
> On 10/4/16 6:31 AM, Zubair Lutfullah Kakakhel wrote:
>> Hi,
>>
>> This patch series adds support for MIPS Release 6 ISA.
>>
>> A few key points to note are:
>>
>> 1 - The tuples have changed for Multiarch. For details, check
>>     https://wiki.debian.org/Multiarch/Tuples
>>
>> 2 - Dynamic linker loader name has changed.
>>     ld.so.1 -> ld-linux-mipsn8.so.1
>>     For details, check
>>     https://sourceware.org/glibc/wiki/ABIList#mips
>>
>> I tested this using poky, krogoth-15.0.1, yocto-2.1.1 + various patches.
>> Most notable patches were adding support for Linux kernel 4.8 and using
>> 4.8 headers. Preferred using 4.8 as there was a quirk in glibc + nan2008
>> that preferred 4.5+.
>> https://sourceware.org/ml/libc-alpha/2016-01/msg00240.html
>>
>> Build + qemu boot tested for little endian variations.
>>
>> Regards,
>> ZubairLK
>>
>> Zubair Lutfullah Kakakhel (9):
>>   insane.bbclass: Add mipsisa{32,64}r6{el,}
>>   kernel-arch.bbclass: Add mipsisa{32,64}r6{el,} support
>>   libc-package.bbclass: Add mipsisa{32,64}r6{el,} support
>>   linuxloader.bbclass: Add mipsisa{32,64}r6{el,} support
>>   siteinfo.bbclass: Add mipsisa{32,64}r6{el,} support
>>   bitbake.conf: Add mipsisa{32,64}r6{el,} support
>>   glibc: Add mipsisa{32,64}r6{el,} support
>>   gcc-configure: Add mipsisa{32,64}r6{el,} support
>>   arch-mips: Add mipsisa{32,64}r6{el,} tunes
>>
>>  meta/classes/insane.bbclass                        |  4 ++
>>  meta/classes/kernel-arch.bbclass                   |  2 +-
>>  meta/classes/libc-package.bbclass                  |  4 ++
>>  meta/classes/linuxloader.bbclass                   |  3 +
>>  meta/classes/siteinfo.bbclass                      |  4 ++
>>  meta/conf/bitbake.conf                             |  5 ++
>>  meta/conf/machine/include/mips/README              | 19 ++++-
>>  meta/conf/machine/include/mips/arch-mips.inc       | 10 ++-
>>  meta/conf/machine/include/tune-mips32r6.inc        | 29 ++++++++
>>  meta/conf/machine/include/tune-mips64r6.inc        | 32 +++++++++
>>  meta/recipes-core/glibc/glibc-ld.inc               |  4 ++
>>  meta/recipes-devtools/gcc/gcc-configure-common.inc |  4 ++
>>  meta/recipes-devtools/gcc/gcc-runtime.inc          |  4 ++
>>  meta/site/mipsisa32r6-linux                        | 79 ++++++++++++++++++++
>>  meta/site/mipsisa32r6el-linux                      | 79 ++++++++++++++++++++
>>  meta/site/mipsisa64r6-linux                        | 83 ++++++++++++++++++++++
>>  meta/site/mipsisa64r6el-linux                      | 83 ++++++++++++++++++++++
>>  17 files changed, 445 insertions(+), 3 deletions(-)
>>  create mode 100644 meta/conf/machine/include/tune-mips32r6.inc
>>  create mode 100644 meta/conf/machine/include/tune-mips64r6.inc
>>  create mode 100644 meta/site/mipsisa32r6-linux
>>  create mode 100644 meta/site/mipsisa32r6el-linux
>>  create mode 100644 meta/site/mipsisa64r6-linux
>>  create mode 100644 meta/site/mipsisa64r6el-linux
>>
>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-07 11:53   ` Zubair Lutfullah Kakakhel
@ 2016-10-07 15:48     ` Richard Purdie
  2016-10-07 16:07       ` Zubair Lutfullah Kakakhel
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Purdie @ 2016-10-07 15:48 UTC (permalink / raw)
  To: Zubair Lutfullah Kakakhel, Mark Hatle, openembedded-core

On Fri, 2016-10-07 at 12:53 +0100, Zubair Lutfullah Kakakhel wrote:
> On 10/06/2016 05:43 PM, Mark Hatle wrote:
> > 
> > A few general comments.  I don't see an n32 variant
> > implemented.  I'd suggest a
> > follow on patch (vs a new version) to add n32.
> > 
> > It looks like it's missing in the files modified by patches 6-9.
> Thanks for the review.
> Yes I haven't added the n32 variant on purpose at the moment.
> Wanted to get this out to see if this is the correct approach.

I've been torn on these patches, they're good but they've come in very
late in the cycle for this kind of change. Since they're comparatively
straight forward to review, I've merged them. This is partly because I
wouldn't really want to backport changes like this later and it seemed
likely that might be requested.

What I will say though is that we really need to think about an
"allmips", or "mipsarch" override, rather than all these duplicate
lines for all mips variants. This is something we should fix early in
the 2.3 cycle and should make some of this look a lot neater. It might
be worth openening a bug for this in the bugzilla and assigning that to
yourself, assuming you're happy to work on it?

Cheers,

Richard




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-07 15:48     ` Richard Purdie
@ 2016-10-07 16:07       ` Zubair Lutfullah Kakakhel
  2016-10-07 16:19         ` Richard Purdie
  0 siblings, 1 reply; 16+ messages in thread
From: Zubair Lutfullah Kakakhel @ 2016-10-07 16:07 UTC (permalink / raw)
  To: Richard Purdie, Mark Hatle, openembedded-core

Hi,

On 10/07/2016 04:48 PM, Richard Purdie wrote:
> On Fri, 2016-10-07 at 12:53 +0100, Zubair Lutfullah Kakakhel wrote:
>> On 10/06/2016 05:43 PM, Mark Hatle wrote:
>>>
>>> A few general comments.  I don't see an n32 variant
>>> implemented.  I'd suggest a
>>> follow on patch (vs a new version) to add n32.
>>>
>>> It looks like it's missing in the files modified by patches 6-9.
>> Thanks for the review.
>> Yes I haven't added the n32 variant on purpose at the moment.
>> Wanted to get this out to see if this is the correct approach.
>
> I've been torn on these patches, they're good but they've come in very
> late in the cycle for this kind of change. Since they're comparatively
> straight forward to review, I've merged them. This is partly because I
> wouldn't really want to backport changes like this later and it seemed
> likely that might be requested.

Thank you very much for merging them this cycle!

>
> What I will say though is that we really need to think about an
> "allmips", or "mipsarch" override, rather than all these duplicate
> lines for all mips variants. This is something we should fix early in
> the 2.3 cycle and should make some of this look a lot neater. It might
> be worth openening a bug for this in the bugzilla and assigning that to
> yourself, assuming you're happy to work on it?

The duplicate lines are bothersome indeed.
I'm happy to work on it. But I'm still a bit new to OE internals so would
prefer a little direction regarding the best approach to take.

Regards,
ZubairLK

>
> Cheers,
>
> Richard
>
>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-07 16:07       ` Zubair Lutfullah Kakakhel
@ 2016-10-07 16:19         ` Richard Purdie
  2016-10-07 16:21           ` Richard Purdie
  0 siblings, 1 reply; 16+ messages in thread
From: Richard Purdie @ 2016-10-07 16:19 UTC (permalink / raw)
  To: Zubair Lutfullah Kakakhel, Mark Hatle, openembedded-core

On Fri, 2016-10-07 at 17:07 +0100, Zubair Lutfullah Kakakhel wrote:
> On 10/07/2016 04:48 PM, Richard Purdie wrote:
> > On Fri, 2016-10-07 at 12:53 +0100, Zubair Lutfullah Kakakhel wrote:
> > What I will say though is that we really need to think about an
> > "allmips", or "mipsarch" override, rather than all these duplicate
> > lines for all mips variants. This is something we should fix early
> > in
> > the 2.3 cycle and should make some of this look a lot neater. It
> > might
> > be worth openening a bug for this in the bugzilla and assigning
> > that to
> > yourself, assuming you're happy to work on it?
> The duplicate lines are bothersome indeed.
> I'm happy to work on it. But I'm still a bit new to OE internals so
> would
> prefer a little direction regarding the best approach to take.

Very roughly speaking, you'd add something like:

MACHINEOVERRIDES =. "mipsarch"

to arch-mips.inc then you could do:

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 54a587f..7bd8716 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -528,16 +528,7 @@ BUILDSDK_LDFLAGS = "-Wl,-O1"
 
 LINKER_HASH_STYLE ??= "gnu"
 # mips does not support GNU hash style therefore we override
-LINKER_HASH_STYLE_mips = "sysv"
-LINKER_HASH_STYLE_mipsel = "sysv"
-LINKER_HASH_STYLE_mips64 = "sysv"
-LINKER_HASH_STYLE_mips64el = "sysv"
-LINKER_HASH_STYLE_mips64n32 = "sysv"
-LINKER_HASH_STYLE_mips64eln32 = "sysv"
-LINKER_HASH_STYLE_mipsisa32r6 = "sysv"
-LINKER_HASH_STYLE_mipsisa32r6el = "sysv"
-LINKER_HASH_STYLE_mipsisa64r6 = "sysv"
-LINKER_HASH_STYLE_mipsisa64r6el = "sysv"
+LINKER_HASH_STYLE_mipsarch = "sysv"
 
 TARGET_LINK_HASH_STYLE ?= "${@['-Wl,--hash-style=gnu',''][d.getVar('LINKER_HASH_STYLE', True) != 'gnu']}"

amongst other nice cleanups.

Cheers,

Richard


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/9] Add MIPS release 6 ISA support
  2016-10-07 16:19         ` Richard Purdie
@ 2016-10-07 16:21           ` Richard Purdie
  0 siblings, 0 replies; 16+ messages in thread
From: Richard Purdie @ 2016-10-07 16:21 UTC (permalink / raw)
  To: Zubair Lutfullah Kakakhel, Mark Hatle, openembedded-core

On Fri, 2016-10-07 at 17:19 +0100, Richard Purdie wrote:
> On Fri, 2016-10-07 at 17:07 +0100, Zubair Lutfullah Kakakhel wrote:
> > 
> > On 10/07/2016 04:48 PM, Richard Purdie wrote:
> > > 
> > > On Fri, 2016-10-07 at 12:53 +0100, Zubair Lutfullah Kakakhel
> > > wrote:
> > > What I will say though is that we really need to think about an
> > > "allmips", or "mipsarch" override, rather than all these
> > > duplicate
> > > lines for all mips variants. This is something we should fix
> > > early
> > > in
> > > the 2.3 cycle and should make some of this look a lot neater. It
> > > might
> > > be worth openening a bug for this in the bugzilla and assigning
> > > that to
> > > yourself, assuming you're happy to work on it?
> > The duplicate lines are bothersome indeed.
> > I'm happy to work on it. But I'm still a bit new to OE internals so
> > would
> > prefer a little direction regarding the best approach to take.
> Very roughly speaking, you'd add something like:
> 
> MACHINEOVERRIDES =. "mipsarch"

er, I do mean:

MACHINEOVERRIDES =. "mipsarch:"

Cheers,

Richard


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-10-07 16:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-04 11:31 [PATCH 0/9] Add MIPS release 6 ISA support Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 1/9] insane.bbclass: Add mipsisa{32, 64}r6{el, } Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 2/9] kernel-arch.bbclass: Add mipsisa{32, 64}r6{el, } support Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 3/9] libc-package.bbclass: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 4/9] linuxloader.bbclass: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 5/9] siteinfo.bbclass: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 6/9] bitbake.conf: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 7/9] glibc: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 8/9] gcc-configure: " Zubair Lutfullah Kakakhel
2016-10-04 11:31 ` [PATCH 9/9] arch-mips: Add mipsisa{32, 64}r6{el, } tunes Zubair Lutfullah Kakakhel
2016-10-06 16:43 ` [PATCH 0/9] Add MIPS release 6 ISA support Mark Hatle
2016-10-07 11:53   ` Zubair Lutfullah Kakakhel
2016-10-07 15:48     ` Richard Purdie
2016-10-07 16:07       ` Zubair Lutfullah Kakakhel
2016-10-07 16:19         ` Richard Purdie
2016-10-07 16:21           ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.