STRUCT AXIDMA_BD(9)
π NAME π
struct axidma_bd β the Axi Dma buffer descriptor layout, aka the blueprint bestie, the literal map of where everything lives πΊοΈβ¨
πΈ SYNOPSIS πΈ
struct axidma_bd {
u32 next;
u32 next_msb;
u32 phys;
u32 phys_msb;
u32 reserved3;
u32 reserved4;
u32 cntrl;
u32 status;
u32 app0;
u32 app1;
u32 app2;
u32 app3;
u32 app4;
struct sk_buff *skb;
};
That's the whole squad right there, no cap π«Ά
β¨ Members β¨
Okay so like, one field at a time, because every single one matters and we are not skipping anybody:
nextβ the MM2S/S2MM Next Descriptor Pointer π like, where we go next, the link in the chain.next_msbβ the MM2S/S2MM Next Descriptor Pointer, but the high 32 bits π§ the upper half of the same vibe.physβ the MM2S/S2MM Buffer Address π where the actual buffer lives in memory.phys_msbβ the MM2S/S2MM Buffer Address again, high 32 bits π yep, the top half, iconic.reserved3β Reserved and not used π lowkey just sitting there. Ignore her.reserved4β Reserved and not used π same energy, also ignore. Periodt.cntrlβ the MM2S/S2MM Control value ποΈ the knobs, the buttons, the command energy.statusβ the MM2S/S2MM Status value π how's it going, what's the tea.app0β MM2S/S2MM User Application Field 0. π yours to play with.app1β MM2S/S2MM User Application Field 1. π next one, also yours.app2β MM2S/S2MM User Application Field 2. π keep going bestie.app3β MM2S/S2MM User Application Field 3. π almost through the app fam.app4β MM2S/S2MM User Application Field 4. π last one, slay.skbβ pointer to SKB transferred using DMA π the main character pointer, carrying the packet through the DMA journey.
Ngl,reserved3andreserved4are literally just Reserved and not used β do not try to make them happen, they're not going to happen π
π¦ SEE ALSO π¦
Go check these out, they're all in the same friend group π«Ά
The kernel file ./drivers/net/ethernet/xilinx/xilinx_axienet.h, plus:
struct skbuf_dma_descriptor(9)struct axienet_local(9)struct axienet_option(9)axienet_ior(9)axienet_iow(9)axienet_dma_out32(9)axienet_dma_out64(9)
And that's the whole page, bestie π this one comes from ./drivers/net/ethernet/xilinx, dated October 2026, straight out of the Kernel API Manual β¨ ily, go read your structs π
π¦ 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