STRUCT SEC_HW_SGL(9)
π NAME π
okay bestie, meet struct sec_hw_sgl(9) from the Kernel API Manual β she is literally one hardware SGL entry, and we are going to get into every single field together. no skipping, no cap. π
β¨ SYNOPSIS β¨
hereβs the shape of her, exactly as she is:
struct sec_hw_sgl {
dma_addr_t next_sgl;
u16 entry_sum_in_chain;
u16 entry_sum_in_sgl;
u32 flag;
u64 serial_num;
u32 cpuid;
u32 data_bytes_in_sgl;
struct sec_hw_sgl *next;
u64 reserved;
struct sec_hw_sge sge_entries[SEC_MAX_SGE_NUM];
u8 node[16];
};
π Members π
vibe check on every member, one by one:
next_sglβ the next entry if we need to chain a dma address. itβs Null if last. π«Άentry_sum_in_chainβ the full count of SGEs β only matters for first SGL. noted, bestie.entry_sum_in_sglβ the number of SGEs in this SGL element.flagβ unused in skciphers. periodt.serial_numβ also unused in skciphers (the original spells it βUnsued in skciphersβ π iconic typo energy, but the meaning is still βunusedβ).cpuidβ currently unused.data_bytes_in_sglβ count of bytes from all SGEs in this SGL.nextβ virtual address used to stash the next sgl β useful in completion.reservedβ a reserved field not currently used.sge_entriesβ the (up to) 64 Scatter Gather Entries, representing IOVs. she ate.nodeβ currently unused.
π SEE ALSO π
kernel file ./drivers/crypto/hisilicon/sec/sec_drv.h β go peek at these cuties:
struct sec_queue_ring_cmd(9)struct sec_alg_tfm_ctx(9)struct sec_request(9)struct sec_request_el(9)struct sec_queue(9)struct sec_hw_sge(9)struct sec_dev_info(9)
okay thatβs the whole page, bestie π β source/version vibe: ./drivers/crypto/hisilicon/sec, October 2026, struct sec_hw_sgl(9). byeee πβ¨
π¦ 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