STRUCT MV_CESA_SEC_ACCEL_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, welcome to struct mv_cesa_sec_accel_desc β€” it's the security accelerator descriptor, and it's literally the little info packet you hand to the CESA engine so it knows what crypto to do. this is from the Kernel API Manual, section 9, and yes we're reading it together, no cap πŸ’–


✨ SYNOPSIS ✨

like, here's the whole shape of it, verbatim, don't @ me:

struct mv_cesa_sec_accel_desc {
    __le32 config;
    __le32 enc_p;
    __le32 enc_len;
    __le32 enc_key_p;
    __le32 enc_iv;
    __le32 mac_src_p;
    __le32 mac_digest;
    __le32 mac_iv;
 };

eight __le32 fields, all lined up, all little-endian, it's giving organized πŸŽ€


πŸ¦‹ Members πŸ¦‹

okay so every single field, one by one, because we do not skip:

  • config β€” the engine config. that's it, that's the vibe, it's the settings blob for the engine.
  • enc_p β€” the input and output data pointers for a cipher operation. both of them, in one field, iconic πŸ”₯
  • enc_len β€” cipher operation length. how long the cipher thing is.
  • enc_key_p β€” cipher key pointer. points at the key, key behavior only πŸ’…
  • enc_iv β€” cipher IV pointers. plural, bestie, pointers.
  • mac_src_p β€” input pointer and total hash length. two things, one field, she's multitasking.
  • mac_digest β€” digest pointer and hash operation length. again, two-in-one, we love efficiency.
  • mac_iv β€” hmac IV pointers. plural again. she's consistent.

🌸 Description 🌸

fr fr, this is the structure that gets passed to the CESA engine to describe the crypto operation that's about to be executed. that's the whole job. she's a descriptor, she describes, she slays πŸ‘‘


🌈 SEE ALSO 🌈

the whole friend group, no one left out, iykyk:

  • Kernel file ./drivers/crypto/marvell/cesa/cesa.h struct mv_cesa_skcipher_op_ctx(9), struct mv_cesa_hash_op_ctx(9), struct mv_cesa_op_ctx(9), struct mv_cesa_tdma_desc(9), struct mv_cesa_sg_dma_iter(9), struct mv_cesa_dma_iter(9), struct mv_cesa_tdma_chain(9), struct mv_cesa_caps(9), struct mv_cesa_dev_dma(9), struct mv_cesa_engine(9), struct mv_cesa_dev(9), struct mv_cesa_req_ops(9), struct mv_cesa_ctx(9), struct mv_cesa_hash_ctx(9), enum mv_cesa_req_type(9), struct mv_cesa_req(9), struct mv_cesa_sg_std_iter(9), struct mv_cesa_skcipher_std_req(9), struct mv_cesa_skcipher_req(9), struct mv_cesa_ahash_std_req(9), struct mv_cesa_ahash_dma_req(9), struct mv_cesa_ahash_req(9)

ok genuine reminder bestie: every one of those fields is __le32, so if you're poking at this struct yourself, byte order is absolutely your business πŸ™ˆ

and that's the page!! source is ./drivers/crypto/marvell/cesa, date October 2026, and it's living in the Kernel API Manual β€” go off, read the rest, ily, bye πŸ«ΆπŸ’œπŸŽ€

πŸ“¦ where this page comes from