summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_emulation.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_emulation.h')
-rw-r--r--kernel/gsp_emulation.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/gsp_emulation.h b/kernel/gsp_emulation.h
index 12bce63..53560e9 100644
--- a/kernel/gsp_emulation.h
+++ b/kernel/gsp_emulation.h
@@ -34,6 +34,12 @@
#define GSP_EMU_POLL_SLEEP_MIN_US 50
#define GSP_EMU_POLL_SLEEP_MAX_US 100
+/* GSP falcon boot-watch: registers polled for change logging so the guest's
+ * physical GSP boot sequence is visible on the host (guest BAR0 access is
+ * mmap-based and otherwise invisible). Offsets are BAR0-relative, GSP falcon
+ * block at 0x110000. */
+#define GSP_EMU_FALCON_WATCH_COUNT 17
+
/* ============================================================
* GSP Emulation Context
* ============================================================ */
@@ -63,6 +69,15 @@ struct gsp_emu_context {
/* MSI-X injection */
struct eventfd_ctx *msix_trigger[NV_VGPU_MAX_IRQS];
+
+ /* Falcon boot-watch: last-sampled values for change detection */
+ u32 falcon_watch_last[GSP_EMU_FALCON_WATCH_COUNT];
+ bool falcon_watch_valid;
+
+ /* Physical GSP boot emulation state (gsp_emu_poll_boot) */
+ u32 boot_stage; /* enum gsp_emu_boot_stage */
+ u32 flcn_kick_count; /* STARTCPU kicks seen since last ENGINE reset */
+ u32 wpr2_addr_lo; /* WPR2_ADDR_LO value to report after FWSEC */
};
/* ============================================================