+ memory regions, trivial kmalloc, panic
! inline: get it right (define in header)

an inline function must always be defined in the header (plus use static)
+ utils: memcmp & memmove
+ Makefile: default target is kernel, which does not build the disassembly
! Makefile: use $(CC) for asm files instead of $(AS)
! Makefile: use symbol __kernel_start_addr to print kernel load address
+ prepare for C++: add extern "C" to all C headers
c change panic output format
+ linker script: add sections for compiler libraries
+ compiler specific methods, called only by compiler (raise, abort, some C++ methods)
! fix memmove: wrong variable name
+ C++ code (adjust linker flags (lstdc++), use g++ for linking, add operator new)
+ mem: add device io regions, print all regions on startup
+ disableInterrupts methods, enableInterrupts can be called nested
+ utils: align_ptr to align a pointer address
+ errors: E_OUT_OF_MEMORY
+ setup & enable MMU & page tables (with physical==virtual addresses)
+ printk: disable interrupts to avoid interleaving
+ page fault handler (currently only prints a message)