summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 07:10:28 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-02 07:10:28 -0400
commit941ceedd33dcdbb34741af6c04865a7024e3e849 (patch)
treec8d0c97e3974b4f407da7c1e75d59ff61f762da1 /kernel/gsp_sema_service.h
parentb75e316bd42cc34397e5f66b93f4c85181ad18c8 (diff)
downloadopen-iov-941ceedd33dcdbb34741af6c04865a7024e3e849.tar.gz
open-iov-941ceedd33dcdbb34741af6c04865a7024e3e849.zip
gsp-phys: P6a debug triggers resolve the guest page HPA at trigger time
Triggers 6 (W2G) and 7 (G2H) previously used page-table slots pre-built once during the ladder's stage 3. A guest page's host physical address can change between translations (observed 0x13a591000 -> 0x3b8318000 for the same GPA), and a runtime PTE rewrite into an already-fetched 128-byte line is invisible (no invalidate path), so the later write-direction trigger validated against the wrong page and failed its data check. Both triggers now translate at trigger time and run through the same fresh-scratch-line path as forwarding, via a shared internal copy body; the exported forwarding API is unchanged and still requires gsp_phys_work_forward. A changed HPA is now an informational once-per-boot note rather than a failure; the probe-pattern guard still refuses stale pages. Trigger 8 and the stage-3 pre-built slots are unchanged. Live (run p6w3): GUEST G2H COPY OK gpa=0x12423d000 hpa=0x56ab3a000; GUEST W2G COPY OK with verify_ok=1; PTE selftest OK; guest SEEN_W2G; ladder REAL COPY OK; clean latched release (5 power-domain locks, rebound, WPR2 down, no rail cycles, pstore empty, same boot). The full smoke run hit the known guest cuInit/WPR2-already-up wedge at cdt; the trigger path itself is green.
Diffstat (limited to 'kernel/gsp_sema_service.h')
0 files changed, 0 insertions, 0 deletions