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 | 029f8ae522a2fd1f3e3d7c1458025713e005cb59 (patch) | |
| tree | 8d944206479166b3e250ea203ac88d121a4cae97 /kernel | |
| parent | cb6ca16ace1829dbe1cd25ab0af2bd138bda3162 (diff) | |
| download | open-iov-029f8ae522a2fd1f3e3d7c1458025713e005cb59.tar.gz open-iov-029f8ae522a2fd1f3e3d7c1458025713e005cb59.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; } |
