Merge branch 'compilation' into dev
Adds a lot of useful hardware documentation
Adds Raspberry B R2 Schematics CVS table
Adds useful macros for accessing to addresses.
Implements GPIO kernel library
Starts implemention of 'kernel_hardware' layer.
Lets kernel_main call 'kernel_hardware_init'.
Implements 'api_led'.
Clearly separates API and kernel in dedicated subdirectories.
Fixes bug in GPIO library.
Implements 'kernel_pcb_turnstile_rotate'.
Simplifies boot.s using cps instructions instead of msr / mrs.
Merge branch 'dev' into compilation
Makefile: launches 'default.gdb' by default when running 'make run'
Merge branch 'compilation' into dev
Refactors assembly functions into #define inline ASM for performance
Lets kernel_main call 'kernel_scheduler_yield_noreturn' with default idle_process.
Lets IRQ exception branch to 'kernel_scheduler_handler'
Enables System timer and mailbox IRQ source.
Simplifies 'kernel_scheduler_yield_noreturn' using rfe instruction