machine_kexec_prepare(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– machine_kexec_prepare(9) πŸ’–

okay so this is the Kernel API Manual page for machine_kexec_prepare(9), and bestie it is short but it matters. 🫢

🌸 NAME 🌸

machine_kexec_prepare β€” Prepare for a kexec reboot. ✨

✨ SYNOPSIS ✨

int machine_kexec_prepare (struct kimage *kimage );

πŸŽ€ ARGUMENTS πŸŽ€

  • kimage β€” the original page literally says -- undescribed --. That’s it, no cap. πŸ’€ It’s the struct kimage * from the synopsis.

πŸ’… DESCRIPTION πŸ’…

So the core kexec code calls this when a kernel image is loaded. Its whole thing is a vibe check: if there’s no way of hotplugging CPUs, or if CPUs are stuck in the kernel, it forbids loading a kexec kernel. πŸ›‘

That is extremely on purpose, because it avoids a panic once we hit machine_kexec. Iconic protective behavior honestly. πŸ”₯

Not me being dramatic, but this guard is literally the difference between β€œwe checked first” and β€œwe panicked later.” πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./arch/arm64/kernel/machine_kexec.c plus these besties: kexec_image_info(9), kexec_segment_flush(9), machine_kexec(9), machine_crash_shutdown(9). 🌈


mwah πŸ’‹ β€” this one comes from ./arch/arm64/kernel, dated October 2026, and it’s called machine_kexec_prepare(9). periodt. πŸ‘‘

πŸ“¦ where this page comes from