All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH 00/14] mips64 support and sh4 support
@ 2012-05-21  3:35 Khem Raj
  2012-05-21  3:35 ` [PATCH 01/14] insane.bbclass: Add mips64{el} to known machines Khem Raj
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

This patchset adds required bits into metadata for having
mips64/n64 support. I have tested the core-image-sato and core-image-minimal
builds and boots on qemumips64 and runs gcc regression testsuite.
It needs linux-yocto-dev kernel for now which can be obtained from
poky-extra repo. Additionally systemd-image on angstrom-next builds and boots
fine on qemumips64 as well.

Additionally it also adds bits to have SH4 root file systems to be
able to built and again core-image-sato builds for sh4 however qemu
machine support is not yet done but root file sytem boots fine on 
real hardware.

The images are tested on both eglibc and uclibc.

Any help in providing feedback or testing these patches is welcome.

I have tested them enough for over a month now.

The following changes since commit 326563d5a897ae2dba7cfd8d73579d3d979d72c8:

  sstate.bbclass: Make sure we don't have an empty fixmepath file (2012-05-18 15:24:45 +0100)

are available in the git repository at:
  git://git.openembedded.org/openembedded-core-contrib kraj/mips64
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/mips64

Khem Raj (14):
  insane.bbclass: Add mips64{el} to known machines
  site: Add mips64 eglibc and uclibc site files
  gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
  binutils: Default to n64 when configured for mips64
  kernel-arch.bbclass: Map mips64{el} to mips KARCH
  eglibc-2.15: Support mips64
  libc-package: Add sh4 and mips64 to arch options
  runqemu: Add qemush4 and qemumips64 knowledge
  netbase: Add interface files for qemumips64 and qemush4
  site/sh-common: Add missing caches variables to build glib-2.32
  xserver-xorg: Fix build for mips64
  tune-mips64.inc: Add new tune file for mips64 big-endian
  qemumips64.conf: Add machine configuration for mips64(eb)
  qemush4.conf: Add machine configuration for qemush4

 meta/classes/insane.bbclass                        |    4 +
 meta/classes/kernel-arch.bbclass                   |    2 +-
 meta/classes/libc-package.bbclass                  |    3 +
 meta/conf/machine/include/tune-mips64.inc          |    3 +
 meta/conf/machine/qemumips64.conf                  |   13 +++
 meta/conf/machine/qemush4.conf                     |   13 +++
 meta/recipes-core/eglibc/eglibc-locale.inc         |    2 +-
 meta/recipes-core/eglibc/eglibc_2.15.bb            |    2 +-
 .../netbase/netbase-4.47/qemumips64/interfaces     |    8 ++
 .../netbase/netbase-4.47/qemush4/interfaces        |    8 ++
 meta/recipes-core/netbase/netbase_4.47.bb          |    4 +-
 .../binutils/mips64-default-ld-emulation.patch     |   49 +++++++++
 meta/recipes-devtools/binutils/binutils_2.22.bb    |    3 +-
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    1 +
 .../gcc/gcc-4.6/mips64-default-n64.patch           |   32 ++++++
 meta/recipes-devtools/gcc/gcc-4.7.inc              |    1 +
 .../gcc/gcc-4.7/mips64-default-n64.patch           |   19 ++++
 meta/recipes-devtools/gcc/gcc-configure-common.inc |    4 +
 .../xorg-xserver/xserver-xorg-1.11.2.inc           |    1 +
 .../xserver-xorg-1.11.2/mips64-compiler.patch      |   29 +++++
 meta/site/mips64-linux                             |   82 +++++++++++++++
 meta/site/mips64-linux-uclibc                      |   83 +++++++++++++++
 meta/site/mips64el-linux                           |   82 +++++++++++++++
 meta/site/mips64el-linux-uclibc                    |  108 ++++++++++++++++++++
 meta/site/sh-common                                |    4 +
 scripts/runqemu                                    |   10 ++-
 scripts/runqemu-internal                           |   35 ++++++-
 27 files changed, 594 insertions(+), 11 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-mips64.inc
 create mode 100644 meta/conf/machine/qemumips64.conf
 create mode 100644 meta/conf/machine/qemush4.conf
 create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces
 create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces
 create mode 100644 meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch
 create mode 100644 meta/site/mips64-linux
 create mode 100644 meta/site/mips64-linux-uclibc
 create mode 100644 meta/site/mips64el-linux
 create mode 100644 meta/site/mips64el-linux-uclibc

-- 
1.7.5.4




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

* [PATCH 01/14] insane.bbclass: Add mips64{el} to known machines
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 02/14] site: Add mips64 eglibc and uclibc site files Khem Raj
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/insane.bbclass |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 8c4a83a..49e904a 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -59,6 +59,8 @@ def package_qa_get_machine_dict():
                         "m68k":       ( 4,     0,    0,          False,         32),
                         "mips":       ( 8,     0,    0,          False,         32),
                         "mipsel":     ( 8,     0,    0,          True,          32),
+                        "mips64":     ( 8,     0,    0,          False,         64),
+                        "mips64el":   ( 8,     0,    0,          True,          64),
                         "s390":       (22,     0,    0,          False,         32),
                         "sh4":        (42,     0,    0,          True,          32),
                         "sparc":      ( 2,     0,    0,          False,         32),
@@ -74,6 +76,8 @@ def package_qa_get_machine_dict():
                         "x86_64":     (  62,     0,    0,          True,          64),
                         "mips":       (   8,     0,    0,          False,         32),
                         "mipsel":     (   8,     0,    0,          True,          32),
+                        "mips64":     (   8,     0,    0,          False,         64),
+                        "mips64el":   (   8,     0,    0,          True,          64),
                         "avr32":      (6317,     0,    0,          False,         32),
 			"sh4":        (42,	 0,    0,          True,          32),
 
-- 
1.7.5.4




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

* [PATCH 02/14] site: Add mips64 eglibc and uclibc site files
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
  2012-05-21  3:35 ` [PATCH 01/14] insane.bbclass: Add mips64{el} to known machines Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 03/14] gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler Khem Raj
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/site/mips64-linux          |   82 +++++++++++++++++++++++++++++
 meta/site/mips64-linux-uclibc   |   83 ++++++++++++++++++++++++++++++
 meta/site/mips64el-linux        |   82 +++++++++++++++++++++++++++++
 meta/site/mips64el-linux-uclibc |  108 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 355 insertions(+), 0 deletions(-)
 create mode 100644 meta/site/mips64-linux
 create mode 100644 meta/site/mips64-linux-uclibc
 create mode 100644 meta/site/mips64el-linux
 create mode 100644 meta/site/mips64el-linux-uclibc

