Merged rustboot in two steps

Makefile
* link rust-core (extern mod core)
* don't nest tmux
* generate dependency files
* rename files
* print output file size
ARM
* use volatile_store
* MMU (disabled)
* dynamically install exception handlers
  with volatile_store
* AEABI memset (assembly)
* documentation
Kernel
* reorganize
* add Allocator trait (borrowed from rust-core)
* implement some runtime functions
* reviewed the allocator
* kernel::heap

Squashed commit of the following:

commit f82a698915c9ffb092017fcf65b7f035c4b57876
Merge: cdb2bfc 95f96c8
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 25 17:07:02 2014 +0100

    Further update

    Makefile
    * generate dependency files
    * rename files
    * print output file size
    ARM
    * MMU (disabled)
    * dynamically install exception handlers
      with volatile_store
    * AEABI memset (assembly)
    * documentation
    Kernel
    * reviewed the allocator
    * kernel::heap

    Merge commit '95f96c8' into ironkernel

    Conflicts:
    	.gitignore
    	LICENSE.txt
    	arch/arm/Makefile
    	arch/arm/boot/loader.s
    	arch/arm/cpu/interrupt.rs
    	arch/arm/drivers/mod.rs
    	arch/arm/io/mod.rs
    	kernel/memory.rs
    	kernel/mod.rs
    	lib.rs

commit cdb2bfc90c05ac4fb05583382bc056137b05f40a
Merge: 05c1aeb 1ad41e0
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 25 15:12:00 2014 +0100

    Large update

    Makefile
    * link rust-core (extern mod core)
    * don't nest tmux
    ARM
    * use volatile_store
    Kernel
    * reorganize
    * add Allocator trait (borrowed from rust-core)
    * implement some runtime functions

    Merge branch 'master' into ironkernel

    Conflicts:
    	Makefile
    	README.md
    	arch/arm/Makefile
    	arch/arm/boot/loader.s
    	arch/arm/cpu/interrupt.rs
    	arch/arm/drivers/mod.rs
    	arch/arm/io/mod.rs
    	kernel/memory.rs
    	main.rs

commit 95f96c8b33214a48d372fa7d4968aedcd3b6ac42
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 25 13:27:30 2014 +0100

    Fix buddy free

commit 90532c10f597e6f3534f7ad0ddfc1e6c93911751
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 25 13:24:44 2014 +0100

    Use dependency files. Annotate makefiles.

commit d2e58bfe8b083fdfdb8d97d5b596be7eadfe5a88
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 25 12:23:09 2014 +0100

    Fix arm/Makefile, add .gdbinit

commit cc56c44a0199ad4de7f813123653d432b500b146
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Fri Jan 24 21:49:38 2014 +0100

    Organize ELF code. Elf32 and Elf64

commit 8b89a38a66422e2e3c0442e43d0be39786da5a6f
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Jan 23 17:52:23 2014 +0100

    Buddy alloc: refactor, annotate. Fix free.

commit d9bb81a6c806b41b4b4723b7ccd15b946f85d5c8
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Jan 22 22:01:44 2014 +0100

    Change dumb file names. Embed initram with ld

commit b757790ac1ac26bb65f94bac9c6c997185f5cfe8
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Jan 22 21:20:45 2014 +0100

    ARM: MMU with sections

commit c65264712b2332149bf5f63c533fcac2afcf755b
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Jan 22 20:33:03 2014 +0100

    ARM: AEABI memset (assembly), memcpy

commit 3c93a2a735a64543b0f526cdfc6d540b99b0d954
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Jan 21 23:38:00 2014 +0100

    Optimize and refactor buddy allocator

commit 26b364dfae032c120894d7de400a16225ee6cdfc
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Mon Jan 20 22:08:17 2014 +0100

    Small reorganization of project

    * main.rs -> lib.rs
    * paging -> mmu
    * kernel/memory
    * kernel::allocator -> kernel::heap
    * kernel: readme

commit 5904adc759ae52a3cfee9ef9bdacbe0fc7767031
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Mon Jan 20 19:39:36 2014 +0100

    ELF: refactor

