summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_phys_booter.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:19:54 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-06 15:19:54 -0400
commitdc5b6507889d07003cf01ed1d784c0faf48bec03 (patch)
tree4a596499738b1b74656fbb3ce1b80aef1b130338 /kernel/gsp_phys_booter.h
parent929646875d80408a21c642ca88ef70efbc0d736a (diff)
downloadopen-iov-dc5b6507889d07003cf01ed1d784c0faf48bec03.tar.gz
open-iov-dc5b6507889d07003cf01ed1d784c0faf48bec03.zip
vgsp: m26 GR launch discriminator - rebuilt window (prelude off), QMD-virt 0x29c, w63 sentinel
Diffstat (limited to 'kernel/gsp_phys_booter.h')
-rw-r--r--kernel/gsp_phys_booter.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/gsp_phys_booter.h b/kernel/gsp_phys_booter.h
index 67d5d5c..e46fb86 100644
--- a/kernel/gsp_phys_booter.h
+++ b/kernel/gsp_phys_booter.h
@@ -336,14 +336,16 @@ void gsp_phys_backend_relay_counters(u64 *requested, u64 *ok, u64 *verify_fail,
#define GSP_PHYS_GR_INLINE_BYTES 64u
#define GSP_PHYS_GR_QMD_WORDS 64u
/*
- * IQ2M sentinel: written to the inline-QMD destination's word 0 after the
- * prewrite. If the engine processes the inline window, the copy overwrites
- * the page (word 0 -> the inline value, 0) and the post-mortem sees the page
+ * IQ2M sentinel: written to the inline-QMD destination's word 63 after the
+ * prewrite (a word SKED does not consume; word 0 stays the guest's authentic
+ * OUTER_PUT). If the engine processes the inline window, the copy overwrites
+ * the page (word 63 -> the inline value) and the post-mortem sees the page
* changed; if the sentinel survives, the engine stalled before the inline
* window and the page was never touched. Distinguishes "IQ2M never ran" from
* "QMD deposited but not executed" without a server-side capture.
*/
#define GSP_PHYS_GR_QMD_SENTINEL 0xdeadbeefu
+#define GSP_PHYS_GR_QMD_SENTINEL_WORD 63u
#define GSP_PHYS_GR_QMD_WORD_NONE 0xffffffffu
#define GSP_PHYS_GR_RAW_WORDS 256u