tm_cfpr_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– tm_cfpr_get(9) β€” Kernel API Manual πŸ’–

okay so bestie, welcome to the tm_cfpr_get(9) page ✨ this is a Kernel API Manual moment, and honestly? it's giving powerpc ptrace realness. sit down, grab a strawberry πŸ“, and let's get into it.


🌸 NAME 🌸

tm_cfpr_get β€” get CFPR registers πŸ‘‘

like. it gets them. that's the whole vibe check.


πŸ¦‹ SYNOPSIS πŸ¦‹

int tm_cfpr_get (struct task_struct *target , const struct user_regset
       *regset , struct membuf to );

not me just copying the signature exactly because bestie, no cap, you do not get to paraphrase a function prototype πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • target β€” the target task, i.e. the main character of this whole operation πŸ‘‘
  • regset β€” the user regset structure. yes. that one. 🫢
  • to β€” destination of copy, aka where the goods are going πŸ“¦

⭐ DESCRIPTION ⭐

so what does this actually do?? it gets in transaction checkpointed FPR registers ✨ literally that's it, that's the function.

here's the lore: when the transaction is active, ckfp_state holds the checkpointed values for the current transaction, so there's something to fall back on if it aborts in between 😭 (imagine committing mid-transaction with no backup... couldn't be this kernel). this function gets those checkpointed FPR registers, periodt.

the userspace interface buffer layout is as follows πŸ‘‡

struct data { u64     fpr[32]; u64     fpscr; };

look at that. fpr[32] and fpscr. iconic. no notes. 🧚


πŸ”₯ SEE ALSO πŸ”₯

kernel file ./arch/powerpc/kernel/ptrace/ptrace-tm.c β€” and the whole friend group, fr fr:

like, the whole _active / _get / _set cinematic universe πŸ˜­πŸ’€ go read them, iykyk.


πŸ’‘ reminder bestie: this page lives in ./arch/powerpc/kernel/ptrace β€” that's the source tree path, don't come for me.

and that's the page!! πŸŽ€ source/version: ./arch/powerpc/kernel/ptrace Β· dated October 2026 β€” mwah, slay, bye πŸ’œπŸŒˆβœ¨

πŸ“¦ where this page comes from