Skip to content

Instantly share code, notes, and snippets.

@hcyang1012
Last active August 12, 2019 22:30
Show Gist options
  • Save hcyang1012/a68b62c3c9004548c9555952f7759513 to your computer and use it in GitHub Desktop.
Save hcyang1012/a68b62c3c9004548c9555952f7759513 to your computer and use it in GitHub Desktop.
Linux Kernel : From boot to platform_bus_init()
@startuml
participant "head.S"
participant "init/main.c"
participant "init/main.c (New kernel thread)"
head.S -> "init/main.c": start_kernel()
activate "init/main.c"
"init/main.c" -> "init/main.c": arch_call_rest_init()
activate "init/main.c"
"init/main.c" -> "init/main.c": rest_init();
activate "init/main.c"
"init/main.c" -> "init/main.c": kernel_thread(kernel_init);
activate "init/main.c"
"init/main.c" -> "init/main.c (New kernel thread)": kernel_init();
activate "init/main.c (New kernel thread)"
deactivate "init/main.c"
deactivate "init/main.c"
deactivate "init/main.c"
deactivate "init/main.c"
"init/main.c (New kernel thread)" -> "init/main.c (New kernel thread)":kernel_init_freeable()
activate "init/main.c (New kernel thread)"
"init/main.c (New kernel thread)" -> "init/main.c (New kernel thread)": do_basic_setup()
activate "init/main.c (New kernel thread)"
"init/main.c (New kernel thread)" -> "init/main.c (New kernel thread)": driver_init()
activate "init/main.c (New kernel thread)"
"init/main.c (New kernel thread)" -> "init/main.c (New kernel thread)": platform_bus_init()
activate "init/main.c (New kernel thread)"
deactivate "init/main.c (New kernel thread)"
deactivate "init/main.c (New kernel thread)"
deactivate "init/main.c (New kernel thread)"
deactivate "init/main.c (New kernel thread)"
deactivate "init/main.c (New kernel thread)"
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment