diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-18 07:37:30 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-18 07:38:46 -0400 |
| commit | 042eb952046f7b637f91fa701cd50085efe2578b (patch) | |
| tree | bc2cc17269df34c3b523ea6e633032ec2cb2d608 /kernel/gsp_sema_service.h | |
| parent | 24c806ffe9dbe1b0a13fc0a8e3dab91a1e8bc448 (diff) | |
| download | open-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.h | 8 |
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); |
