mcpm_cpu_power_up(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… mcpm_cpu_power_up β€” kernel API manual, bestie edition πŸŽ€

Okay so this is mcpm_cpu_power_up(9) from the Kernel API Manual, and it is literally the "wake up babe, the CPU wants to run" function. MCPM = Multi-Cluster Power Management, iykyk. Let's get into it πŸ¦‹


✨ NAME ✨

mcpm_cpu_power_up β€” make the given CPU in the given cluster runable 🌸

(Yes, "runable". That's exactly how it's spelled here. We do not edit the spelling, we respect the spelling. Periodt. πŸ’…)


✨ SYNOPSIS ✨

int mcpm_cpu_power_up (unsigned int cpu , unsigned int cluster );

✨ ARGUMENTS ✨

  • cpu β€” the CPU number within the given cluster, bestie. Not a global CPU number, it's a within-this-cluster number, don't mix that up πŸ™ˆ
  • cluster β€” the cluster number that this CPU lives in 🫢

✨ DESCRIPTION ✨

So the identified CPU gets brought out of reset. ✨ That's the whole vibe.

And listen β€” if the cluster was powered down, it gets brought up too. But it does it carefully: it takes care not to let the other CPUs in the cluster run, and it makes sure the cluster setup is appropriate. Like a good roommate who turns the lights on just for you and doesn't wake everyone else up πŸ’–

⚠️ Before you call this, the caller must ensure the appropriate entry vector is initialized with mcpm_set_entry_vector. No entry vector, no party. That's on you, not on this function. 🫢

Also, this has to be called in a sleepable context. That's non-negotiable, okay? 😴

But β€” and this is the cute part β€” the implementation is strongly encouraged to return early and let the operation happen asynchronously, especially when significant delays are expected. Like, don't just stand there in the sleepable context waiting, hand it off and vibe away πŸ¦‹

And if the operation cannot be performed? You get an error code back. Simple as that. 😭


✨ SEE ALSO ✨

Also peek at the kernel file ./arch/arm/include/asm/mcpm.h β€” it's the source of truth, queen πŸ‘‘

The whole MCPM friend group, all of them, no skips:


Anyways that's the whole page, mwah πŸ’‹ This little angel comes from ./arch/arm/include/asm, dated October 2026, and it's giving "ARM cluster power management main character energy." Now go power up that CPU, bestie, I believe in you πŸ”₯πŸ‘‘πŸ“

πŸ“¦ where this page comes from