diff --git a/meta/site/mips64-linux b/meta/site/mips64-linux
new file mode 100644
index 0000000..4449c96
--- /dev/null
+++ b/meta/site/mips64-linux
@@ -0,0 +1,82 @@
+# 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
+
+# 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/mips64-linux-uclibc b/meta/site/mips64-linux-uclibc
new file mode 100644
index 0000000..cbba552
--- /dev/null
+++ b/meta/site/mips64-linux-uclibc
@@ -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
+
+# 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}
+
diff --git a/meta/site/mips64el-linux b/meta/site/mips64el-linux
new file mode 100644
index 0000000..8b61eb0
--- /dev/null
+++ b/meta/site/mips64el-linux
@@ -0,0 +1,82 @@
+# 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
+
+# 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}
diff --git a/meta/site/mips64el-linux-uclibc b/meta/site/mips64el-linux-uclibc
new file mode 100644
index 0000000..6a0499d
--- /dev/null
+++ b/meta/site/mips64el-linux-uclibc
@@ -0,0 +1,108 @@
+# 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
+
+# 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}
+
+# gettext
+am_cv_func_working_getline=${am_cv_func_working_getline=yes}
+
+# samba
+# from samba 3.0.14a on 5/29/2005
+ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes}
+ac_cv_have_asprintf_decl=${ac_cv_have_asprintf_decl=yes}
+ac_cv_have_setresgid_decl=${ac_cv_have_setresgid_decl=yes}
+ac_cv_have_setresuid_decl=${ac_cv_have_setresuid_decl=yes}
+ac_cv_have_vasprintf_decl=${ac_cv_have_vasprintf_decl=yes}
+fu_cv_sys_stat_statvfs64=${fu_cv_sys_stat_statvfs64=yes}
+samba_cv_FTRUNCATE_NEEDS_ROOT=${samba_cv_FTRUNCATE_NEEDS_ROOT=no}
+samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no}
+samba_cv_HAVE_BROKEN_GETGROUPS=${samba_cv_HAVE_BROKEN_GETGROUPS=no}
+samba_cv_HAVE_BROKEN_READDIR=${samba_cv_HAVE_BROKEN_READDIR=no}
+samba_cv_HAVE_C99_VSNPRINTF=${samba_cv_HAVE_C99_VSNPRINTF=yes}
+samba_cv_HAVE_DEV64_T=${samba_cv_HAVE_DEV64_T=no}
+samba_cv_HAVE_DEVICE_MAJOR_FN=${samba_cv_HAVE_DEVICE_MAJOR_FN=yes}
+samba_cv_HAVE_DEVICE_MINOR_FN=${samba_cv_HAVE_DEVICE_MINOR_FN=yes}
+samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=${samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes}
+samba_cv_HAVE_FCNTL_LOCK=${samba_cv_HAVE_FCNTL_LOCK=yes}
+samba_cv_HAVE_FTRUNCATE_EXTEND=${samba_cv_HAVE_FTRUNCATE_EXTEND=yes}
+samba_cv_HAVE_GETTIMEOFDAY_TZ=${samba_cv_HAVE_GETTIMEOFDAY_TZ=yes}
+samba_cv_HAVE_INO64_T=${samba_cv_HAVE_INO64_T=no}
+samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes}
+samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes}
+samba_cv_HAVE_KERNEL_SHARE_MODES=${samba_cv_HAVE_KERNEL_SHARE_MODES=yes}
+samba_cv_HAVE_MAKEDEV=${samba_cv_HAVE_MAKEDEV=yes}
+samba_cv_HAVE_MMAP=${samba_cv_HAVE_MMAP=yes}
+samba_cv_HAVE_OFF64_T=${samba_cv_HAVE_OFF64_T=no}
+samba_cv_HAVE_QUOTACTL_4A=${samba_cv_HAVE_QUOTACTL_4A=yes}
+samba_cv_HAVE_ROOT=${samba_cv_HAVE_ROOT=no}
+samba_cv_HAVE_SECURE_MKSTEMP=${samba_cv_HAVE_SECURE_MKSTEMP=yes}
+samba_cv_HAVE_SENDFILE64=${samba_cv_HAVE_SENDFILE64=yes}
+samba_cv_HAVE_STRUCT_DIRENT64=${samba_cv_HAVE_STRUCT_DIRENT64=yes}
+samba_cv_HAVE_STRUCT_FLOCK64=${samba_cv_HAVE_STRUCT_FLOCK64=yes}
+samba_cv_HAVE_TRUNCATED_SALT=${samba_cv_HAVE_TRUNCATED_SALT=no}
+samba_cv_HAVE_UNSIGNED_CHAR=${samba_cv_HAVE_UNSIGNED_CHAR=no}
+samba_cv_HAVE_WORKING_AF_LOCAL=${samba_cv_HAVE_WORKING_AF_LOCAL=no}
+samba_cv_HAVE_Werror=${samba_cv_HAVE_Werror=yes}
+samba_cv_REALPATH_TAKES_NULL=${samba_cv_REALPATH_TAKES_NULL=no}
+samba_cv_REPLACE_INET_NTOA=${samba_cv_REPLACE_INET_NTOA=no}
+samba_cv_SIZEOF_INO_T=${samba_cv_SIZEOF_INO_T=yes}
+samba_cv_SIZEOF_OFF_T=${samba_cv_SIZEOF_OFF_T=yes}
+samba_cv_SYSCONF_SC_NGROUPS_MAX=${samba_cv_SYSCONF_SC_NGROUPS_MAX=yes}
+samba_cv_SYSCONF_SC_NPROC_ONLN=${samba_cv_SYSCONF_SC_NPROC_ONLN=no}
+samba_cv_SYSQUOTA_FOUND=${samba_cv_SYSQUOTA_FOUND=yes}
+samba_cv_SYSQUOTA_WORKS=${samba_cv_SYSQUOTA_WORKS=yes}
+samba_cv_USE_SETRESUID=${samba_cv_USE_SETRESUID=yes}
+samba_cv_have_longlong=${samba_cv_have_longlong=yes}
+samba_cv_have_setresgid=${samba_cv_have_setresgid=yes}
+samba_cv_have_setresuid=${samba_cv_have_setresuid=yes}
+samba_cv_sysquotas_file=${samba_cv_sysquotas_file=lib/sysquotas_4A.c}
+# This cached value needs a local patch to pick it up, upstream 3.0.14a
+# doesn't cache it.
+samba_cv_LINUX_LFS_SUPPORT=${samba_cv_LINUX_LFS_SUPPORT=yes}
-- 
1.7.5.4




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

* [PATCH 03/14] gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
  2012-05-21  3:35 ` [PATCH 01/14] insane.bbclass: Add mips64{el} to known machines Khem Raj
  2012-05-21  3:35 ` [PATCH 02/14] site: Add mips64 eglibc and uclibc site files Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 04/14] binutils: Default to n64 when configured for mips64 Khem Raj
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Defaults to n64 ABI

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    1 +
 .../gcc/gcc-4.6/mips64-default-n64.patch           |   32 ++++++++++++++++++++
 meta/recipes-devtools/gcc/gcc-4.7.inc              |    1 +
 .../gcc/gcc-4.7/mips64-default-n64.patch           |   19 ++++++++++++
 meta/recipes-devtools/gcc/gcc-configure-common.inc |    4 ++
 5 files changed, 57 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch
 create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch

