summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 12:37:42 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-07 12:37:42 -0400
commit9200f35a11df0c021c08f55fbc04e08ac7c702a6 (patch)
tree5b4318ab6c2eb3619992a955480a31c5403aa015 /tools
parent98d204a990148e08dbbf99f356b11ab377e0fdf2 (diff)
downloadopen-iov-9200f35a11df0c021c08f55fbc04e08ac7c702a6.tar.gz
open-iov-9200f35a11df0c021c08f55fbc04e08ac7c702a6.zip
vgsp/gr-regs: per-GPC exception + activity + GPCMMU ESR readback
PGRAPH_EXCEPTION bit24 (GPC) with EXCEPTION1 GPC1:0=0b11 fires at every forwarded QMD activation and the engine then saves/unloads. The per-GPC PRI window (BAR0 0x500000 + gpc*0x8000) carries NV_PGPC_PRI_GPCCS_GPC_EXCEPTION (0x2c90: PROP/ZCULL/GCC/SETUP/PES/TPC/GPCMMU0/GPCCS bits), GPC_ACTIVITY1.GPCMMU0 (0x2c84: FAULTED=6) and the GPCMMU GLOBAL_ESR (0x324): the post-mortem and the external sampler now record them to name the failing GPC sub-unit (or the GPC MMU).
Diffstat (limited to 'tools')
-rw-r--r--tools/gr-regs/reg_sampler.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/gr-regs/reg_sampler.py b/tools/gr-regs/reg_sampler.py
index 25879ef..e66a299 100644
--- a/tools/gr-regs/reg_sampler.py
+++ b/tools/gr-regs/reg_sampler.py
@@ -36,6 +36,13 @@ REGS = [
(0x400118, "PGRAPH_EXCEPTION1"),
(0x40011C, "PGRAPH_EXCEPTION2"),
(0x40013C, "PGRAPH_INTR_EN"),
+ (0x502C90, "GPC0_EXCEPTION"),
+ (0x502C84, "GPC0_ACTIVITY1"),
+ (0x50AC90, "GPC1_EXCEPTION"),
+ (0x512C90, "GPC2_EXCEPTION"),
+ (0x51AC90, "GPC3_EXCEPTION"),
+ (0x522C90, "GPC4_EXCEPTION"),
+ (0x52AC90, "GPC5_EXCEPTION"),
(0x400700, "PGRAPH_STATUS"),
(0x400504, "GRFIFO_STATUS"),
(0x400704, "TRAPPED_ADDR"),