summaryrefslogtreecommitdiff
path: root/sim/sim.py
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-12-11 23:00:37 -0600
committerAlejandro Soto <alejandro@34project.org>2022-12-16 16:29:10 -0600
commit0284628a47d5b4797c89f6846b9efee3f1243b94 (patch)
treef287cb931e7bba24a7953eacaf2769d0a80cf789 /sim/sim.py
parentd006be2e89aa493237f212811ee880ed8b54241b (diff)
Implement register writes from gdb
Diffstat (limited to 'sim/sim.py')
-rwxr-xr-xsim/sim.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/sim/sim.py b/sim/sim.py
index b4e0882..448c39f 100755
--- a/sim/sim.py
+++ b/sim/sim.py
@@ -73,6 +73,14 @@ all_regs = [
regs = {}
read_reg = lambda r: regs.setdefault(r, 0)
+def write_reg(reg, value):
+ assert halted
+
+ value = unsigned(value)
+ regs[reg] = value
+
+ print('patch-reg', value, reg, file=sim_end, flush=True)
+
dumped = []
halted = False
@@ -278,6 +286,7 @@ module = importlib.util.module_from_spec(spec)
prelude = {
'read_reg': read_reg,
+ 'write_reg': write_reg,
'read_mem': read_mem,
'write_mem': write_mem,
'assert_reg': assert_reg,