summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-28 15:20:04 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-28 15:20:04 -0400
commit612bcec57229d1e74b04cac36d0f4b62a9bf9ebd (patch)
tree25ccf6c09d44040b8e9c375f5e8bfde502d56fbe /kernel/gsp_sema_service.h
parent23ac586e052858b5cf7840ad4062e72d845527d9 (diff)
downloadopen-iov-612bcec57229d1e74b04cac36d0f4b62a9bf9ebd.tar.gz
open-iov-612bcec57229d1e74b04cac36d0f4b62a9bf9ebd.zip
sema: add walk_probe - trace the page-table walk for a VA
New module parameter walk_probe <va> runs the recorded-va-space walks and the discovered-directory walk directly (pin/lat/pair map bypassed) with per-level tracing, and prints the result of each. This separates 'the page tables are not walkable' from 'the VA->PA pair map already answers' when a translation is missing. Baseline on a live boot: root PDB entries are zero (L0 e=0 idx=0) so the writes UVM issues into the level pages have no parent entry yet.
Diffstat (limited to 'kernel/gsp_sema_service.h')
-rw-r--r--kernel/gsp_sema_service.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h
index f652ffd..e67f0ba 100644
--- a/kernel/gsp_sema_service.h
+++ b/kernel/gsp_sema_service.h
@@ -57,6 +57,7 @@ void gsp_sema_service_vaspace_del(u32 h_vaspace);
int gsp_sema_service_start(void);
void gsp_sema_service_stop(void);
int gsp_sema_service_probe(u64 gpu_va, u32 count);
+int gsp_sema_service_walk_probe(u64 gpu_va);
int gsp_sema_service_dump_channels(void);
int gsp_sema_service_add_map(u64 gpu_va, u64 pa, u64 len, u32 ap);
void gsp_sema_service_doorbell(u32 token);