diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 05:33:21 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-30 05:33:21 -0400 |
| commit | 2a6f1773f487b902a2f9412c8f5e7292187cf550 (patch) | |
| tree | 4cf0373baa93d0188bf75e85d35e2a4f17aa4f34 /kernel | |
| parent | 13864ec2491f10caa6c8f1a9da01b17259d22064 (diff) | |
| download | open-iov-2a6f1773f487b902a2f9412c8f5e7292187cf550.tar.gz open-iov-2a6f1773f487b902a2f9412c8f5e7292187cf550.zip | |
sema-svc: copy-watch also logs dst8_after (write-effect check)
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/gsp_sema_service.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 8a60b6e..bafe5c1 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -2088,6 +2088,23 @@ static int svc_copy(struct nv_vgpu_device *vgpu, u64 dst, u64 src, size_t total, (void)i; o += chunk; } + + if (gsp_sema_copy_watch && total == gsp_sema_copy_watch && + svc.copy_watch_log <= 64) { + u8 da[8] = {0}; + + if (dst_aperture == CE_APERTURE_VID) { + u8 *base = vgpu->bars[1].vaddr; + + if (base && dst + 8 <= vgpu->bars[1].size) + memcpy(da, base + dst, 8); + } else { + svc_read(vgpu, dst, da, 8); + } + pr_info("sema-copy-watch: dst8_after=%02x %02x %02x %02x %02x %02x %02x %02x (dst=0x%llx)\n", + da[0], da[1], da[2], da[3], da[4], da[5], da[6], + da[7], dst); + } return 0; } |
