diff options
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.py | 10 |
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, |
