tm_cgpr_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… tm_cgpr_get(9) β€” a Kernel API Manual moment

okay bestie, welcome to tm_cgpr_get(9), straight out of the Kernel API Manual ✨ this one's a lil niche but it's giving main character energy for real πŸŽ€


✨ NAME ✨

tm_cgpr_get β€” get CGPR registers 🫢


🌸 SYNOPSIS 🌸

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

πŸ¦‹ ARGUMENTS πŸ¦‹

  • target β€” the target task, iykyk πŸ‘‘
  • regset β€” the user regset structure
  • to β€” destination of copy, that's where the good stuff goes πŸ’Œ

πŸ’– DESCRIPTION πŸ’–

so this function gets transaction checkpointed GPR registers. literally what it says on the tin πŸ’…

when the transaction is active, ckpt_regs holds all the checkpointed GPR register values for the current transaction to fall back on if it aborts in between 😭 (yes, the safety net era). this function gets those checkpointed GPR registers. no cap.

the userspace interface buffer layout is literally this:

struct data { struct pt_regs ckpt_regs; };

not me obsessed with a one-line struct πŸ“


🌈 SEE ALSO 🌈

kernel file ./arch/powerpc/kernel/ptrace/ptrace-tm.c + the whole friend group πŸ’œ:


🧚 and that's the whole page, bestie β€” go read some registers, slay πŸ’€πŸ”₯

⭐ sign-off time: this lil masterpiece lives in ./arch/powerpc/kernel/ptrace, dated October 2026, and it's called tm_cgpr_get(9) in case you forgot already πŸ™ˆ periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from