diff options
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md')
| -rw-r--r-- | debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md b/debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md index 2f99f7b..a842368 100644 --- a/debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md +++ b/debug/risc-v-gsp-rm-vm/docs/16-CUSTOM-SIMULATOR.md @@ -4,10 +4,10 @@ ## 1. Purpose and status -This document is the design and delivery plan for a green-eye-native execution +This document is the design and delivery plan for a risc-v-gsp-rm-debugger-native execution backend: a small deterministic RISC-V machine (`libgreenmachine`) implementing the same `Session` contract as today's QEMU backend. It expands -`GREEN-EYE-ROADMAP.md` §H3 (H3.1–H3.4) and the §H6 soft-processor annex. +`RISC-V-GSP-RM-DEBUGGER-ROADMAP.md` §H3 (H3.1–H3.4) and the §H6 soft-processor annex. **Beyond M1.5 (§1.1), nothing here exists yet.** The only production backend is `QemuTarget` + `RspClient` (`greeneye/target.py`, `greeneye/rsp.py`); M2+ of @@ -93,13 +93,13 @@ plugin and without leaving the process: ### 1.2 Usage ```bash -./greeneye.sh demo --backend native # the canned demo, native backend -./greeneye.sh run examples/scripts/trace_rpc.py --backend native -printf 'bp rpc_sum\nc 0.2\nquit\n' | ./greeneye.sh attach --backend native -./greeneye.sh record --backend native --trace --duration 0.5 -./greeneye.sh record --backend native --trace --trace-exec off \ +./risc-v-gsp-rm-debugger.sh demo --backend native # the canned demo, native backend +./risc-v-gsp-rm-debugger.sh run examples/scripts/trace_rpc.py --backend native +printf 'bp rpc_sum\nc 0.2\nquit\n' | ./risc-v-gsp-rm-debugger.sh attach --backend native +./risc-v-gsp-rm-debugger.sh record --backend native --trace --duration 0.5 +./risc-v-gsp-rm-debugger.sh record --backend native --trace --trace-exec off \ --trace-start 0x80000000 --trace-end 0x80010000 -./greeneye.sh analyze dumps/<stamp>-record # renders the trace coverage section +./risc-v-gsp-rm-debugger.sh analyze dumps/<stamp>-record # renders the trace coverage section python3 examples/scripts/sim_bench.py --trace # throughput + trace overhead python3 examples/scripts/sim_diff.py # QEMU/native profile diff ``` @@ -126,7 +126,7 @@ QEMU is an excellent execution engine and a poor *workflow* engine here. The limits below are consequences of QEMU being a whole-board emulator with a GDB stub as its scriptable surface; each maps to a §H3.1 requirement. -| QEMU property | Consequence for green-eye | Requirement it forces | +| QEMU property | Consequence for risc-v-gsp-rm-debugger | Requirement it forces | |---|---|---| | RSP serialises every access (hex frame, TCP round-trip, `PacketSize` chunking) | register/memory polling and watchpoint step-over are transport-bound; full-access tracing is impractical | in-process backend ABI with direct memory/register calls | | No cheap machine snapshots; `savevm` is board-level and not exposed over the stub | region snapshots are copied over RSP; no instant checkpoint exists | copy-on-write full-machine snapshot/restore | @@ -185,7 +185,7 @@ The control plane is unchanged: `Session`, hooks, watchpoints, `Memory`, bridge sit above a backend interface. The §H3.2 sketch becomes: ``` -+-------------------- green-eye Python control plane --------------------+ ++-------------------- risc-v-gsp-rm-debugger Python control plane --------------------+ | Session API, hooks/watchpoints, recorder, plugins, Ghidra/agent bridge | +---------------------------- Backend interface -------------------------+ | QEMU-RSP backend (today) | native backend (planned) |
