_cpacf_kmac(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 _cpacf_kmac β€” NAME ✨

okay so bestie, meet _cpacf_kmac πŸ’… β€” literally the function that executes the KMAC (COMPUTE MESSAGE AUTHENTICATION CODE) instruction and updates the flags in gr0. that's her whole job. iconic behavior, no notes πŸŽ€

this is from the Kernel API Manual, iykyk πŸ¦‹


✨ SYNOPSIS ✨

int _cpacf_kmac (unsigned long *gr0 , void *param , const u8 *src , long
src_len );

like, that's the whole signature bestie, she's not complicated 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • gr0 β€” a pointer to gr0 (that's the fc and flags btw) that gets passed to KMAC πŸ’– go check the CPACF_KMAC_xxx defines, they're right there
  • param β€” the address of the parameter block 🌸 see POP for the deets on each func, it's giving reference-material main character energy
  • src β€” the address of the source memory area πŸ¦‹ that's where the data lives
  • src_len β€” the length of the src operand, in bytes ✨ yes, bytes, keep up

πŸ’œ DESCRIPTION πŸ’œ

so what does she return? slay, here it is:

  • returns 0 for the query func πŸ‘‘
  • returns the number of processed bytes for digest funcs πŸ“

that's it. that's the vibe check. periodt πŸ’…


🌈 SEE ALSO 🌈

okay so the kernel file to go look at is ./arch/s390/include/asm/cpacf.h β€” and then the whole friend group of related pages, all of them, no cap:

fr fr go read them all, they're lowkey obsessed with each other 🫢

and that's the page bestie!! πŸ’– this little gem lives over at ./arch/s390/include/asm, dated October 2026 ⭐, and she answers to _cpacf_kmac(9) β€” ok bye, go write some kernel code, ily πŸ˜­πŸ’…

πŸ“¦ where this page comes from