tm_cgpr_get(9)
π 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 structuretoβ 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 π:
tm_cgpr_active(9)tm_cfpr_active(9)tm_cfpr_get(9)tm_cfpr_set(9)tm_cvmx_active(9)tm_cvmx_get(9)tm_cvmx_set(9)tm_cvsx_active(9)tm_cvsx_get(9)tm_cvsx_set(9)tm_spr_active(9)tm_spr_get(9)tm_spr_set(9)
π§ 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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms