summaryrefslogtreecommitdiffstats
path: root/kernel/main.c
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 06:44:10 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-09-30 06:44:10 -0400
commita94c1b0ed4fd8043e3235fe337bf8d0f2472f9f5 (patch)
tree04e98f6cd010574e4d6825d08a6aef0afd88861c /kernel/main.c
parent8d081d5709c1cb2d19ee3df0648225de9187c226 (diff)
downloadopen-iov-a94c1b0ed4fd8043e3235fe337bf8d0f2472f9f5.tar.gz
open-iov-a94c1b0ed4fd8043e3235fe337bf8d0f2472f9f5.zip
sema-svc: destination-keyed copy watch (dump page-table writes)
sema_copy_dst=dumps the source bytes of every copy whose destination falls in the given page, so the 32-byte page-directory updates the guest writes into vidmem can be read directly and their entry encoding learned.
Diffstat (limited to 'kernel/main.c')
-rw-r--r--kernel/main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/main.c b/kernel/main.c
index 7fe2d15..d6e6c9d 100644
--- a/kernel/main.c
+++ b/kernel/main.c
@@ -2476,6 +2476,14 @@ module_param_named(sema_copy_pat, gsp_sema_copy_pat, ullong, 0644);
MODULE_PARM_DESC(sema_copy_pat, "8-byte pattern matched in copy src/dst and pushes (default 0)");
/*
+ * Data-path watch: dump the source bytes of copies whose destination falls
+ * in this address's page (up to 32 samples):
+ * echo 0x200000 > .../parameters/sema_copy_dst
+ */
+module_param_named(sema_copy_dst, gsp_sema_copy_dst, ullong, 0644);
+MODULE_PARM_DESC(sema_copy_dst, "Dump source bytes of copies landing in this page (default 0)");
+
+/*
* Grace window (ms) an untranslatable CE entry stays pending before the
* fallback acknowledges its release and consumes it. Its work must run before
* the release the client synchronizes on; the translation usually lands within