diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-13 19:18:21 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-13 19:18:21 -0400 |
| commit | 7adef330df18691acabda9f5c988742f23a2917d (patch) | |
| tree | c115789b526840fbbec1056ab67b2a9a9d94f963 /kernel/include/memory.h | |
| parent | 8e64754d9980d2423f1907ae184ec46e63e5ff7e (diff) | |
| download | open-iov-7adef330df18691acabda9f5c988742f23a2917d.tar.gz open-iov-7adef330df18691acabda9f5c988742f23a2917d.zip | |
Phase 3: RPC Handler Completion
- Enhanced gsp_rpc_client.c with proper emulation implementations:
- ALLOC/FREE: VRAM allocation tracking with host page allocation and DMA mapping
- MAP/UNMAP: GPU VA mapping management
- PIN/UNPIN: DMA address retrieval for pinned pages
- SCHEDULE/YIELD: Local workqueue-based scheduling
- NOTIFY: Callback registration for async events
- Added emulation function declarations to gsp_rpc_client.h
- Exported nv_vgpu_simple_mapping struct in memory.h for cross-file use
- Updated RPC handlers to use gsp_rpc_emulation_is_enabled() accessor
- All 12 RPC types now have functional emulation fallbacks
Diffstat (limited to 'kernel/include/memory.h')
| -rw-r--r-- | kernel/include/memory.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/include/memory.h b/kernel/include/memory.h index 14a35e9..07e57f2 100644 --- a/kernel/include/memory.h +++ b/kernel/include/memory.h @@ -16,6 +16,17 @@ struct nv_vgpu_mapping { struct list_head list; }; +struct nv_vgpu_simple_mapping { + u64 gpa; + u64 size; + u64 iova; + struct page **pages; + int page_count; + bool pinned; + bool mapped; + struct list_head list; +}; + struct nv_vgpu_mm_ctx { struct nv_vgpu_device *vgpu; struct mutex lock; |
