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
commitc3fa877b2bb88a227025dda02a09c5f6780e468f (patch)
tree87baf6bfa384a04b6903df1100a827250df78615 /kernel/gsp_phys_booter.h
parent6b0673a21b1cb5493554c898181fe289355cadc0 (diff)
downloadopen-iov-c3fa877b2bb88a227025dda02a09c5f6780e468f.tar.gz
open-iov-c3fa877b2bb88a227025dda02a09c5f6780e468f.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