summaryrefslogtreecommitdiffstats
path: root/CODESTD-REPORT-2026-10-08.md
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 22:17:15 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-11 22:17:15 -0400
commit3530fb6ee20d514eddb0e21645abddf512059367 (patch)
treea44a669cd514a3edabb6d0ead9286c9bef13cc1e /CODESTD-REPORT-2026-10-08.md
parent7de0cfd365e9c8b9fa8385c5cde60bbbbb7a3ddb (diff)
downloadopen-iov-3530fb6ee20d514eddb0e21645abddf512059367.tar.gz
open-iov-3530fb6ee20d514eddb0e21645abddf512059367.zip
vgsp: GR data path - pre-publish bounce fill, engine-change proof, ipin-first data resolution
Two fixes and one diagnostic for the all-zero-results class (r89: smiley's 4 vadd launches reported GUEST GR LAUNCH OK yet every output word read 0): - gsp_phys_booter: copy the guest data pages into the bounce window BEFORE gsp_phys_rmcall_publish_locked() rings the doorbell. The fill used to run after the kick; the engine front end starts within ~7 ms, so the kernel could read the window before it was filled. - gsp_phys_booter: per-page checksums at copy-in, compared at copy-out; the copy-out log now reports 'N changed by engine'. An all-unchanged window after a reported completion is the front-end-ran/grid-never- dispatched signature (completion semaphores are front-end authored). The first 3 data (va,hpa,reloc) triples are logged per launch. - gsp_sema_service: svc_gr_data_fill resolves data pages through svc_ipin_lookup() first (guest-truth pins), falling back to svc_resolve_va, mirroring the pool resolver order; a wrong page here silently runs the kernel on zeros. First 16 resolved (va,pa,ap) triples are logged for post-mortem comparison against the guest's own mapping.
Diffstat (limited to 'CODESTD-REPORT-2026-10-08.md')
0 files changed, 0 insertions, 0 deletions