summaryrefslogtreecommitdiff
path: root/sim/sim.py
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2023-10-04 17:57:45 -0600
committerAlejandro Soto <alejandro@34project.org>2023-10-04 17:57:45 -0600
commit8741aef09939f7775cb66058c59cbc8e321f4372 (patch)
tree153681a1b5bae5609740cbb5b316a90ef6ccffa7 /sim/sim.py
parent8c747160256d1c79fb5ffbad60864e125afd9f20 (diff)
sim: implement flag overrides in environment
Diffstat (limited to 'sim/sim.py')
-rwxr-xr-xsim/sim.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/sim/sim.py b/sim/sim.py
index e1dbd41..4b3871e 100755
--- a/sim/sim.py
+++ b/sim/sim.py
@@ -214,6 +214,13 @@ def hexdump(base, memory):
def module_get(attr, default=None):
return getattr(module, attr, default) if module else None
+def module_or_env_bool(var):
+ value = os.getenv(var.upper())
+ if value is not None:
+ return bool(int(value))
+
+ return module_get(var, False)
+
COLOR_RESET = '\033[0m'
COLOR_RED = '\033[31;1m'
COLOR_GREEN = '\033[32m'
@@ -367,10 +374,10 @@ cycles = module_get('cycles', 1024)
if cycles is not None:
exec_args.extend(['--cycles', str(cycles)])
-if not module_get('enable_tty', False):
+if not module_or_env_bool('enable_tty'):
exec_args.append('--no-tty')
-if not module_get('enable_video', False):
+if not module_or_env_bool('enable_video'):
exec_args.append('--headless')
for rng in mem_dumps:
@@ -389,7 +396,7 @@ for addr, const in module_get('consts', {}).items():
for addr, filename in module_get('loads', {}).items():
exec_args.extend(['--load', f'{addr},{filename}'])
-if module_get('start_halted', False):
+if module_or_env_bool('start_halted'):
exec_args.append('--start-halted')
sim_end_sock, target_end = socket.socketpair()