summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 7d9b695..74e3103 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -210,6 +210,19 @@ int gsp_phys_rmcall_engine_value(void);
int gsp_phys_rmcall_gr_promote_value(void);
/*
+ * Ladder VAS ownership selector (gsp_phys_rmcall_vas_shared; default 0).
+ * 0 = FERMI_VASPACE_A is allocated IS_EXTERNALLY_OWNED (historical ladder
+ * behaviour: the client owns page tables, VA bookings and engine-context
+ * commitment, which is why every host GR promote failed or wedged).
+ * 1 = SHARED_MANAGEMENT: the ladder still supplies and commits its root PDB
+ * via SET_PAGE_DIRECTORY (legal for shared management, gpu_vaspace.c:3108)
+ * while the RM owns the lower page tables and maps/commits engine contexts
+ * itself, like the normal KMD client (nv_gpu_ops.c:2495). Read at the
+ * stage-3 VAS alloc; a mid-session change is ignored.
+ */
+bool gsp_phys_rmcall_vas_shared_value(void);
+
+/*
* Translate a guest GPA to the pinned host PA (gsp_phys_guest_mem ladder
* support). The mdev is registered with vfio_register_emulated_iommu_dev():
* its VFIO type-1 container keeps the guest DMA mappings privately, so