commit 23b195c71c63a4b651394ed277aa5670dfdd8e87
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Mon Jan 20 18:23:35 2014 +0100

    Fix and annotate exceptions

commit c104bc8836fdbe0893ba7456b5eb9bdb798c74b7
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 20:41:00 2014 +0100

    ELF: load and execute from initram

commit 88c15fe6202e587772625bb69ff0cf1301bafab5
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 20:37:49 2014 +0100

    memset.asm -> runtime.asm

    * add memcpy

commit 0bebd04330cc43c021980d4fbe2315f28f86c263
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 20:33:33 2014 +0100

    Global kernel page directory

commit 30eb70ce331e9c3b9f1d589e5397c2ef947d0183
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 20:32:00 2014 +0100

    Simplify and annotate dynamic ISRs

commit 08161b336cbaa18b2c03b72ae8086495d0ccec98
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 17:02:14 2014 +0100

    Build initram that contains a simple ELF executable

commit 941552743685aa4b9b934c15b2169d0b52fdc37e
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 16:57:35 2014 +0100

    Use paging

commit 14792d4312589d4b4f5de439d1fd7892121fedd5
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 16:53:31 2014 +0100

    x86: refactor gdt

commit 6fe0fb04f80d8af630859ec3b46b58ca88342bdf
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 16:50:59 2014 +0100

    x86: refactor exception

commit 1c1151df52dd47ca76f4fa09cb8a9cfac36fcb5f
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 16:39:16 2014 +0100

    Move keydown, memcpy, larger heap, ...

commit 87d9dfd2b5ca125a2df8df39b00237d67bd181bb
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 19 16:32:00 2014 +0100

    interrupts: refactor

commit f33107108762775195b36cce6e6ad544c13e528b
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 19:17:27 2014 +0100

    Handle capslock and shift

commit 7b4919f70174d92dddb77d63a845329d8158767a
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 17:52:54 2014 +0100

    ARM: dynamically install exception handlers

commit 13da6bb2a99bb6230c858ce7ccd997888a890625
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 16:56:11 2014 +0100

    ARM: implement idiv, modsi3

commit 5a8803a13ed9b845e3888e33f960d2c15b6d5c59
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 16:56:11 2014 +0100

    ARM: implement idiv, modsi3

commit b479aeb99ede5ac6e53b9755d91509349a9dd634
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 16:27:30 2014 +0100

    x86: remove old assembly code

commit 8fffbd4d31c9de7c344a75723676ca9091c293b0
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 16:26:18 2014 +0100

    x86: change kernel memory location

commit 555fe17ae5fcd24ee7c68c5f508e22b9ef354f04
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sat Jan 18 16:09:44 2014 +0100

    Document x86 and ARM with annotations and references

    Squashed commit of the following:

    commit 05689e26e9acee95776149914c9d6eb05ce32a08
    Author: Piotr Czarnecki <pioczarn@gmail.com>
    Date:   Sat Jan 18 16:01:01 2014 +0100

        Fix readme

    commit 9258302d711e96d8b66a7b541cffbc5e59a4ede4
    Author: Piotr Czarnecki <pioczarn@gmail.com>
    Date:   Sat Jan 18 15:16:07 2014 +0100

        Fix README.md, add x86 Readme

    commit e072f2a03794fab35bf298870d9f4f76cb5a99f0
    Author: Piotr Czarnecki <pioczarn@gmail.com>
    Date:   Sat Jan 18 15:14:20 2014 +0100

        ARM: annotations and README.md

    commit 3e60a65df92117edcb0dc2cd1be795b49089a108
    Author: Piotr Czarnecki <pioczarn@gmail.com>
    Date:   Sat Jan 18 14:25:10 2014 +0100

        x86: start annotating code

commit 5f252f5aa66b8795c581b2c4f4c0392f3ab45467
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Jan 16 21:12:47 2014 +0100

    version 0.2.1

commit 1ad41e0549306325bbf4473d80fd97715a4be314
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Jan 16 21:12:12 2014 +0100

    ARM: simplify build process

