summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 15:15:39 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 15:15:39 -0400
commit0e156a330ca60ef99895deb237ef79fea92d9db1 (patch)
tree2a4b8c9cc6f54d4c45b81c8a37762f68ee8709f4
parent6aeb72dd60aec44325d293963156f6c90f7de9f0 (diff)
downloadopen-iov-0e156a330ca60ef99895deb237ef79fea92d9db1.tar.gz
open-iov-0e156a330ca60ef99895deb237ef79fea92d9db1.zip
vgsp: m107 - debug the bank-4 injection path: launch-opts print + unconditional inject
m106's bank-4 injection silently did not fire although the insmod args carried mail_patch=1 and the stage-3 data pool installed. Print the getter values at launch and log the injection entry (w0/w1/mail.pages/pt31.pages), then inject unconditionally when bank-4 is processed so the pool-backed mail page (window 31) is exercised either way.
-rw-r--r--kernel/gsp_phys_booter.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c
index ef192be..7254f24 100644
--- a/kernel/gsp_phys_booter.c
+++ b/kernel/gsp_phys_booter.c
@@ -16632,7 +16632,12 @@ int gsp_phys_backend_guest_gr_submit(const struct gsp_phys_gr_submit *req,
gsp_phys_rmcall_gr_mail_patch_value()) {
u32 *w = (u32 *)sh_page;
- if (!w[0] && !w[1]) {
+ pr_info("vgsp-gr: bank4 inject entry: w0=%08x w1=%08x mail.pages=%u pt31.pages=%u\n",
+ w[0], w[1],
+ boot_stage.rmcall_gr_mail.pages,
+ boot_stage.rmcall_gr_data_pt
+ [GSP_PHYS_RMCALL_GR_DATA_WINS - 1].pages);
+ {
static const char mail[] =
"the little gpu man says you've got mail";
u64 mva = GSP_PHYS_RMCALL_VA_GR_DATA_BASE +
@@ -17045,6 +17050,11 @@ gr_page_unmapped:
goto out;
}
+ pr_info("vgsp-gr: launch opts: mail_patch=%d data_prewin=%d pte_kind=%d ptr_guest=%d\n",
+ gsp_phys_rmcall_gr_mail_patch_value(),
+ gsp_phys_rmcall_gr_data_prewin_value(),
+ gsp_phys_rmcall_gr_pte_kind_value(),
+ gsp_phys_rmcall_gr_ptr_guest_value());
{
struct gsp_phys_boot_chunk *inst_c =
&boot_stage.rmcall_chunks[GSP_PHYS_RMCALL_BUF_INSTANCE];