set_xor_val(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« set_xor_val(9) β€” the kernel API manual, bestie edition πŸ’«

Okay so real talk: this is a section 9 kernel API page, which means it's for the driver-dev girlies, not the "how do I unzip a file" girlies. It's about one tiny function that flips one tiny lever on a hardware descriptor. Small? Yes. Iconic? Also yes. Let's get into it πŸŽ€


✨ NAME ✨

set_xor_val β€” literally just sets the word for the XOR operation. That's it. That's the whole job. She's a one-task queen and she does it slayfully πŸ’…


🌸 SYNOPSIS 🌸

void set_xor_val (struct cc_hw_desc *pdesc , u32 val );

Returns nothing (void), takes two things, done. No cap, the simplest signature in the whole header file πŸ¦‹


🫢 ARGUMENTS 🫢

  • pdesc β€” Pointer to HW descriptor struct. This is the descriptor you're decorating, bestie. You're handing her a little instruction and she's putting it on the outfit ✨
  • val β€” XOR data value. The actual number going in. This is the what, the pdesc is the where πŸ’–
Not me having exactly two arguments and zero drama about it. We love a low-maintenance function πŸ™ˆ

πŸ”₯ SEE ALSO πŸ”₯

Okay this is the part where I hold your hand, because the see-also list on this page is enormous and honestly it's giving "my friend group is 38 people and I love every single one of them." All of these live in the kernel file ./drivers/crypto/ccree/cc_hw_queue_defs.h β€” that's the mothership, the group chat, the whole vibe 🌈

Go read up on:

hw_desc_init(9), set_queue_last_ind_bit(9), set_din_type(9), set_din_no_dma(9), set_cpp_crypto_key(9), set_din_sram(9), set_din_const(9), set_din_not_last_indication(9), set_dout_type(9), set_dout_dlli(9), set_dout_mlli(9), set_dout_no_dma(9), set_xor_active(9), set_aes_not_hash_mode(9), set_aes_xor_crypto_key(9), set_dout_sram(9), set_xex_data_unit_size(9), set_multi2_num_rounds(9), set_flow_mode(9), set_cipher_mode(9), set_hash_cipher_mode(9), set_cipher_config0(9), set_cipher_config1(9), set_hw_crypto_key(9), set_bytes_swap(9), set_cmac_size0_mode(9), set_key_size(9), set_key_size_aes(9), set_key_size_des(9), set_setup_mode(9), set_cipher_do(9).

That's the whole roster, periodt. Each one's a little setter sibling and they all do their one thing on the descriptor. set_xor_val is just the one holding the XOR value πŸ’œ


Sign-off time, bestie ✨

This page lives in ./drivers/crypto/ccree, dated October 2026, and it's filed under set_xor_val(9) in the Kernel API Manual. Go set some XOR values, be the main character of your crypto driver, and remember: two arguments, zero drama, always πŸ§šπŸ’–πŸŽ€

πŸ“¦ where this page comes from