diff --git a/meta/recipes-devtools/gcc/gcc-4.6.inc b/meta/recipes-devtools/gcc/gcc-4.6.inc
index 65bc65d..7a70a38 100644
--- a/meta/recipes-devtools/gcc/gcc-4.6.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.6.inc
@@ -74,6 +74,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
 	   file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \
 	   file://fortran-cross-compile-hack.patch \
 	   file://cpp-honour-sysroot.patch \
+	   file://mips64-default-n64.patch \
 	  "
 
 SRC_URI_append_sh3  = " file://sh3-installfix-fixheaders.patch "
diff --git a/meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch b/meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch
new file mode 100644
index 0000000..bf930ec
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch
@@ -0,0 +1,32 @@
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Upstream-Status: Inappropriate [OE config specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: gcc-4_6-branch/gcc/config.gcc
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config.gcc	2012-04-22 19:12:12.431061229 -0700
++++ gcc-4_6-branch/gcc/config.gcc	2012-04-22 19:13:36.307065289 -0700
+@@ -1882,7 +1882,7 @@
+ mips64*-*-linux* | mipsisa64*-*-linux*)
+ 	tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/linux.h mips/linux64.h"
+ 	tmake_file="${tmake_file} mips/t-linux64 mips/t-libgcc-mips16"
+-	tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
++	tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
+ 	case ${target} in
+ 		mips64el-st-linux-gnu)
+ 			tm_file="${tm_file} mips/st.h"
+Index: gcc-4_6-branch/gcc/config/mips/linux64.h
+===================================================================
+--- gcc-4_6-branch.orig/gcc/config/mips/linux64.h	2012-04-22 19:10:59.743057711 -0700
++++ gcc-4_6-branch/gcc/config/mips/linux64.h	2012-04-22 19:11:56.919060479 -0700
+@@ -26,7 +26,7 @@
+   BASE_DRIVER_SELF_SPECS, \
+   LINUX_DRIVER_SELF_SPECS \
+   " %{!EB:%{!EL:%(endian_spec)}}" \
+-  " %{!mabi=*: -mabi=n32}"
++  " %{!mabi=*: -mabi=64}"
+ 
+ #undef LIB_SPEC
+ #define LIB_SPEC "\
diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc
index 8adeb8d..efd166c 100644
--- a/meta/recipes-devtools/gcc/gcc-4.7.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.7.inc
@@ -64,6 +64,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH};proto=http \
 	   file://fortran-cross-compile-hack.patch \
 	   file://libgcc-sjlj-check.patch \
 	   file://cpp-honor-sysroot.patch \
+	   file://mips64-default-n64.patch \
 	  "
 
 S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}"
diff --git a/meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch b/meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch
new file mode 100644
index 0000000..a42569e
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch
@@ -0,0 +1,19 @@
+MIPS64 defaults to n32 ABI, this patch makes it
+so that it defaults to N64 ABI
+
+Upstream-Status: Inappropriate [OE config specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Index: gcc-4_7-branch/gcc/config.gcc
+===================================================================
+--- gcc-4_7-branch.orig/gcc/config.gcc	2012-04-22 19:30:21.000000000 -0700
++++ gcc-4_7-branch/gcc/config.gcc	2012-04-22 21:09:57.783403173 -0700
+@@ -1750,7 +1750,7 @@
+ mips64*-*-linux* | mipsisa64*-*-linux*)
+ 	tm_file="dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_file} mips/gnu-user.h mips/gnu-user64.h mips/linux64.h"
+ 	tmake_file="${tmake_file} mips/t-linux64"
+-	tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_N32"
++	tm_defines="${tm_defines} MIPS_ABI_DEFAULT=ABI_64"
+ 	case ${target} in
+ 		mips64el-st-linux-gnu)
+ 			tm_file="${tm_file} mips/st.h"
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index a812b98..4d11ef4 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -49,6 +49,10 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) !=
 # Build uclibc compilers without cxa_atexit support
 EXTRA_OECONF_append_linux               = " --enable-__cxa_atexit"
 EXTRA_OECONF_append_libc-uclibc        = " --enable-__cxa_atexit"
+
+EXTRA_OECONF_append_mips64    = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+EXTRA_OECONF_append_mips64el    = " --with-abi=64 --with-arch-64=mips64 --with-tune-64=mips64"
+
 EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
 CPPFLAGS = ""
 
-- 
1.7.5.4




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

* [PATCH 04/14] binutils: Default to n64 when configured for mips64
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (2 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 03/14] gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 05/14] kernel-arch.bbclass: Map mips64{el} to mips KARCH Khem Raj
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Default ABI for mips64 is n64 so make it default in binutils

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../binutils/mips64-default-ld-emulation.patch     |   49 ++++++++++++++++++++
 meta/recipes-devtools/binutils/binutils_2.22.bb    |    3 +-
 2 files changed, 51 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch

diff --git a/meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch b/meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch
new file mode 100644
index 0000000..ab01859
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch
@@ -0,0 +1,49 @@
+for mips64*-*-linux we change the default emulations to be
+N64 instead of N32
+
+Upstream-Status: Inappropriate [ OE configuration Specific]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Index: binutils-2.22/bfd/config.bfd
+===================================================================
+--- binutils-2.22.orig/bfd/config.bfd	2011-07-28 15:35:13.000000000 -0700
++++ binutils-2.22/bfd/config.bfd	2012-04-23 21:07:44.151578222 -0700
+@@ -970,13 +970,13 @@
+     ;;
+ #ifdef BFD64
+   mips64*el-*-linux*)
+-    targ_defvec=bfd_elf32_ntradlittlemips_vec
+-    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
++    targ_defvec=bfd_elf64_tradlittlemips_vec
++    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec"
+     want64=true
+     ;;
+   mips64*-*-linux*)
+-    targ_defvec=bfd_elf32_ntradbigmips_vec
+-    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
++    targ_defvec=bfd_elf64_tradbigmips_vec
++    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradlittlemips_vec"
+     want64=true
+     ;;
+ #endif
+Index: binutils-2.22/ld/configure.tgt
+===================================================================
+--- binutils-2.22.orig/ld/configure.tgt	2011-11-21 01:29:37.000000000 -0800
++++ binutils-2.22/ld/configure.tgt	2012-04-23 21:05:34.183571931 -0700
+@@ -395,11 +395,11 @@
+ mips*-*-vxworks*)	targ_emul=elf32ebmipvxworks
+ 		        targ_extra_emuls="elf32elmipvxworks" ;;
+ mips*-*-windiss)	targ_emul=elf32mipswindiss ;;
+-mips64*el-*-linux-*)	targ_emul=elf32ltsmipn32
+-			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
++mips64*el-*-linux-*)	targ_emul=elf64ltsmip
++			targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
+ 			targ_extra_libpath=$targ_extra_emuls ;;
+-mips64*-*-linux-*)	targ_emul=elf32btsmipn32
+-			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
++mips64*-*-linux-*)	targ_emul=elf64btsmip
++			targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
+ 			targ_extra_libpath=$targ_extra_emuls ;;
+ mips*el-*-linux-*)	targ_emul=elf32ltsmip
+ 			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
diff --git a/meta/recipes-devtools/binutils/binutils_2.22.bb b/meta/recipes-devtools/binutils/binutils_2.22.bb
index d6d19a1..ae15e82 100644
--- a/meta/recipes-devtools/binutils/binutils_2.22.bb
+++ b/meta/recipes-devtools/binutils/binutils_2.22.bb
@@ -1,6 +1,6 @@
 require binutils.inc
 
