diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 11:44:31 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-02 11:44:31 -0400 |
| commit | 1c99bfbeffff04529f6f669601fdf835a73778da (patch) | |
| tree | 5867bab46e5848541df36c703f6fd8d6d0256e54 /debug/risc-v-gsp-rm-vm/harness/value_demos | |
| parent | 2fd653044127a665e4677a2cdfb58120d7b3e16b (diff) | |
| download | open-iov-1c99bfbeffff04529f6f669601fdf835a73778da.tar.gz open-iov-1c99bfbeffff04529f6f669601fdf835a73778da.zip | |
rename (cosmetic): green-eye -> risc-v-gsp-rm-debugger in user-facing names, docs, CLI, launcher and CI workflow; internal greeneye package/module identifiers unchanged (includes in-flight greeneye module edits present in the tree)
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/harness/value_demos')
7 files changed, 14 insertions, 14 deletions
diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/README.md b/debug/risc-v-gsp-rm-vm/harness/value_demos/README.md index e1a450c..96ce4d9 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/README.md +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/README.md @@ -1,19 +1,19 @@ -# green-eye value-validation demos +# risc-v-gsp-rm-debugger value-validation demos -Runnable demonstrations that tie green-eye tool capabilities to **real** +Runnable demonstrations that tie risc-v-gsp-rm-debugger tool capabilities to **real** Open-IOV scenarios (cited from `Handoff-vGPU-IO.md` and the project docs) and measure the time-to-value against the static/Ghidra-only baseline. Each demo: * names the real scenario (handoff PART/addendum + date) and what it cost; -* prints the question, the green-eye commands used, the answer, the evidence +* prints the question, the risc-v-gsp-rm-debugger commands used, the answer, the evidence artifact and the elapsed wall-clock; * writes a machine-readable `result.json` under `artifacts/<demo>/`; * labels what is **measured on the analog** vs **projected for the real case**; device-model-blocked scenarios say so explicitly. -> green-eye is development-only tooling (docs/00); these demos never touch +> risc-v-gsp-rm-debugger is development-only tooling (docs/00); these demos never touch > hardware, a guest or a kernel module. The real `.fwimage` cannot boot > without the H2 device model (docs/06 §3), so every demo is honest about > being a *shape* reproduction on the bundled `uproc_demo` firmware + native @@ -58,7 +58,7 @@ per-demo timeout and the full suite runs in ~18 s on the reference host | s09 | `s09_grabbing_a_ghidra_address.py` | static/dynamic join; GPFIFO GET fault `0x40000` vs `0x101000` (PART 91 ADDENDUM 9 cycle 24) | hypothesis unproven until the decoded status-queue fault (8 cycles) | Ghidra addr + bias = runtime; hook hit + `greeneye_hits.tsv` (0.72 s) | | s10 | `s10_full_session_evidence.py` | evidence pack for a milestone (docs/14 §6; cycles 11–13, 2026-10-01) | hashes/sessions/logs/compare gathered by hand per cycle | one run → analyze + compare + hits + manifest + M1–M6 (4.92 s) | -Times are the measured green-eye path on the reference host (native for +Times are the measured risc-v-gsp-rm-debugger path on the reference host (native for s01–s08, QEMU for s09/s10); see `artifacts/results.json` for a fresh run. ## Projected vs measured diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/__init__.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/__init__.py index 87cabe7..727f0c0 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/__init__.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/__init__.py @@ -1 +1 @@ -"""green-eye value-validation demos (see docs/25-VALUE-VALIDATION.md).""" +"""risc-v-gsp-rm-debugger value-validation demos (see docs/25-VALUE-VALIDATION.md).""" diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/_common.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/_common.py index f70ef1f..0733c48 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/_common.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/_common.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 -"""Shared plumbing for the green-eye value-validation demos. +"""Shared plumbing for the risc-v-gsp-rm-debugger value-validation demos. Every demo maps one *real* Open-IOV scenario (cited from the handoffs) onto a runnable demonstration on the bundled demo firmware / native RV64 simulator, -prints the question, the green-eye commands, the answer, the evidence artifact +prints the question, the risc-v-gsp-rm-debugger commands, the answer, the evidence artifact and the measured wall-clock, and emits one machine-readable ``RESULT_JSON`` line so ``run_all.py`` can aggregate. diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/s05_snapshot_diff.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/s05_snapshot_diff.py index fd89131..d6b6871 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/s05_snapshot_diff.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/s05_snapshot_diff.py @@ -83,7 +83,7 @@ def run() -> dict: ctrl = session.symbols.lookup("gsp_ctrl") session.run(duration=0.25) before = session.snapshot(ctrl, C.CTRL_SIZE, "before-echo") - message = b"hello-green-eye" + message = b"hello-risc-v-gsp-rm-debugger" # Locate the string literal in the loaded image so the stimulus is # self-describing (no hardcoded address). hits = session.memory.search(0x80000000, 0x2000, message) diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/s07_version_diff.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/s07_version_diff.py index e4748d7..eaad957 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/s07_version_diff.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/s07_version_diff.py @@ -29,8 +29,8 @@ except ImportError: #: addiw a1, a1, -0x111 (the 0xbeef PING key) -> -0x110 (0xbef0) ADDW_OLD = bytes.fromhex("9b85f5ee") ADDW_NEW = bytes.fromhex("9b8505ef") -STRING_OLD = b"hello-green-eye" -STRING_NEW = b"hello-green-eyf" +STRING_OLD = b"hello-risc-v-gsp-rm-debugger" +STRING_NEW = b"hello-risc-v-gsp-rm-debuggef" def _make_variant(src: str, dst: str) -> dict: @@ -89,7 +89,7 @@ def run() -> dict: "comparison; the pairing hypothesis took cycles 2 and 3 back-to-back" ), projection=( - "green-eye cannot boot the real image without the H2 device model; " + "risc-v-gsp-rm-debugger cannot boot the real image without the H2 device model; " "the same same-stimulus/compare-sessions loop runs on re-hosted " "firmware and the produced symbol/session deltas are the H4.1 artifact" ), diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/s08_mutation_triage.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/s08_mutation_triage.py index 8fcaed1..d961ee0 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/s08_mutation_triage.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/s08_mutation_triage.py @@ -39,7 +39,7 @@ def _probe(ge, mutation: dict, backend: str) -> dict: session.run(duration=0.15) literal = 0 if mutation.get("arg0") == "hello": - hits = session.memory.search(0x80000000, 0x2000, b"hello-green-eye") + hits = session.memory.search(0x80000000, 0x2000, b"hello-risc-v-gsp-rm-debugger") literal = hits[0] if hits else ctrl + C.CTRL_BUF before = session.memory.read_u64(ctrl + C.CTRL_RPC_COUNT) session.memory.write_u64(ctrl + C.CTRL_ARG0, literal if mutation.get("arg0") == "hello" else mutation.get("arg0", 0)) diff --git a/debug/risc-v-gsp-rm-vm/harness/value_demos/s09_grabbing_a_ghidra_address.py b/debug/risc-v-gsp-rm-vm/harness/value_demos/s09_grabbing_a_ghidra_address.py index 1577772..1d30b58 100644 --- a/debug/risc-v-gsp-rm-vm/harness/value_demos/s09_grabbing_a_ghidra_address.py +++ b/debug/risc-v-gsp-rm-vm/harness/value_demos/s09_grabbing_a_ghidra_address.py @@ -7,7 +7,7 @@ hypothesis (the GPFIFO GET encodes entry VA ``0x101000``) was only accepted after the decoded status-queue fault showed the engine actually fetched ``0x40000`` because the GET field dropped the high VA bits (fix ``6f9cbfa``). The static/dynamic join is exactly this: Ghidra owns addresses and -decompilation, green-eye answers "did it execute here". +decompilation, risc-v-gsp-rm-debugger answers "did it execute here". Analog: export a Ghidra-style ``names.tsv`` from the demo ELF *with a base offset* (the classic program-address vs runtime-address trap), load it with |
