summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/gsp_emulation.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/kernel/gsp_emulation.c b/kernel/gsp_emulation.c
index 969d4fd..833ce42 100644
--- a/kernel/gsp_emulation.c
+++ b/kernel/gsp_emulation.c
@@ -305,15 +305,24 @@ static void gsp_emu_poll_boot(struct gsp_emu_context *ctx)
}
}
- /* Temporary: watch the PCFG link-caps mirror for guest writes */
+ /* Temporary: watch PCFG / link-cap mirror offsets for guest writes */
{
- static u32 last_linkcap;
- u32 v = gsp_emu_shadow_read32(ctx, 0x88084);
+ static const u32 watch[] = {
+ 0x000004, 0x000084, 0x880000, 0x880004, 0x880080,
+ 0x880084, 0x880088, 0x88008c, 0xb80084, 0xb88084,
+ 0xc08084,
+ };
+ static u32 last[ARRAY_SIZE(watch)];
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(watch); i++) {
+ u32 v = gsp_emu_shadow_read32(ctx, watch[i]);
- if (v != last_linkcap) {
- nv_vgpu_info(ctx->vgpu, "GSP-BOOT: PCFG[0x88084] = 0x%x (was 0x%x)",
- v, last_linkcap);
- last_linkcap = v;
+ if (v != last[i]) {
+ nv_vgpu_info(ctx->vgpu, "GSP-BOOT: PCFG[0x%x] = 0x%x (was 0x%x)",
+ watch[i], v, last[i]);
+ last[i] = v;
+ }
}
}