commit 5d2f7d6fbeeb419fabaf7e23524d826f52edc9a3
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Jan 16 19:49:40 2014 +0100

    ARM: use volatile_store

commit 389a265d222227f3f31b5bc5ce26ff0c705550d6
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Jan 16 19:44:51 2014 +0100

    Improve makefiles

    * dependencies

commit 7723f895813485771b496033f0d975800205df01
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Jan 14 17:33:45 2014 +0100

    Implement runtime functions

    fixes #2

    * mulodi4, udivmoddi4
    * EABI

commit e2793bade92132f9b63152a7cef08376f059d90c
Merge: 6743e2a defccb5
Author: Piotr <pioczarn@gmail.com>
Date:   Tue Jan 14 05:23:53 2014 -0800

    Merge pull request #3 from derekchiang/master

    Some fixes to get the code compile

commit defccb50f2ea797ab435e515f1fa2d37a6a93fda
Author: Derek Chiang <derekchiang93@gmail.com>
Date:   Tue Jan 14 02:23:52 2014 +0800

    Some fixes to get the code compile

commit 6743e2adaf25f29a940aa58b5673c3fb6b60852c
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Jan 12 14:05:28 2014 +0100

    version 0.2

commit c367c07a00ca2d739c658f82cdae0ea9558d31ee
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Fri Dec 27 20:55:29 2013 +0100

    Small improvements in README.md

commit 96b4a8acf4f5483ceddb746d83c69bb98ab02b94
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Fri Dec 27 20:52:04 2013 +0100

    Add mod gdt
    * allocation of more memory

commit 2455860e2e518e955c522ca597d67ed1e75fbf31
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Fri Dec 27 19:48:25 2013 +0100

    Allow debugging started from within tmux without nested sessions

commit be14097206a44b6e1c790393a7ecc6fdfd9effeb
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Dec 25 15:30:48 2013 +0100

    Add kernel/mod.rs with a default allocator

commit 7243ff91a2c45c973630bc5d5170c116447f59ba
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Dec 25 15:28:10 2013 +0100

    Simplify building. Link-time optimization (?) already working.

commit 1a333c84b892c277619d0a5604a1e4bccd7b91d0
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Wed Dec 25 00:05:17 2013 +0100

    Change IO a little

commit 6433a946b022b8c948d38ae87695aa8c7232a599
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 24 23:55:15 2013 +0100

    Fix Makefile

commit 7996aa0527df4d68ce996b5ef0f358cf7462bbaf
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 24 22:52:56 2013 +0100

    Fix build and link `core` as a proper crate
    * debugging symbols nearly work
    * .gitignore

commit b2092a8dfd09bb24a08103ed25885f4c40c14526
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 10 18:06:38 2013 +0100

    Refactor IO

commit 057996780fb87292df0d226483476e84fb95e388
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 10 17:11:24 2013 +0100

    ISR of type `extern "C" unsafe fn()`
    * INTR_GATE as flags of an interrupt gate

commit 7476e42b5457848545a4fcdd4ade9b285697793b
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Sun Dec 8 18:52:37 2013 +0100

    Resolve Rust's warnings
    * use --out-dir
    * updated rust-core

commit a2f6d6a1541560a3118d3fab4f033dce8dd86823
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Thu Dec 5 13:25:01 2013 +0100

    README: make it clear

commit 1b22cabd7234ac91b19418bfeaf025501eb779ce
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 3 19:13:30 2013 +0100

    Update README and LICENSE
    * rust-core url uses

commit 98904028b86a3b2b7f4b9caed418acffbbf3adb6
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 3 18:47:31 2013 +0100

    Update Makefile and loader

commit cc2faf9bbbc7fe8d494615d75e3dac2cb8407eae
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 3 18:27:55 2013 +0100

    Enable SSE

commit 6bf73febf8ab1600f9e5c555f903757bee6b58bb
Author: Piotr Czarnecki <pioczarn@gmail.com>
Date:   Tue Dec 3 17:38:12 2013 +0100

    Fix obsolete syntax
    * latest rust-core