message: Fix frame-pointer generation.
  Previously breaks _start, since it is a naked function, which uses local variables.
  According to rust naked RFC, this is a bad idea, since no stack-space for locals is allocated!
  Moving cr0 cache enabling to another function, called from _start fixes this.
diff: @@ -11,6 +11,15 @@ use boot_processor_main;
  use config::KERNEL_STACK_SIZE;
  use x86::controlregs::*;
  +pub unsafe fn cr0_enable_caching() {
  + let mut cr0 = cr0();
  +
  + // Enable caching.
  + cr0.remove(Cr0::CR0_CACHE_DISABLE | Cr0::CR0_NOT_WRITE_THROUGH);
  +
  + cr0_write(cr0);
  +}
  +
  #[inline(never)]
  #[no_mangle]
  #[naked]
  @@ -25,12 +34,7 @@ pub unsafe extern "C" fn _start(boot_info: &'static mut BootInfo) -> ! {
  //
  // CR0 CONFIGURATION
  //
  - let mut cr0 = cr0();
  -
  - // Enable caching.
  - cr0.remove(Cr0::CR0_CACHE_DISABLE | Cr0::CR0_NOT_WRITE_THROUGH);
  -
  - cr0_write(cr0);
  + cr0_enable_caching();
  if boot_info.cpu_online == 0 {
  boot_processor_main();
  