Upgrading to binutils-2.22

 * Added --with-ld=default
 * Added --with-lto
 * Fixed ld script for ARM
 * Options are prepared for future activation of gold.

Change-Id: Id9618904055e18d1b37f5e9585f775c367ff356e
Allow install of binutils and import texinfo

 - Enable installing binutils from the base system.

 - Import texinfo which is required for the binutils tools
   to be compiled.

 - Also adapted the fetch rules to correctly generate the
   gitignore files for gcc, and allow the case of multiple
   modules in the same directory, as found in gnu/dist.

Warning: This patch has an entry in docs/UPDATING

Change-Id: Ib781734e8fd7f9c6265fa65d62ba2cf3fccbc5ba
Enable optional GCC install and GCC improvements

 -By adding MKGCC=yes and MKGCCCMDS=yes on the make commandline
   it is now possible to compile and install GCC on the system.

   Before doing this, if you are not using the build.sh script,
   you will need to call the fetch scripts in order to retrieve
   the sources of GCC and its dependencies.

 -Reduce difference with NetBSD share/mk

   Move Minix-specific parameters from bsd.gcc.mk to bsd.own.mk,
   which is anyway patched, so that bsd.gcc.mk is now aligned
   on the NetBSD version.

 -Clean libraries dependencies, compiles stdc++ only if gcc is
   also compiled (it is part of the gcc sources)

 -Correct minix.h header sequence, cleanup spec headers.

 -Fix cross-compilation from a 32bit host targeting MINIX/arm

Change-Id: I1b234af18eed4ab5675188244e931b2a2b7bd943
releasetools/arm_sdimage.sh

 - adapt usr partition size
 - reformulate partition sizes for easier adaptations
 - ensure 4k-block alignement of the partitions

Change-Id: I88787614163a7be177acb5dbf454b26387376a47
libc: revert inadvertent removal of O_CLOEXEC #ifndefs

Change-Id: I15005181388280363f7aee546bd2ecc0cd5b37e6
releasetools/release.sh: cleanup & enhancements

 - use the proper  make variable to ignore file lists
   SLOPPY_FLIST instead of CHECKFLIST, which was a minix hack.

 - Add BUILDOPTIONS such that the users can activate optional
   features without editing the script.

Change-Id: Id731db96c38c2118c4c58e007f2804008a7a893f
kernel: i2c padconf workaround

The padconf library runs in user mode, but to actually affect the
padconf register contents, the processor has to be in privileged
mode. A full server based solution will be developed, but for now
just set the pinmux in the kernel at boot.

Change-Id: I170ed54dae64b27cd9bd8807445231598fb8e3e1
i2c: initial bus drivers for am335x and dm37xx

Change-Id: I478704fbf30dbf6d3382bcbfb11e75b512c032a1
Importing usr.sbin/i2cscan

Change-Id: I7b776d6e5f3fe4f7a1af353b995ef9e2e752c7ea
libi2cdriver: library for i2c device drivers

Change-Id: Ib6d5617e4b62e0bc5b25e6fa92b44baf536b1961
cat24c256: driver for the cat24c256 i2c eeprom

Change-Id: I682d136c80fc868d3f0a5edb0cf6c33c0f3a28ea
eepromread: simple program to view eeprom contents

This program uses the i2c /dev interface to read the
contents of EEPROMs and display it to the user in
HEX and ASCII. It also has a mode that can display
data in label:value pairs. That mode is used for
board detection in the rc script to start the right
i2c drivers for the board.

Change-Id: I0bf5b13ffab5a89533c762d6881a145cf7f14914
drivers/fbd/action.c: removed some 64-bit functions

Change-Id: I6a041f7dabad3e849d868c94c4fbd0edb7fc88b7
Replace 64bit funcions with operators in at_wini.c

Change-Id: I5d4f85a55f9f9d4c2a26daca6957be8f57ba9164
Revert "drivers/fbd/action.c: removed some 64-bit functions"

This reverts commit 85e7d849c804ae9df50e29dc9c81057a83e16726.

This introduce a bug in position computing for disk bigger than 4GB.

Change-Id: I281e60e9644d995cc4643006b50c05693f939b44
Importing NetBSD "Kyua" test framework

To do so, a few dependencies have been imported:

 * external/bsd/lutok
 * external/mit/lua
 * external/public-domain/sqlite
 * external/public-domain/xz

The Kyua framework is the new generation of ATF (Automated Test
Framework), it is composed of:

 * external/bsd/atf
 * external/bsd/kyua-atf-compat
 * external/bsd/kyua-cli
 * external/bsd/kyua-tester
 * tests

Kyua/ATF being written in C++, it depends on libstdc++ which is
provided by GCC. As this is not part of the sources, Kyua is only
compiled when the native GCC utils are installed.

To install Kyua do the following:

 * In a cross-build enviromnent, add the following to the build.sh
   commandline: -V MKBINUTILS=yes -V MKGCCCMDS=yes

WARNING:
  At this point the import is still experimental, and not supported
  on native builds (a.k.a make build).

Change-Id: I26aee23c5bbd2d64adcb7c1beb98fe0d479d7ada
i2c: increase BUFLEN/CMDLEN to 128, add page flag.

128 byte reads are much more common than 32 byte reads. The message
passing + setup/teardown for a read is much more expensive, in terms
of time, than the reading itself. A slightly bigger struct is well
worth the time savings. This reduces read times for /dev/eeprom
from 57 seconds per 4KB to 14 seconds.

Additionally, make sending the page address in the eeprom driver
and utility optional. This can save a little time when reading
within the same page and allows support for smaller devices that
don't support pages (example: chips containing EDID).

Change-Id: Ie48087caee40c11fa241d1555fce9309ddd27b43
Merge branch 'master' of git://git.minix3.org/minix into aditya