cpacf_pcc(9)
π 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 theCPACF_KM_xxxdefines to see your options, iykyk πparamβ the address of the parameter block; for the deets on eachfunc, 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:
cpacf_query(9)cpacf_qai(9)cpacf_km(9)cpacf_kmc(9)cpacf_kimd(9)cpacf_klmd(9)_cpacf_kmac(9)cpacf_kmac(9)cpacf_kmctr(9)cpacf_prno(9)cpacf_trng(9)cpacf_pckmo(9)cpacf_kma(9)
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
- 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