From 32b551d43781dc7b8ac4587ca2ba1554b0cbd5e5 Mon Sep 17 00:00:00 2001 From: Arthur Hanson Rasmusson Date: Sat, 3 Oct 2026 14:05:38 -0400 Subject: vgsp: host CUDA bridge + sema release recovery; greeneye simulator wave - kernel: gsp_cuda_bridge (QMD launch capture, debugfs job/out/done, param+output resolution cached from inline writes), sema drain fixes (never hold/starve a channel), GR ring autopin + counter autoreg, per-page push reads, counter-derive gate; module builds clean - tools/cuda-bridge: CUDA driver-API daemon executing mail/vadd kernels on the physical GPU, CUBB2/CBD2 v2 protocol, layout check + self-tests - tools/guest-diag + tools/cuda-ab: scanner/pin fixes, victory push-only mode - debug/risc-v-gsp-rm-vm: Phase S simulator wave (GSP device model, boot ladder, triage/re-demo harnesses, docs 30-41), GPGPU-sim scaffolding - STATE-CURRENT/docs updates --- .../gsp-fwimage-570.144/scripts/MemCheck.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tools/ghidra/gsp-fwimage-570.144/scripts/MemCheck.java (limited to 'tools/ghidra/gsp-fwimage-570.144/scripts/MemCheck.java') diff --git a/tools/ghidra/gsp-fwimage-570.144/scripts/MemCheck.java b/tools/ghidra/gsp-fwimage-570.144/scripts/MemCheck.java new file mode 100644 index 0000000..6cb573e --- /dev/null +++ b/tools/ghidra/gsp-fwimage-570.144/scripts/MemCheck.java @@ -0,0 +1,26 @@ +import ghidra.app.script.GhidraScript; +import ghidra.program.model.address.Address; +import ghidra.program.model.listing.Instruction; +import ghidra.program.model.listing.Listing; +import ghidra.program.model.mem.Memory; + +public class MemCheck extends GhidraScript { + @Override + protected void run() throws Exception { + String[] args = getScriptArgs(); + Memory mem = currentProgram.getMemory(); + println("min=" + mem.getMinAddress() + " max=" + mem.getMaxAddress()); + for (String arg : args) { + Address a = toAddr(arg.trim()); + boolean c = mem.contains(a); + println(arg + " contains=" + c); + if (c) { + byte[] b = new byte[16]; + int n = mem.getBytes(a, b); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < n; i++) sb.append(String.format("%02x ", b[i])); + println(" bytes: " + sb); + } + } + } +} -- cgit v1.2.3