-PR = "r6"
+PR = "r7"
 
 LIC_FILES_CHKSUM="\
     file://src-release;endline=17;md5=4830a9ef968f3b18dd5e9f2c00db2d35\
@@ -31,6 +31,7 @@ SRC_URI = "\
      file://clone-shadow.patch \
      file://binutils-powerpc-e5500.patch \
      file://binutils-armv5e.patch \
+     file://mips64-default-ld-emulation.patch \
      "
 
 SRC_URI[md5sum] = "ee0f10756c84979622b992a4a61ea3f5"
-- 
1.7.5.4




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

* [PATCH 05/14] kernel-arch.bbclass: Map mips64{el} to mips KARCH
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (3 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 04/14] binutils: Default to n64 when configured for mips64 Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 06/14] eglibc-2.15: Support mips64 Khem Raj
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/kernel-arch.bbclass |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index d37c1fb..e186422 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -23,7 +23,7 @@ def map_kernel_arch(a, d):
 	if   re.match('(i.86|athlon|x86.64)$', a):	return 'x86'
 	elif re.match('arm26$', a):		        return 'arm26'
 	elif re.match('armeb$', a):		        return 'arm'
-	elif re.match('mipsel$', a):		        return 'mips'
+	elif re.match('mips(el|64|64el)$', 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.7.5.4




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

* [PATCH 06/14] eglibc-2.15: Support mips64
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (4 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 05/14] kernel-arch.bbclass: Map mips64{el} to mips KARCH Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 07/14] libc-package: Add sh4 and mips64 to arch options Khem Raj
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Add mips64 to binary locale arches
Enabling ports in addons causes wrong
machtype to be chosen for mips64 and
it always chose mips32 which is wrong
for mips64 so enable all the addons
we have and we were enabling them anyway

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-core/eglibc/eglibc-locale.inc |    2 +-
 meta/recipes-core/eglibc/eglibc_2.15.bb    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-core/eglibc/eglibc-locale.inc b/meta/recipes-core/eglibc/eglibc-locale.inc
index 70c5cd1..6990569 100644
--- a/meta/recipes-core/eglibc/eglibc-locale.inc
+++ b/meta/recipes-core/eglibc/eglibc-locale.inc
@@ -20,7 +20,7 @@ ENABLE_BINARY_LOCALE_GENERATION_pn-eglibc-locale-nativesdk = "0"
 
 #enable locale generation on these arches
 # BINARY_LOCALE_ARCHES is a space separated list of regular expressions
-BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
+BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips mips64"
 
 # set "1" to use cross-localedef for locale generation
 # set "0" for qemu emulation of native localedef for locale generation
diff --git a/meta/recipes-core/eglibc/eglibc_2.15.bb b/meta/recipes-core/eglibc/eglibc_2.15.bb
index 340ec99..fa92670 100644
--- a/meta/recipes-core/eglibc/eglibc_2.15.bb
+++ b/meta/recipes-core/eglibc/eglibc_2.15.bb
@@ -68,7 +68,7 @@ export libc_cv_slibdir = "${base_libdir}"
 EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
                 --without-cvs --disable-profile --disable-debug --without-gd \
                 --enable-clocale=gnu \
-                --enable-add-ons=${GLIBC_ADDONS},ports \
+                --enable-add-ons \
                 --with-headers=${STAGING_INCDIR} \
                 --without-selinux \
                 ${GLIBC_EXTRA_OECONF}"
-- 
1.7.5.4




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

* [PATCH 07/14] libc-package: Add sh4 and mips64 to arch options
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (5 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 06/14] eglibc-2.15: Support mips64 Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 08/14] runqemu: Add qemush4 and qemumips64 knowledge Khem Raj
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

needed for new architecture support

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/classes/libc-package.bbclass |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 10f5f87..9df3c17 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -266,10 +266,13 @@ python package_do_split_gconvs () {
 			target_arch = d.getVar('TARGET_ARCH', True)
 			locale_arch_options = { \
 				"arm":     " --uint32-align=4 --little-endian ", \
+				"sh4":     " --uint32-align=4 --big-endian ",    \
 				"powerpc": " --uint32-align=4 --big-endian ",    \
 				"powerpc64": " --uint32-align=4 --big-endian ",  \
 				"mips":    " --uint32-align=4 --big-endian ",    \
+				"mips64":  " --uint32-align=4 --big-endian ",    \
 				"mipsel":  " --uint32-align=4 --little-endian ", \
+				"mips64el":" --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.7.5.4




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

* [PATCH 08/14] runqemu: Add qemush4 and qemumips64 knowledge
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (6 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 07/14] libc-package: Add sh4 and mips64 to arch options Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 09/14] netbase: Add interface files for qemumips64 and qemush4 Khem Raj
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

New machines need to be added and they also
have different kernel commandlines

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 scripts/runqemu          |   10 ++++++++--
 scripts/runqemu-internal |   35 ++++++++++++++++++++++++++++++++---
 2 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index fc7363f..1e803ed 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -94,7 +94,7 @@ KVM_ENABLED="no"
 while true; do
     arg=${1}
     case "$arg" in
-        "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemuppc")
+        "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumips64" | "qemush4"  | "qemuppc")
             [ -z "$MACHINE" ] && MACHINE=$arg || \
                 error "conflicting MACHINE types [$MACHINE] and [$arg]"
             ;;
@@ -223,7 +223,7 @@ if [ "$FSTYPE" = "nfs" -a -z "$ROOTFS" ]; then
 fi
 
 if [ -z "$MACHINE" ]; then
-    MACHINE=`basename $KERNEL | sed 's/.*-\(qemux86-64\|qemux86\|qemuarm\|qemumips\|qemuppc\).*/\1/'`
+    MACHINE=`basename $KERNEL | sed 's/.*-\(qemux86-64\|qemux86\|qemuarm\|qemumips64\|qemumips\|qemuppc\|qemush4\).*/\1/'`
     if [ -z "$MACHINE" ]; then
         error "Unable to set MACHINE from kernel filename [$KERNEL]"
     fi
@@ -245,6 +245,12 @@ QEMUARM_DEFAULT_FSTYPE=ext3
 QEMUMIPS_DEFAULT_KERNEL=vmlinux-qemumips.bin
 QEMUMIPS_DEFAULT_FSTYPE=ext3
 
+QEMUMIPS64_DEFAULT_KERNEL=vmlinux-qemumips64.bin
+QEMUMIPS64_DEFAULT_FSTYPE=ext3
+
+QEMUSH4_DEFAULT_KERNEL=vmlinux-qemumips.bin
+QEMUSH4_DEFAULT_FSTYPE=ext3
+
 QEMUPPC_DEFAULT_KERNEL=vmlinux-qemuppc.bin
 QEMUPPC_DEFAULT_FSTYPE=ext3
 
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index fe2974b..c8e3186 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -51,12 +51,15 @@ else
         "qemuarm")
             mem_size=128
             ;;
