STRUCT XE_RES_CURSOR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct xe_res_cursor β€” Kernel API Manual ✨

okay so bestie, welcome to struct xe_res_cursor(9) πŸŽ€ this little icon is literally the state holder for walking over dma mapping, vram_mgr, stolen_mgr, and gtt_mgr allocations. she's not doing the walking herself, she's just holding the vibe check while you do 🫢


✨ NAME ✨

struct xe_res_cursor β€” state for walking over dma mapping, vram_mgr, stolen_mgr, and gtt_mgr allocations 🌸


🌈 SYNOPSIS 🌈

struct xe_res_cursor {
    u64 start;
    u64 size;
    u64 remaining;
    void *node;
    u32 mem_type;
    struct scatterlist *sgl;
    const struct drm_pagemap_addr *dma_addr;
    struct gpu_buddy *mm;
    u64 dma_start;
    u64 dma_seg_size;
 };

like, that's the whole struct, no cap πŸ’œ


πŸ’– Members πŸ’–

  • start β€” start of cursor ✨
  • size β€” size of the current segment. the way she's segment-sized, honestly πŸ¦‹
  • remaining β€” remaining bytes in cursor. the countdown queen πŸ‘‘
  • node β€” opaque point current node cursor πŸ™ˆ (yes, "point" β€” that's what the original says, we don't fix it, we respect it)
  • mem_type β€” memory type πŸ’…
  • sgl β€” scatterlist for cursor πŸŽ€
  • dma_addr β€” current element in a struct drm_pagemap_addr array ⭐
  • mm β€” buddy allocator for VRAM cursor πŸ”₯
  • dma_start β€” DMA start address for the current segment. This may be different to dma_addr.addr since elements in the array may be coalesced to a single segment πŸ‘€ like, don't assume they match, bestie
  • dma_seg_size β€” size of the current DMA segment 🌈

πŸ” SEE ALSO πŸ”


and that's the whole page, periodt πŸ˜­πŸ’€ this dropped from ./drivers/gpu/drm/xe back in October 2026 β€” go off, kernel gang, ily πŸ§šπŸ’œ

πŸ“¦ where this page comes from