summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_sema_service.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_sema_service.h')
-rw-r--r--kernel/gsp_sema_service.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.h b/kernel/gsp_sema_service.h
index ff3d088..8fec320 100644
--- a/kernel/gsp_sema_service.h
+++ b/kernel/gsp_sema_service.h
@@ -549,6 +549,17 @@ const u32 *gsp_sema_surf_prelude_get(u32 *n, u32 *gen);
bool gsp_sema_surf_va_get(u64 *va, u32 *npages);
/*
+ * SESSION 154 r1510: quarantine the guest code-heap/shader upload that can
+ * overlap the captured X screen (BAR1 mmap writes the emulator cannot
+ * trap). The surface capture snapshots the screen; a later launch whose
+ * screen page 0 carries the code signature restores the surface from that
+ * snapshot before the engine runs (the baseline stays armed so a later
+ * client context's upload is caught too). Returns the pages restored (0
+ * when there is no pollution or no baseline).
+ */
+int gsp_sema_surf_clean_restore(u64 va, u64 npages);
+
+/*
* SESSION 153-CONTINUED-63: the fill's completed render-target tracking run
* (base VA + page count), true only when every page of the surface resolved
* into contiguous data recs this pass. The booter prefers these recs over