diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-24 02:29:04 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-24 02:29:04 -0400 |
| commit | 5c9d18abaac6ce45c8faec26b3f3b637cd764eb5 (patch) | |
| tree | 189accac8d94601fc26a2561198b8bb4817acc0d /kernel/gsp_rm_emulation.h | |
| parent | 0b799c9487477fd31a56e0c386e6ba3896c4c569 (diff) | |
| download | open-iov-5c9d18abaac6ce45c8faec26b3f3b637cd764eb5.tar.gz open-iov-5c9d18abaac6ce45c8faec26b3f3b637cd764eb5.zip | |
kernel: completion-event hints and GSP-RM state introspection
- re-post the completion event for a bounded window after a channel
completes work (notifier consumed or semaphore release applied), so a
client that starts waiting after the edge-triggered wake-up still gets
a wake-up; the OS event classes carry no source object, so the hint
broadcasts to the registered events
- add rmstate (dump msgq cursors, guest consumption position, event
table) and rmpost (post an event record by index or to all) debug
parameters, both executing in kthreads because the IOMMU read path
only works with a NULL current->mm or the mapping owner's mm
- report the underlying error codes from the event post path
Diffstat (limited to 'kernel/gsp_rm_emulation.h')
| -rw-r--r-- | kernel/gsp_rm_emulation.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/gsp_rm_emulation.h b/kernel/gsp_rm_emulation.h index 1ab0a83..9ff74e9 100644 --- a/kernel/gsp_rm_emulation.h +++ b/kernel/gsp_rm_emulation.h @@ -195,6 +195,9 @@ struct gsp_rm_emu { int gsp_rm_emu_init(struct nv_vgpu_device *vgpu, struct gsp_emu_context *ctx); void gsp_rm_emu_fini(struct gsp_emu_context *ctx); int gsp_rm_post_channel_event(struct nv_vgpu_device *vgpu, u32 h_src); +int gsp_rm_force_post(struct nv_vgpu_device *vgpu, u32 idx); +int gsp_rm_post_all_events(struct nv_vgpu_device *vgpu); +int gsp_rm_dump_state(struct nv_vgpu_device *vgpu); int gsp_rm_scan_guest_ram(struct nv_vgpu_device *vgpu, u64 needle, u64 start, u64 end, u32 max_hits); int gsp_rm_scan_guest_ram_seq(struct nv_vgpu_device *vgpu, const u32 *pat, |
