From cbacce079c12378b1d210a5713eda4f4a03696e9 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Wed, 30 Sep 2026 06:44:10 -0400 Subject: 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. --- kernel/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'kernel/main.c') diff --git a/kernel/main.c b/kernel/main.c index 7fe2d15..d6e6c9d 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -2475,6 +2475,14 @@ MODULE_PARM_DESC(sema_copy_watch, "Copy size whose first bytes are logged (defau 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 -- cgit v1.2.3