summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/gsp_phys_booter.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c
index d7ee3e8..ecf95b6 100644
--- a/kernel/gsp_phys_booter.c
+++ b/kernel/gsp_phys_booter.c
@@ -1007,7 +1007,7 @@ bool gsp_phys_boot_requested(void)
* chain (DMA_UPDATE_PDE_2 pdeIndex=1) has never been proven engine-readable.
*/
#define GSP_PHYS_RMCALL_VA_GR_SHADOW0_BASE \
- (GSP_PHYS_RMCALL_VA_BASE + 8 * GSP_PHYS_PAGE_SIZE)
+ (GSP_PHYS_RMCALL_VA_BASE + 0x90000ULL)
#define GSP_PHYS_RMCALL_GR_SHADOW0_SLOTS 8u
/*
* m99: engine-tree branches for identity-mapping the forwarded kernel's
@@ -16925,6 +16925,12 @@ int gsp_phys_backend_guest_gr_submit(const struct gsp_phys_gr_submit *req,
ret = 0;
pr_info("vgsp-gr: qmd_word %u page copied to window-0 shadow VA=0x%llx (proven PT line)\n",
pg->qmd_word, sh_va);
+ if (pg->qmd_word == 32u)
+ pr_info("vgsp-gr: win0 param slot=%u dma=0x%llx w0x160=0x%llx w0x168=0x%llx\n",
+ boot_stage.rmcall_gr_shadow_win0_used - 1u,
+ (u64)gsp_phys_chunk_page_dma(&boot_stage.rmcall_gr_shadow_win0, boot_stage.rmcall_gr_shadow_win0_used - 1u),
+ (u64)get_unaligned_le64((u8 *)dst + 0x160u),
+ (u64)get_unaligned_le64((u8 *)dst + 0x168u));
}
} else {
ret = gsp_phys_rmcall_gr_map_shadow_locked(
@@ -17197,6 +17203,13 @@ gr_page_unmapped:
le64_to_cpu(pv[s + 2]), le64_to_cpu(pv[s + 3]),
le64_to_cpu(pv[s + 4]), le64_to_cpu(pv[s + 5]),
le64_to_cpu(pv[s + 6]), le64_to_cpu(pv[s + 7]));
+ for (s = 0x190; s < 0x1a0; s += 8)
+ pr_info("vgsp-gr: main PT[%03x..%03x]=%016llx %016llx %016llx %016llx %016llx %016llx %016llx %016llx\n",
+ s, s + 7,
+ le64_to_cpu(pv[s]), le64_to_cpu(pv[s + 1]),
+ le64_to_cpu(pv[s + 2]), le64_to_cpu(pv[s + 3]),
+ le64_to_cpu(pv[s + 4]), le64_to_cpu(pv[s + 5]),
+ le64_to_cpu(pv[s + 6]), le64_to_cpu(pv[s + 7]));
}
}