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:
- head.S ::
real_start→launch→start_xen - setup.c ::
start_xen→switch_stack_and_jump - current.h ::
switch_stack_and_jump→init_done - setup.c ::
init_done→startup_cpu_idle_loop - domain.c ::
startup_cpu_idle_loop→reset_stack_and_jump - domain.c ::
reset_stack_and_jump→idle_loop - domain.c ::
idle_loop