-        "qemumips")
+        "qemumips"|"qemumips64")
             mem_size=128
             ;;
         "qemuppc")
             mem_size=128
             ;;
+        "qemush4")
+            mem_size=1024
+            ;;
         *)
             mem_size=64
             ;;
@@ -233,6 +236,8 @@ fi
 case "$MACHINE" in
     "qemuarm") ;;
     "qemumips") ;;
+    "qemumips64") ;;
+    "qemush4") ;;
     "qemuppc") ;;
     "qemuarmv6") ;;
     "qemuarmv7") ;;
@@ -370,8 +375,12 @@ if [ "$MACHINE" = "spitz" ]; then
     fi
 fi
 
-if [ "$MACHINE" = "qemumips" ]; then
-    QEMU=qemu-system-mips
+if [ "$MACHINE" = "qemumips" -o "$MACHINE" = "qemumips64" ]; then
+    if [ "$MACHINE" = "qemumips64" ]; then
+	QEMU=qemu-system-mips64
+    else
+	QEMU=qemu-system-mips
+    fi
     MACHINE_SUBTYPE=malta
     QEMU_UI_OPTIONS="-vga cirrus $QEMU_UI_OPTIONS"
     if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
@@ -411,6 +420,26 @@ if [ "$MACHINE" = "qemuppc" ]; then
     fi
 fi
 
+if [ "$MACHINE" = "qemush4" ]; then
+    QEMU=qemu-system-sh4
+    MACHINE_SUBTYPE=r2d
+    QEMU_UI_OPTIONS="$QEMU_UI_OPTIONS"
+    if [ "$FSTYPE" = "ext3" -o "$FSTYPE" = "btrfs" ]; then
+        #KERNCMDLINE="root=/dev/hda console=ttyS0 console=tty0 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+        KERNCMDLINE="root=/dev/hda rw console=ttySC1 noiotrap earlyprintk=sh-sci.1 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio"
+    fi
+    if [ "$FSTYPE" = "nfs" ]; then
+        if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
+            echo "Error: NFS mount point $ROOTFS doesn't exist"
+            cleanup
+            return
+        fi
+        KERNCMDLINE="root=/dev/nfs console=ttySC1 noiotrap earlyprintk=sh-sci.1 console=tty nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY"
+        QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio"
+    fi
+fi
+
 if [ "$MACHINE" = "akita" ]; then
     QEMU=qemu-system-arm
     if [ "$FSTYPE" = "jffs2" ]; then
-- 
1.7.5.4




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

* [PATCH 09/14] netbase: Add interface files for qemumips64 and qemush4
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (7 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 08/14] runqemu: Add qemush4 and qemumips64 knowledge Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 10/14] site/sh-common: Add missing caches variables to build glib-2.32 Khem Raj
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

These files are alike other qemu machines they
help in creating a working network interface when
using qemumips64 or qemush4

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../netbase/netbase-4.47/qemumips64/interfaces     |    8 ++++++++
 .../netbase/netbase-4.47/qemush4/interfaces        |    8 ++++++++
 meta/recipes-core/netbase/netbase_4.47.bb          |    4 ++--
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces
 create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces

diff --git a/meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces b/meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces
new file mode 100644
index 0000000..f62b9a8
--- /dev/null
+++ b/meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces
@@ -0,0 +1,8 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+ 
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+
+
diff --git a/meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces b/meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces
new file mode 100644
index 0000000..f62b9a8
--- /dev/null
+++ b/meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces
@@ -0,0 +1,8 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+ 
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+
+
diff --git a/meta/recipes-core/netbase/netbase_4.47.bb b/meta/recipes-core/netbase/netbase_4.47.bb
index a1462f8..1c85997 100644
--- a/meta/recipes-core/netbase/netbase_4.47.bb
+++ b/meta/recipes-core/netbase/netbase_4.47.bb
@@ -4,7 +4,7 @@ HOMEPAGE = "http://packages.debian.org/netbase"
 SECTION = "base"
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
-PR = "r1"
+PR = "r2"
 
 inherit update-rc.d
 
@@ -37,7 +37,7 @@ do_install () {
 
 	# Disable network manager on machines that commonly do NFS booting
 	case "${MACHINE}" in
-		"qemuarm" | "qemux86" | "qemux86-64" | "qemumips" | "qemuppc" )
+		"qemuarm*" | "qemux86" | "qemux86-64" | "qemumips*" | "qemuppc" | "qemush*")
 			touch ${D}${sysconfdir}/network/nm-disabled-eth0
 			;;
 		*)
-- 
1.7.5.4




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

* [PATCH 10/14] site/sh-common: Add missing caches variables to build glib-2.32
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (8 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 09/14] netbase: Add interface files for qemumips64 and qemush4 Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 11/14] xserver-xorg: Fix build for mips64 Khem Raj
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

This is on the same tone as done for other architectures

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/site/sh-common |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/meta/site/sh-common b/meta/site/sh-common
index c386266..bde416a 100644
--- a/meta/site/sh-common
+++ b/meta/site/sh-common
@@ -147,6 +147,10 @@ glib_cv_sizeof_system_thread=${glib_cv_sizeof_system_thread=4}
 glib_cv_sys_use_pid_niceness_surrogate=${glib_cv_sys_use_pid_niceness_surrogate=yes}
 
 glib_cv_strlcpy=${glib_cv_strlcpy=no}
+glib_cv_va_val_copy=${glib_cv_va_val_copy=yes}
+ac_cv_alignof_guint32=4
+ac_cv_alignof_guint64=8
+ac_cv_alignof_unsigned_long=4
 
 # httppc
 ac_cv_strerror_r_SUSv3=${ac_cv_strerror_r_SUSv3=no}
-- 
1.7.5.4




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

* [PATCH 11/14] xserver-xorg: Fix build for mips64
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (9 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 10/14] site/sh-common: Add missing caches variables to build glib-2.32 Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 12/14] tune-mips64.inc: Add new tune file for mips64 big-endian Khem Raj
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

mips64 N64 ABI has different size for int and pointer
which means the compiler will complain about conversions
which works fine for 32 bit since sizes are same.

amd64 is taken care of already so we take care of mips64
with this patch by understanding the difference in sizes
in compiler.h

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../xorg-xserver/xserver-xorg-1.11.2.inc           |    1 +
 .../xserver-xorg-1.11.2/mips64-compiler.patch      |   29 ++++++++++++++++++++
 2 files changed, 30 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch

diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc
index fc41568..595ab77 100644
--- a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2.inc
@@ -2,6 +2,7 @@
 SRC_URI += "file://crosscompile.patch \
             file://fix_open_max_preprocessor_error.patch \
             file://gcc-47-warning.patch \
+	    file://mips64-compiler.patch \
            "
 
 SRC_URI[md5sum] = "8796fff441e5435ee36a72579008af24"
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch
new file mode 100644
index 0000000..e6bc95b
--- /dev/null
+++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch
@@ -0,0 +1,29 @@
+on mips64/n64 pointers are 64bit therefore the pointer conversions to int dont work well
+so we end up with incompatible conversion errors
+
+This patch choses the right values for mips64
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Pending
+Index: xorg-server-1.11.2/hw/xfree86/common/compiler.h
+===================================================================
+--- xorg-server-1.11.2.orig/hw/xfree86/common/compiler.h	2012-05-10 12:19:59.485599046 -0700
++++ xorg-server-1.11.2/hw/xfree86/common/compiler.h	2012-05-10 12:20:53.109602488 -0700
+@@ -104,6 +104,7 @@
+ 
+ #  if !defined(__arm__)
+ #   if !defined(__sparc__) && !defined(__sparc) && !defined(__arm32__) && !defined(__nds32__) \
++      && !defined(__mips64) \
+       && !(defined(__alpha__) && defined(linux)) \
+       && !(defined(__ia64__) && defined(linux)) \
+ 
+@@ -708,7 +709,7 @@
+ }
+ 
+ #   elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
+-#    ifdef __arm32__
++#    if defined (__arm32__) || defined (__mips64)
+ #     define PORT_SIZE long
+ #    else
+ #     define PORT_SIZE short
-- 
1.7.5.4




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

* [PATCH 12/14] tune-mips64.inc: Add new tune file for mips64 big-endian
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (10 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 11/14] xserver-xorg: Fix build for mips64 Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 13/14] qemumips64.conf: Add machine configuration for mips64(eb) Khem Raj
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/machine/include/tune-mips64.inc |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/include/tune-mips64.inc

diff --git a/meta/conf/machine/include/tune-mips64.inc b/meta/conf/machine/include/tune-mips64.inc
new file mode 100644
index 0000000..ba79e2b
--- /dev/null
+++ b/meta/conf/machine/include/tune-mips64.inc
@@ -0,0 +1,3 @@
+DEFAULTTUNE ?= "mips64"
+
+require conf/machine/include/mips/arch-mips.inc
-- 
1.7.5.4




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

* [PATCH 13/14] qemumips64.conf: Add machine configuration for mips64(eb)
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (11 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 12/14] tune-mips64.inc: Add new tune file for mips64 big-endian Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  3:35 ` [PATCH 14/14] qemush4.conf: Add machine configuration for qemush4 Khem Raj
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

New machine description for qemu emulating malta64/mips64
big-endian system

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/machine/qemumips64.conf |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/qemumips64.conf

diff --git a/meta/conf/machine/qemumips64.conf b/meta/conf/machine/qemumips64.conf
new file mode 100644
index 0000000..8e9a488
--- /dev/null
+++ b/meta/conf/machine/qemumips64.conf
@@ -0,0 +1,13 @@
+#@TYPE: Machine
+#@NAME: mti_malta64 MIPS64
+#@DESCRIPTION: mti_malta64
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-mips64.inc
+
+KERNEL_IMAGETYPE = "vmlinux"
+KERNEL_ALT_IMAGETYPE = "vmlinux.bin"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
-- 
1.7.5.4




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

* [PATCH 14/14] qemush4.conf: Add machine configuration for qemush4
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (12 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 13/14] qemumips64.conf: Add machine configuration for mips64(eb) Khem Raj
@ 2012-05-21  3:35 ` Khem Raj
  2012-05-21  8:21 ` [RFC][PATCH 00/14] mips64 support and sh4 support Richard Purdie
  2012-05-21 12:43 ` Bruce Ashfield
  15 siblings, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21  3:35 UTC (permalink / raw)
  To: openembedded-core

SH4 qemu emulation using rts7751r2dplus board

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/conf/machine/qemush4.conf |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)
 create mode 100644 meta/conf/machine/qemush4.conf

diff --git a/meta/conf/machine/qemush4.conf b/meta/conf/machine/qemush4.conf
new file mode 100644
index 0000000..acf7faf
--- /dev/null
+++ b/meta/conf/machine/qemush4.conf
@@ -0,0 +1,13 @@
+#@TYPE: Machine
+#@NAME: base
+#@DESCRIPTION: rts7751r2dplus
+
+require conf/machine/include/qemu.inc
+require conf/machine/include/tune-sh4.inc
+
+KERNEL_IMAGETYPE = "zImage"
+
+SERIAL_CONSOLE = "115200 ttySC1 noiotrap earlyprintk=sh-sci.1"
+
+MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
+
-- 
1.7.5.4




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

* Re: [RFC][PATCH 00/14] mips64 support and sh4 support
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (13 preceding siblings ...)
  2012-05-21  3:35 ` [PATCH 14/14] qemush4.conf: Add machine configuration for qemush4 Khem Raj
@ 2012-05-21  8:21 ` Richard Purdie
  2012-05-21 14:36   ` Khem Raj
  2012-05-21 15:51   ` Mark Hatle
  2012-05-21 12:43 ` Bruce Ashfield
  15 siblings, 2 replies; 19+ messages in thread
From: Richard Purdie @ 2012-05-21  8:21 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Sun, 2012-05-20 at 20:35 -0700, Khem Raj wrote:
> This patchset adds required bits into metadata for having
> mips64/n64 support. I have tested the core-image-sato and core-image-minimal
> builds and boots on qemumips64 and runs gcc regression testsuite.
> It needs linux-yocto-dev kernel for now which can be obtained from
> poky-extra repo. Additionally systemd-image on angstrom-next builds and boots
> fine on qemumips64 as well.
> 
> Additionally it also adds bits to have SH4 root file systems to be
> able to built and again core-image-sato builds for sh4 however qemu
> machine support is not yet done but root file sytem boots fine on 
> real hardware.
> 
> The images are tested on both eglibc and uclibc.
> 
> Any help in providing feedback or testing these patches is welcome.
> 
> I have tested them enough for over a month now.
> 
> The following changes since commit 326563d5a897ae2dba7cfd8d73579d3d979d72c8:
> 
>   sstate.bbclass: Make sure we don't have an empty fixmepath file (2012-05-18 15:24:45 +0100)
> 
> are available in the git repository at:
>   git://git.openembedded.org/openembedded-core-contrib kraj/mips64
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/mips64
> 
> Khem Raj (14):
>   insane.bbclass: Add mips64{el} to known machines
>   site: Add mips64 eglibc and uclibc site files
>   gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
>   binutils: Default to n64 when configured for mips64
>   kernel-arch.bbclass: Map mips64{el} to mips KARCH
>   eglibc-2.15: Support mips64
>   libc-package: Add sh4 and mips64 to arch options
>   runqemu: Add qemush4 and qemumips64 knowledge
>   netbase: Add interface files for qemumips64 and qemush4
>   site/sh-common: Add missing caches variables to build glib-2.32
>   xserver-xorg: Fix build for mips64
>   tune-mips64.inc: Add new tune file for mips64 big-endian
>   qemumips64.conf: Add machine configuration for mips64(eb)
>   qemush4.conf: Add machine configuration for qemush4


We need to figure out what it means to add new qemu machines like this
to OE-Core. I'm not against it however I can't offer the Yocto Project's
resources to test them at this point as we're haven't budgeted for it.

The above patches make sense regardless so I've merged them except the
final two machine files. I'd like to hold off adding those until the
system builds and runs with our default kernel and qemu recipes.
Hopefully this lets you develop without having a huge queue of patches. 

In the meantime we need to figure out the resource concern for testing.
Is there a commercial interest in these new machines from anyone who
could perhaps help with the resource issue?

Cheers,

Richard






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

* Re: [RFC][PATCH 00/14] mips64 support and sh4 support
  2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
                   ` (14 preceding siblings ...)
  2012-05-21  8:21 ` [RFC][PATCH 00/14] mips64 support and sh4 support Richard Purdie
@ 2012-05-21 12:43 ` Bruce Ashfield
  15 siblings, 0 replies; 19+ messages in thread
