9c609a8389
gem_execbuffer.rs (80 lines): ExecObject: batch object with offset, length, gtt_offset, binding flag RelocationEntry: target handle, delta, offset validation ExecbufferSubmission: batch objects, relocations, fence tracking ExecbufferManager: validate → reloc_process → bind → fence_out AtomicU64 fence counter with per-submission increment gem_pages.rs (65 lines): PageManager: BTreeMap<phys_addr, Page> with refcount allocation/free Page struct: phys_addr, refcount, dirty flag TtmMoveManager: source→destination region migration Bump allocator with total/free byte tracking per region Ported from Linux 7.1: gem/i915_gem_execbuffer.c → ExecbufferManager + ExecObject gem/i915_gem_ttm.c → TtmMoveManager gem/i915_gem_pages.c → PageManager GEM subdirectory now: 6 files, 515 lines, covering object lifecycle, memory regions, VMA management, execbuffer, and page management.