summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 07:37:30 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-18 07:38:46 -0400
commit042eb952046f7b637f91fa701cd50085efe2578b (patch)
treebc2cc17269df34c3b523ea6e633032ec2cb2d608 /kernel/gsp_sema_service.h
parent24c806ffe9dbe1b0a13fc0a8e3dab91a1e8bc448 (diff)
downloadopen-iov-042eb952046f7b637f91fa701cd50085efe2578b.tar.gz
open-iov-042eb952046f7b637f91fa701cd50085efe2578b.zip
vgsp: GR late-resolve span cap + fill candidate superset + RELOC-GAP stage logging
Diffstat (limited to 'kernel/gsp_sema_service.h')
-rw-r--r--kernel/gsp_sema_service.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h
index 394ce9d..95f9a4e 100644
--- a/kernel/gsp_sema_service.h
+++ b/kernel/gsp_sema_service.h
@@ -331,11 +331,19 @@ extern bool gsp_sema_gr_swrel_gate;
* (svc_fwd_req.vgpu) is required. A successful return (0) means the VA is a
* translated page of that request's client - the caller may act on it; a
* miss returns -ENOENT and the caller must change nothing.
+ *
+ * `stage` carries the per-source diagnostic chain of THIS call
+ * ("ipin:-2,pin:-2,...,ledger:-2," with the resolving source ending in
+ * ":0,") and `stage_rc` the overall result (0 on success, else the miss
+ * errno). relfix PART 3: the booter's RELOC-GAP-STAGE line prints them for
+ * words that stayed unrelocated, so the failing source is on the record.
*/
struct gsp_sema_gr_reloc {
u64 pa; /* resolved guest physical page base */
u32 ap; /* aperture: 1 = SYS (guest RAM), 2 = FB (vidmem) */
u64 hpa; /* host physical address of that guest page */
+ char stage[96]; /* per-attempt "name:rc," source chain (diagnostic) */
+ int stage_rc; /* 0 on success; else the failure errno */
};
int gsp_sema_gr_reloc_resolve(u64 va, struct gsp_sema_gr_reloc *out);