cpacf_kmac(9)
π cpacf_kmac β like, the KMAC instruction era π
okay so this is a page out of the Kernel API Manual bestie, and it's all about one lil function that goes and runs the KMAC instruction for you. no cap, that's the whole vibe. it's a kernel API thing, so if you're here you're probably already deep in the s390 rabbit hole β welcome, we love that for you π«Ά
β¨ NAME β¨
cpacf_kmac β literally executes the KMAC (COMPUTE MESSAGE AUTHENTICATION CODE) instruction. that's it, that's the function. iconic behavior honestly π
πΈ SYNOPSIS πΈ
int cpacf_kmac (unsigned long func , void *param , const u8 *src , long
src_len );
look at her. four args, one int return, main character energy β¨
π ARGUMENTS π
funcβ the function code you're passing to KMAC; check out theCPACF_KMAC_xxxdefines for the full menu, iykyk πparamβ address of the parameter block; see POP for the deets on what eachfuncwants in there πsrcβ address of the source memory area, aka where your bytes live πsrc_lenβ how long thesrcoperand is, in bytes. yes, bytes. always bytes. π₯
π¦ DESCRIPTION π¦
so what comes back? it returns 0 for the query func, and the number of processed bytes for the digest funcs. that's the whole story, no notes πβ¨
π SEE ALSO π
the kernel file ./arch/s390/include/asm/cpacf.h (go read it, it's giving lore), 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_kmctr(9)cpacf_prno(9)cpacf_trng(9)cpacf_pcc(9)cpacf_pckmo(9)cpacf_kma(9)
mwah π this page lives in ./arch/s390/include/asm, it's dated October 2026, and it's filed under cpacf_kmac(9). slay, go forth and auth your codes bestie πΈπ
π¦ 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