cpacf_pcc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cpacf_pcc β€” the one that runs PCC

okay bestie, this is cpacf_pcc(9) from the Kernel API Manual, and it's basically a little wrapper that goes ✨ executes the PCC (PERFORM CRYPTOGRAPHIC COMPUTATION) instruction ✨ β€” yes that's the whole vibe, it's giving "one job, does it well" πŸŽ€


🌸 SYNOPSIS 🌸

int cpacf_pcc (unsigned long func , void *param );

that's it. two args, one int coming back. we love a clean signature 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • func β€” the function code you're handing over to PCC; peep the CPACF_KM_xxx defines to see your options, iykyk πŸ’–
  • param β€” the address of the parameter block; for the deets on each func, go check POP (yes, that POP) πŸ“–

πŸ’€ DESCRIPTION πŸ’€

so what comes back? the condition code, bestie. here's the full breakdown, no cap:

  • 0 β€” cc code 0, aka normal completion, we ate and left no crumbs πŸ‘‘
  • 1 β€” cc code 1, which means either a protected key wkvp mismatch or your src operand is out of range 😭
  • 2 β€” cc code 2, the "something invalid" energy (scalar multiply infinity, ... etc.) πŸ’€
and cc code 3 (partial completion)? not your problem, bestie β€” that one's handled within the asm code and never returned πŸ™ˆ so don't come looking for it.

✨ SEE ALSO ✨

the kernel file ./arch/s390/include/asm/cpacf.h (that's the main character file fr fr) plus the whole friend group:


and that's the whole page, periodt πŸ’… this one lives in ./arch/s390/include/asm, and the version notes say October 2026 β€” so mark your calendar bestie, cpacf_pcc(9) is stamped and dated and ready to slay πŸŒˆβ­πŸ“

πŸ“¦ where this page comes from