diff --git a/fuzzers/005-tilegrid/generate.py b/fuzzers/005-tilegrid/generate.py index 76d6b39c..4f5e5235 100644 --- a/fuzzers/005-tilegrid/generate.py +++ b/fuzzers/005-tilegrid/generate.py @@ -226,11 +226,14 @@ for segment_name in database["segments"].keys(): # print(tile_type, offset) assert False -database = database["tiles"] -for tiledata in database.values(): +for tiledata in database['tiles'].values(): if "segment" in tiledata: - del tiledata["segment"] + segment = tiledata['segment'] + tiledata['frame'] = database['segments'][segment]['frames'] + tiledata['words'] = database['segments'][segment]['words'] + +database = database["tiles"] ####################################### # Write diff --git a/fuzzers/074-dump_all/generate_after_dump.sh b/fuzzers/074-dump_all/generate_after_dump.sh index bf615774..064a38c6 100755 --- a/fuzzers/074-dump_all/generate_after_dump.sh +++ b/fuzzers/074-dump_all/generate_after_dump.sh @@ -18,5 +18,5 @@ if [ -f $BASE_TILEGRID ]; then mv output/tilegrid.json output/tilegrid_full.json.tmp python3 ../../utils/merge_tilegrid.py \ --base_grid $BASE_TILEGRID \ - --overlay_grid output/tilegrid_full.json.tmp \ + --overlay_grid output/tilegrid_full.json.tm \ --output_grid output/tilegrid.json diff --git a/tools/fasm2frame.py b/tools/fasm2frame.py index 849e7906..44943503 100755 --- a/tools/fasm2frame.py +++ b/tools/fasm2frame.py @@ -157,7 +157,23 @@ def run(f_in, f_out, sparse=False, debug=False): with open("%s/%s/tilegrid.json" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE")), "r") as f: - grid = json.load(f) + new_grid = json.load(f) + + grid = { + 'tiles': new_grid, + 'segments': {} + } + + for tile in grid['tiles'].values(): + if 'segment' in tile: + segment = tile['segment'] + grid['segments'][segment] = { + 'baseaddr': [ + tile['baseaddr'], tile['offset'], + ], + 'frames': tile['frames'], + 'words': tile['words'], + } if not sparse: # Initiaize bitstream to 0 diff --git a/utils/segprint.py b/utils/segprint.py index e464fa7b..5c4c233d 100755 --- a/utils/segprint.py +++ b/utils/segprint.py @@ -48,7 +48,23 @@ for o, a in opts: with open("%s/%s/tilegrid.json" % (os.getenv("XRAY_DATABASE_DIR"), os.getenv("XRAY_DATABASE")), "r") as f: - grid = json.load(f) + new_grid = json.load(f) + +grid = { + 'tiles': new_grid, + 'segments': {} +} + +for tile in grid['tiles'].values(): + if 'segment' in tile: + segment = tile['segment'] + grid['segments'][segment] = { + 'baseaddr': [ + tile['baseaddr'], tile['offset'], + ], + 'frames': tile['frames'], + 'words': tile['words'], + } bitdata = dict()