summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_gpu.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-31 11:26:00 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-31 11:26:00 -0400
commitccf57b47b2c68ede8c0602b13070bd4788cad8c8 (patch)
tree4ac21f05d7790355f7ce88c0148b13c4ea7dab57 /kernel/gsp_phys_gpu.h
parentcc6c198a234cf3a42ae565328fe83d490faf1f02 (diff)
downloadopen-iov-ccf57b47b2c68ede8c0602b13070bd4788cad8c8.tar.gz
open-iov-ccf57b47b2c68ede8c0602b13070bd4788cad8c8.zip
vgsp: svc_lat_drop + trust sub-source tag (sub= in sema-pushdec) + SVC_ZRW zero-streak table (src>=2 all-zero x2 -> drop lat/re-walk, pin when src==2), gl_win_start arms only on hdr!=0 (root cause of 5-boot capture drought: window armed on zero no-op), svc_gl_flush zero-lead advance, svc_push_pa_ceiling from gsp_phys_guest_ram_top - capture drought BROKEN (r1131 win=1429 words, 1007 section captures, 0 zero-head refusals); MME-PRELUDE ships in one launch FIRST TIME (gen=4 words=901 + window=390 -> GR LAUNCH words=1348); stores still 0 (engine fetch NONE, MISSING_MACRO_DATA ESR 0x80000001; 8.8s fallback); next: one-variable attribution (sa_stub=0 then surf_prelude=0) + same-generation SA/program capture - SESSION 153 r1129-r1131
Diffstat (limited to 'kernel/gsp_phys_gpu.h')
-rw-r--r--kernel/gsp_phys_gpu.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/gsp_phys_gpu.h b/kernel/gsp_phys_gpu.h
index 3993c6e..4d9f47b 100644
--- a/kernel/gsp_phys_gpu.h
+++ b/kernel/gsp_phys_gpu.h
@@ -516,6 +516,15 @@ bool gsp_phys_guest_ram_active(void);
void gsp_phys_guest_ram_state(char *buf, size_t len);
/*
+ * Highest GPA any registered guest-RAM range covers (max of gpa_base+size
+ * across every active record; 0 when nothing is registered). A GPA at or
+ * above this can never hold guest content - the backing file's padding
+ * reads as zeros - so translation consumers use it to reject walk/pin
+ * answers that point past the registered RAM.
+ */
+u64 gsp_phys_guest_ram_top(void);
+
+/*
* Open-mdev helpers for the per-mdev debugfs selector and the single-guest
* guards: count the mdevs whose VFIO device is open, or resolve one open
* mdev by its device name (the mdev UUID). The returned device is not