summaryrefslogtreecommitdiffstats
path: root/kernel/include
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-13 19:18:21 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-13 19:18:21 -0400
commit7adef330df18691acabda9f5c988742f23a2917d (patch)
treec115789b526840fbbec1056ab67b2a9a9d94f963 /kernel/include
parent8e64754d9980d2423f1907ae184ec46e63e5ff7e (diff)
downloadopen-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')
-rw-r--r--kernel/include/memory.h11
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;