diff options
| -rw-r--r-- | kernel/gsp_phys_booter.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index e2c2989..2267702 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -17827,6 +17827,7 @@ gr_page_unmapped: */ if (req->n_data && boot_stage.rmcall_gr_bounce.pages) { u32 wbi, wrote = 0, changed = 0; + u32 chg[8] = { }; for (wbi = 0; wbi < req->n_data; wbi++) { u32 bi = (u32)((req->data[wbi].reloc_va - @@ -17842,14 +17843,23 @@ gr_page_unmapped: &boot_stage.rmcall_gr_bounce, bi); for (ci = 0; ci < GSP_PHYS_PAGE_SIZE; ci += 4) csum += get_unaligned_le32(src + ci); - if (csum != bounce_csum_in[bi]) + if (csum != bounce_csum_in[bi]) { + /* + * m142: which pages the engine touched. The + * indexes name the relocated VA (bi page of + * 0x110000); a c-range write is bi >= 0x40. + */ + if (changed < 8) + chg[changed] = bi; changed++; + } memcpy((u8 *)__va(req->data[wbi].hpa), src, GSP_PHYS_PAGE_SIZE); wrote++; } - pr_info("vgsp-gr: bounce copy-out: %u pages written back, %u changed by engine\n", - wrote, changed); + pr_info("vgsp-gr: bounce copy-out: %u pages written back, %u changed by engine (first bi: %u %u %u %u %u %u %u %u)\n", + wrote, changed, chg[0], chg[1], chg[2], chg[3], chg[4], + chg[5], chg[6], chg[7]); } poll = w1; if (bar0) |
