summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_booter_unload_img.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-21 03:01:47 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-21 03:01:47 -0400
commit7a1f48057fe3bd96d26d9ae3f85263ffdd93d374 (patch)
tree328cbeb297c5df50ed33d872b4a060955a271019 /kernel/gsp_phys_booter_unload_img.h
parent7d4919dd3177f75e14b812c59e4de3b1c5912308 (diff)
downloadopen-iov-7a1f48057fe3bd96d26d9ae3f85263ffdd93d374.tar.gz
open-iov-7a1f48057fe3bd96d26d9ae3f85263ffdd93d374.zip
sema: r402 pitched (2D) fills/copies + copy-dst divergence witness
Two additions for the memset2d/memcpy_roundtrip and readback classes: 1. Pitched transfers. The CE decoder now captures LINE_COUNT (0x41c), PITCH_IN (0x410) and PITCH_OUT (0x414); a fill/copy whose LINE_COUNT is > 1 and whose destination pitch exceeds the row length builds a row-wise op (svc_fill/svc_copy are thin wrappers around the existing 1D bodies, advancing dst by dpitch and src by spitch per row). Each row keeps the whole per-page resolution/ledger/guard machinery, and a failed row's retry re-runs already-written rows with the same pattern (idempotent). A flat transfer carries pitch == row length (or no pitch method) and keeps the historical single-run path unchanged. Bounded 'sema-2d' row names every 2D op build. Note: the current victory_memset2d traffic reaches the engine as GR kernels plus per-row 4 KB CE copies, so this capability does not yet trigger for that client - it is the correct decoder for the CE-class 2D shape (driver channel_utils.c memset2d emits LINE_COUNT/PITCH). 2. DST-DIVERGE witness: when a copy destination resolves from the write ledger, a read-only resolver probe cross-checks the answer and logs (bounded, gsp_sema_dbg) when the writer's page differs from the live resolver's - the 'writer follows the ledger while the reader holds another page' shape behind the failed D2H staging class (streams2 c1 zeros, smiley pass failures). Zero rows fired on r403, so the ledger is not the active divergence for that boot; the witness stays for the next failing capture.
Diffstat (limited to 'kernel/gsp_phys_booter_unload_img.h')
0 files changed, 0 insertions, 0 deletions