From: Bruce Ashfield @ 2012-05-21 12:43 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

On Mon, May 21, 2012 at 12:35 AM, Khem Raj <raj.khem@gmail.com> wrote:
> This patchset adds required bits into metadata for having
> mips64/n64 support. I have tested the core-image-sato and core-image-minimal
> builds and boots on qemumips64 and runs gcc regression testsuite.
> It needs linux-yocto-dev kernel for now which can be obtained from

And as an extra point on this, I have a full _3.4 recipe prep'd, but
vacation reared
it's ugly head. I'll send the changes out when I return (or sooner if
I sneak away
to a decent computer and internet connection :).

The series looks good to me, thanks Khem!

Bruce

> poky-extra repo. Additionally systemd-image on angstrom-next builds and boots
> fine on qemumips64 as well.
>
> Additionally it also adds bits to have SH4 root file systems to be
> able to built and again core-image-sato builds for sh4 however qemu
> machine support is not yet done but root file sytem boots fine on
> real hardware.
>
> The images are tested on both eglibc and uclibc.
>
> Any help in providing feedback or testing these patches is welcome.
>
> I have tested them enough for over a month now.
>
> The following changes since commit 326563d5a897ae2dba7cfd8d73579d3d979d72c8:
>
>  sstate.bbclass: Make sure we don't have an empty fixmepath file (2012-05-18 15:24:45 +0100)
>
> are available in the git repository at:
>  git://git.openembedded.org/openembedded-core-contrib kraj/mips64
>  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/mips64
>
> Khem Raj (14):
>  insane.bbclass: Add mips64{el} to known machines
>  site: Add mips64 eglibc and uclibc site files
>  gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
>  binutils: Default to n64 when configured for mips64
>  kernel-arch.bbclass: Map mips64{el} to mips KARCH
>  eglibc-2.15: Support mips64
>  libc-package: Add sh4 and mips64 to arch options
>  runqemu: Add qemush4 and qemumips64 knowledge
>  netbase: Add interface files for qemumips64 and qemush4
>  site/sh-common: Add missing caches variables to build glib-2.32
>  xserver-xorg: Fix build for mips64
>  tune-mips64.inc: Add new tune file for mips64 big-endian
>  qemumips64.conf: Add machine configuration for mips64(eb)
>  qemush4.conf: Add machine configuration for qemush4
>
>  meta/classes/insane.bbclass                        |    4 +
>  meta/classes/kernel-arch.bbclass                   |    2 +-
>  meta/classes/libc-package.bbclass                  |    3 +
>  meta/conf/machine/include/tune-mips64.inc          |    3 +
>  meta/conf/machine/qemumips64.conf                  |   13 +++
>  meta/conf/machine/qemush4.conf                     |   13 +++
>  meta/recipes-core/eglibc/eglibc-locale.inc         |    2 +-
>  meta/recipes-core/eglibc/eglibc_2.15.bb            |    2 +-
>  .../netbase/netbase-4.47/qemumips64/interfaces     |    8 ++
>  .../netbase/netbase-4.47/qemush4/interfaces        |    8 ++
>  meta/recipes-core/netbase/netbase_4.47.bb          |    4 +-
>  .../binutils/mips64-default-ld-emulation.patch     |   49 +++++++++
>  meta/recipes-devtools/binutils/binutils_2.22.bb    |    3 +-
>  meta/recipes-devtools/gcc/gcc-4.6.inc              |    1 +
>  .../gcc/gcc-4.6/mips64-default-n64.patch           |   32 ++++++
>  meta/recipes-devtools/gcc/gcc-4.7.inc              |    1 +
>  .../gcc/gcc-4.7/mips64-default-n64.patch           |   19 ++++
>  meta/recipes-devtools/gcc/gcc-configure-common.inc |    4 +
>  .../xorg-xserver/xserver-xorg-1.11.2.inc           |    1 +
>  .../xserver-xorg-1.11.2/mips64-compiler.patch      |   29 +++++
>  meta/site/mips64-linux                             |   82 +++++++++++++++
>  meta/site/mips64-linux-uclibc                      |   83 +++++++++++++++
>  meta/site/mips64el-linux                           |   82 +++++++++++++++
>  meta/site/mips64el-linux-uclibc                    |  108 ++++++++++++++++++++
>  meta/site/sh-common                                |    4 +
>  scripts/runqemu                                    |   10 ++-
>  scripts/runqemu-internal                           |   35 ++++++-
>  27 files changed, 594 insertions(+), 11 deletions(-)
>  create mode 100644 meta/conf/machine/include/tune-mips64.inc
>  create mode 100644 meta/conf/machine/qemumips64.conf
>  create mode 100644 meta/conf/machine/qemush4.conf
>  create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemumips64/interfaces
>  create mode 100644 meta/recipes-core/netbase/netbase-4.47/qemush4/interfaces
>  create mode 100644 meta/recipes-devtools/binutils/binutils/mips64-default-ld-emulation.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.patch
>  create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/mips64-default-n64.patch
>  create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg-1.11.2/mips64-compiler.patch
>  create mode 100644 meta/site/mips64-linux
>  create mode 100644 meta/site/mips64-linux-uclibc
>  create mode 100644 meta/site/mips64el-linux
>  create mode 100644 meta/site/mips64el-linux-uclibc
>
> --
> 1.7.5.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



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

