@@ -176,6 +176,9 @@ def run_bindiff(
176176 trace_table = bindiff_spec .get ("trace_table" , "dmem" )
177177 trace_kind = bindiff_spec .get ("trace_kind" , "all" )
178178 trace_address = bindiff_spec .get ("trace_address" )
179+ cluster_id = bindiff_spec .get ("cluster_id" )
180+ core_id = bindiff_spec .get ("core_id" )
181+ warp = bindiff_spec .get ("warp" )
179182
180183 if not isinstance (golden_rel , str ) or not golden_rel :
181184 return ("fail" , "bindiff manifest missing golden_bin" , None )
@@ -185,6 +188,12 @@ def run_bindiff(
185188 return ("fail" , "bindiff manifest has invalid trace_kind" , None )
186189 if trace_address is not None and not isinstance (trace_address , str ):
187190 return ("fail" , "bindiff manifest has invalid trace_address" , None )
191+ if cluster_id is not None and not isinstance (cluster_id , int ):
192+ return ("fail" , "bindiff manifest has invalid cluster_id" , None )
193+ if core_id is not None and not isinstance (core_id , int ):
194+ return ("fail" , "bindiff manifest has invalid core_id" , None )
195+ if warp is not None and not isinstance (warp , int ):
196+ return ("fail" , "bindiff manifest has invalid warp" , None )
188197
189198 sqlite_path = sim_dir / f"{ elf .name } .sqlite"
190199 golden_bin = chipyard_dir / golden_rel
@@ -219,6 +228,12 @@ def run_bindiff(
219228 ]
220229 if trace_address is not None :
221230 trace_cmd .extend (["--address" , trace_address ])
231+ if cluster_id is not None :
232+ trace_cmd .extend (["--cluster" , str (cluster_id )])
233+ if core_id is not None :
234+ trace_cmd .extend (["--core" , str (core_id )])
235+ if warp is not None :
236+ trace_cmd .extend (["--warp" , str (warp )])
222237
223238 bindiff_cmd = [
224239 sys .executable ,
0 commit comments