The boot starts at head.S , on GLOBAL(start) label, where the EFI header (used by linux chad bootloaders) is defined, than the execution flow as follows:

  1. head.S :: real_startlaunchstart_xen
  2. setup.c :: start_xenswitch_stack_and_jump
  3. current.h :: switch_stack_and_jumpinit_done
  4. setup.c :: init_donestartup_cpu_idle_loop
  5. domain.c :: startup_cpu_idle_loopreset_stack_and_jump
  6. domain.c :: reset_stack_and_jumpidle_loop
  7. domain.c :: idle_loop

🌱 Back to Garden