* Re: [RFC][PATCH 00/14] mips64 support and sh4 support
  2012-05-21  8:21 ` [RFC][PATCH 00/14] mips64 support and sh4 support Richard Purdie
@ 2012-05-21 14:36   ` Khem Raj
  2012-05-21 15:51   ` Mark Hatle
  1 sibling, 0 replies; 19+ messages in thread
From: Khem Raj @ 2012-05-21 14:36 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 3327 bytes --]

On Monday, May 21, 2012, Richard Purdie wrote:

> On Sun, 2012-05-20 at 20:35 -0700, Khem Raj wrote:
> > This patchset adds required bits into metadata for having
> > mips64/n64 support. I have tested the core-image-sato and
> core-image-minimal
> > builds and boots on qemumips64 and runs gcc regression testsuite.
> > It needs linux-yocto-dev kernel for now which can be obtained from
> > poky-extra repo. Additionally systemd-image on angstrom-next builds and
> boots
> > fine on qemumips64 as well.
> >
> > Additionally it also adds bits to have SH4 root file systems to be
> > able to built and again core-image-sato builds for sh4 however qemu
> > machine support is not yet done but root file sytem boots fine on
> > real hardware.
> >
> > The images are tested on both eglibc and uclibc.
> >
> > Any help in providing feedback or testing these patches is welcome.
> >
> > I have tested them enough for over a month now.
> >
> > The following changes since commit
> 326563d5a897ae2dba7cfd8d73579d3d979d72c8:
> >
> >   sstate.bbclass: Make sure we don't have an empty fixmepath file
> (2012-05-18 15:24:45 +0100)
> >
> > are available in the git repository at:
> >   git://git.openembedded.org/openembedded-core-contrib kraj/mips64
> >
> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/mips64
> >
> > Khem Raj (14):
> >   insane.bbclass: Add mips64{el} to known machines
> >   site: Add mips64 eglibc and uclibc site files
> >   gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
> >   binutils: Default to n64 when configured for mips64
> >   kernel-arch.bbclass: Map mips64{el} to mips KARCH
> >   eglibc-2.15: Support mips64
> >   libc-package: Add sh4 and mips64 to arch options
> >   runqemu: Add qemush4 and qemumips64 knowledge
> >   netbase: Add interface files for qemumips64 and qemush4
> >   site/sh-common: Add missing caches variables to build glib-2.32
> >   xserver-xorg: Fix build for mips64
> >   tune-mips64.inc: Add new tune file for mips64 big-endian
> >   qemumips64.conf: Add machine configuration for mips64(eb)
> >   qemush4.conf: Add machine configuration for qemush4
>
>
> We need to figure out what it means to add new qemu machines like this
> to OE-Core. I'm not against it however I can't offer the Yocto Project's
> resources to test them at this point as we're haven't budgeted for it.


Yes absolutely, in another version Actually I have these machines in a
separate later
Called meta-qemuextra may be such a layer would make sense ?


>
> The above patches make sense regardless so I've merged them except the
> final two machine files. I'd like to hold off adding those until the
> system builds and runs with our default kernel and qemu recipes.
> Hopefully this lets you develop without having a huge queue of patches.
>
> In the meantime we need to figure out the resource concern for testing.
> Is there a commercial interest in these new machines from anyone who
> could perhaps help with the resource issue?
>
> Cheers,
>
> Richard
>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org <javascript:;>
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>

[-- Attachment #2: Type: text/html, Size: 4315 bytes --]

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

* Re: [RFC][PATCH 00/14] mips64 support and sh4 support
  2012-05-21  8:21 ` [RFC][PATCH 00/14] mips64 support and sh4 support Richard Purdie
  2012-05-21 14:36   ` Khem Raj
@ 2012-05-21 15:51   ` Mark Hatle
  1 sibling, 0 replies; 19+ messages in thread
From: Mark Hatle @ 2012-05-21 15:51 UTC (permalink / raw)
  To: openembedded-core

On 5/21/12 3:21 AM, Richard Purdie wrote:
> On Sun, 2012-05-20 at 20:35 -0700, Khem Raj wrote:
>> This patchset adds required bits into metadata for having
>> mips64/n64 support. I have tested the core-image-sato and core-image-minimal
>> builds and boots on qemumips64 and runs gcc regression testsuite.
>> It needs linux-yocto-dev kernel for now which can be obtained from
>> poky-extra repo. Additionally systemd-image on angstrom-next builds and boots
>> fine on qemumips64 as well.

> We need to figure out what it means to add new qemu machines like this
> to OE-Core. I'm not against it however I can't offer the Yocto Project's
> resources to test them at this point as we're haven't budgeted for it.
>
> The above patches make sense regardless so I've merged them except the
> final two machine files. I'd like to hold off adding those until the
> system builds and runs with our default kernel and qemu recipes.
> Hopefully this lets you develop without having a huge queue of patches.
>
> In the meantime we need to figure out the resource concern for testing.
> Is there a commercial interest in these new machines from anyone who
> could perhaps help with the resource issue?

 From a commercial interest standpoint, I don't know if there is any with SH4. 
For the company I work for, SH has been so minor that we likely wouldn't 
consider it significant enough to spend effort on.

However, MIPS64 is completely different.  There are numerous MIPS64 processors 
and such, and I strongly advocate OE (and Yocto Project) support for MIPS64.

One thing to note, it should be possible to use the MIPS64 QEMU to replace the 
"qemumips" configuration already in OE-core.  Then the qemumips64 can be used to 
validation, mips (o32), mips64 (n64) and eventually mips64 (n32) binaries once 
they are available.  This would also be a good target to validation complex 
multilib sets on.

--Mark

> Cheers,
>
> Richard
>
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




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

end of thread, other threads:[~2012-05-21 16:01 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-21  3:35 [RFC][PATCH 00/14] mips64 support and sh4 support Khem Raj
2012-05-21  3:35 ` [PATCH 01/14] insane.bbclass: Add mips64{el} to known machines Khem Raj
2012-05-21  3:35 ` [PATCH 02/14] site: Add mips64 eglibc and uclibc site files Khem Raj
2012-05-21  3:35 ` [PATCH 03/14] gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler Khem Raj
2012-05-21  3:35 ` [PATCH 04/14] binutils: Default to n64 when configured for mips64 Khem Raj
2012-05-21  3:35 ` [PATCH 05/14] kernel-arch.bbclass: Map mips64{el} to mips KARCH Khem Raj
2012-05-21  3:35 ` [PATCH 06/14] eglibc-2.15: Support mips64 Khem Raj
2012-05-21  3:35 ` [PATCH 07/14] libc-package: Add sh4 and mips64 to arch options Khem Raj
2012-05-21  3:35 ` [PATCH 08/14] runqemu: Add qemush4 and qemumips64 knowledge Khem Raj
2012-05-21  3:35 ` [PATCH 09/14] netbase: Add interface files for qemumips64 and qemush4 Khem Raj
2012-05-21  3:35 ` [PATCH 10/14] site/sh-common: Add missing caches variables to build glib-2.32 Khem Raj
2012-05-21  3:35 ` [PATCH 11/14] xserver-xorg: Fix build for mips64 Khem Raj
2012-05-21  3:35 ` [PATCH 12/14] tune-mips64.inc: Add new tune file for mips64 big-endian Khem Raj
2012-05-21  3:35 ` [PATCH 13/14] qemumips64.conf: Add machine configuration for mips64(eb) Khem Raj
2012-05-21  3:35 ` [PATCH 14/14] qemush4.conf: Add machine configuration for qemush4 Khem Raj
2012-05-21  8:21 ` [RFC][PATCH 00/14] mips64 support and sh4 support Richard Purdie
2012-05-21 14:36   ` Khem Raj
2012-05-21 15:51   ` Mark Hatle
2012-05-21 12:43 ` Bruce Ashfield

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.