Added initial structure for stm32

I.e. starting to break up the old structure which adressed only one plattform
lpc21xx. This mean adding two new sup structured BOARD/MCPU to aid the
following example:

./configure -C --host=arm-hixs-elf MCPU=cortex-m3 BOARD=stm32 CFLAGS=-mthumb

(Note: the above flags migt not be enough - we don't know yet)
Corrected pre-configure

make.subdirs contain a list used by:

make configure

This is used so that the Makefile.in template can be copied in place
Creates a valid buldsystem

Evey time a new target is added it can potentially break the buidsystem. This
commit with the new target cortex-m3/stm32 will now build a valid buildsystem.
I.e first two steps works:

make configure
./configure <args>

We need to make thia more robust (TODO)
Added build-feature to clean all traces of configure

Before each commit:

make clean
make cleanconfigure

Should leave you with no "untracked files" making misstakes easier to recognize
Will build all the way for lpc21xx

gnu_arm was nevew prepared for handling complex configurations for BOARD and
MCPU. This patch removes the plattform arm7tdmi/lpc21xx out of the way so that
we can make room for cortex-m3/stm32 (& upcomming cortex-r4f/TMS570)
make clean

Minor fix: cleans ./lib completely
Crude structure for stm32 in place

cortex-m3/stm32, will build

Configure like this:
 ./configure -C --host=arm-hixs-elf MCPU=cortex-m3 BOARD=stm32  CFLAGS=-mthumb

or...
 ./configure -C --host=arm-hixs-elf MCPU=cortex-m3 BOARD=stm32 \
    ARCH=thumb CFLAGS=-mthumb
Added a bunch of files

These files are licensed ST-Ericsson and will eventually have to go away. Therefore
commited to branch stm32_dirty only.
Adjusted default settings

Default settings better correspond to this MPU's very limited memory (20k)

Start code added and forwards to start of kernel
A butt-ugly fix for missing type *u8

Compensate ST's inability to cope with the legacy absence of inttypes.h
Corrected new pre-processor constraints

Patch not tested on other than gcc 4.5.2 but should be OK even with other
tool-chains.
Will finally build with application

Don't dare to run it. Lots of issues:

* Start-up code is bad (need to learn how to write thumb)
* ST's stm32 code has some include error issue (or variables are optimized out
  when build as library)
* Install will not install tinker in thumb directory. Makes app-link murder
  Dolved it temporarily with links. Needs fixing
* Fond bug in _isatty (forgotten underscore). => Too-chain correction
Boot for stm32 works

+ Vectortable in place
+ Structure with board/cpu separation OK
+ Thumb issue in vectortable (_startup) sorted out
- Initialization still not finished
Buidsystem tuned

Adding the following build options will make cleaner output:

--disable-subdir-verbose
--enable-makeopts=--no-print-directory

Colourization using grcat compensates for missing print-out more than adequate
Startup done

* PLL initialization
* BSS cleared
* edata OK (i.e. static variables). Copied from .rodata

startup_gnu.S rewritten for thumb code

TinKer won't start. Might be that TOS is wrong. Need checking if vector[0] is supposed
to hold TOS.
Got rid of DOS line-endings from hijacked stm32 files
Trying to allocate a better TOS

Filed but an embryo to solution might be there.

We might need linker support to get a root stack and/or use other means for
kalloc (which is mapping to malloc a.t.m.).

Notes:

HIXS_sbrk needs review. Is using the linkers _end symbol really correct for
_sbrk? This worked for PPC but we had much more memory and several sections
ther. For ARM linker script, this is on top of memory and the algorithm seems
to search upwards.
A new design of how to define a root-stack

If it works well, it should become template for all targets

Compiles, not tested
Schedules for the first time for this plattform

Milestone passed

Temp fix for difftime (libc passes through floatingpont). We dont need that and
it just slows the kernel up. Needs proper fixing, but need to check with the
TMS570 branch as well.
Temp hack to make Tinker run for STM32