summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-03 14:05:38 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-03 14:05:38 -0400
commitcc79b478843f0230fe6aa8ecd822de7ba71c891e (patch)
tree5de760ddec4e45cc23d39ce7502635f5c0711217 /debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
parent40351167dd209012ab485e6164ce94f0b8965422 (diff)
downloadopen-iov-cc79b478843f0230fe6aa8ecd822de7ba71c891e.tar.gz
open-iov-cc79b478843f0230fe6aa8ecd822de7ba71c891e.zip
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
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py')
-rw-r--r--debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py b/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
index a2d2c6a..852536e 100644
--- a/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
+++ b/debug/risc-v-gsp-rm-vm/greeneye/sim_backend.py
@@ -313,6 +313,7 @@ def launch_native(
*,
kernel: str | None = None,
memory_mb: int = 256,
+ ram_base: int = 0x80000000,
record=None,
symbols: SymbolDB | None = None,
name: str = "session",
@@ -324,6 +325,7 @@ def launch_native(
unknown_mmio: str = "fault",
learn_mmio: bool = False,
bias: int = 0,
+ cycle_model=None,
) -> Session:
"""Boot the native simulator and return a ready Session.
@@ -340,6 +342,11 @@ def launch_native(
``learn_mmio=True`` writes the observed values back into the map.
``bias`` relocates PT_LOAD segments and the entry for images linked for
GPU physical addresses (e.g. ``0x80000000`` for the real GSP fwimage).
+
+ ``cycle_model`` selects the modeled instruction-class cycle accounting
+ (:mod:`sim.cycles`): ``None`` (default) uses the default table, ``False``
+ disables it (``machine.cycles`` stays 0), or pass a ``CycleModel``. The
+ model never changes execution.
"""
try:
tracer = make_trace(trace)
@@ -353,14 +360,17 @@ def launch_native(
device_map = DeviceMap.load(os.fspath(device_map))
machine = Machine(
memory_mb=memory_mb,
+ ram_base=ram_base,
device_map=device_map,
unknown_mmio=unknown_mmio,
learn_mmio=learn_mmio,
bias=bias,
+ cycle_model=cycle_model,
)
target = SimTarget(
machine,
memory_mb=memory_mb,
+ ram_base=ram_base,
sim_ips=sim_ips,
keep_alive=keep_alive,
trace=tracer,