7b42abeec9
gem_context.rs (90 lines): GemContext: handle, priority, PPGTT flag, VMA manager per-context ContextManager: create/destroy/activate/deactivate create_default_context() with PPGTT enabled gem_mmap.rs (60 lines): MmapManager: create/unmap with offset-based handle lookup MmapType: WriteCombine/WriteBack/Uncached MMAP_OFFSET_SHIFT for page-aligned offset allocation gem_tiling.rs (80 lines): TilingManager: set/get_tiling per handle FenceRegisterManager: 32 fence register pool with alloc/free TilingMode: None/X/Y/Yf/Ys with stride + fence reg binding gem_domain.rs (80 lines): DomainManager: read/write domain tracking with clflush flag BusyManager: per-handle engine busy state ThrottleManager: pending submission limit enforcement gem_stolen.rs (60 lines): StolenMemoryManager: BIOS stolen memory region with reserve ShrinkerManager: memory pressure tracking with shrink attempts Ported from Linux 7.1: gem/i915_gem_context.c → ContextManager + GemContext gem/i915_gem_mman.c → MmapManager + MmapEntry gem/i915_gem_tiling.c → TilingManager + FenceRegisterManager gem/i915_gem_domain.c → DomainManager gem/i915_gem_busy.c → BusyManager gem/i915_gem_stolen.c → StolenMemoryManager gem/i915_gem_shrinker.c → ShrinkerManager GEM subdirectory: 11 files, 880 lines, 0 errors