cpu_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ cpu_init(9) β€” Kernel API Manual 🌈

okay so welcome to the Kernel API Manual, bestie πŸ’… this is the page for cpu_init(9), and it's giving β€œtiny function, big boot-energy” energy. Let's get into it 🫢


πŸ’– NAME πŸ’–

cpu_init β€” (the original NAME line is blank, no cap β€” we are not inventing a description) πŸŽ€


✨ SYNOPSIS ✨

void cpu_init (void );

🎯 ARGUMENTS 🎯

  • void β€” no arguments. that's it, that's the whole argument list 🫢

πŸ”₯ DESCRIPTION πŸ”₯

okay so this is literally our initial entry point for each CPU πŸ’… it gets invoked on the boot CPU before start_kernel is called. For SMP, a combo of this and start_secondary brings each processor up to a ready state before hand forking the idle loop β€” yes, β€œhand forking” is the phrase, we keep it 🫢

We do all the basic processor init right here, including setting up the caches, FPU, DSP, etc. ✨ By the time start_kernel is hit (and subsequently platform_setup), things like determining the CPU subtype and the initial configuration will all be done. iconic behavior, honestly πŸ‘‘

Each processor family is still responsible for doing its own probing and cache configuration in cpu_probe β€” that part is not this function's job, bestie, don't try to make it one πŸ’€


🌸 SEE ALSO 🌸

  • Kernel file ./arch/sh/kernel/cpu/init.c πŸ‘€

source/version: ./arch/sh/kernel/cpu Β· date: October 2026 Β· page: cpu_init(9) β€” mwah, bye bestie πŸŽ€βœ¨

πŸ“¦ where this page comes from