From bed5106efc18e94b425177a1758c7e972421ccd8 Mon Sep 17 00:00:00 2001 From: Alessandro Comodi Date: Mon, 18 Jan 2021 14:33:38 +0100 Subject: [PATCH] 005-tilegrid: allow auto-alignment of frame Signed-off-by: Alessandro Comodi --- fuzzers/005-tilegrid/add_tdb.py | 6 ++++++ fuzzers/005-tilegrid/fuzzaddr/generate.py | 8 ++++++++ fuzzers/005-tilegrid/gtp_common/Makefile | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/fuzzers/005-tilegrid/add_tdb.py b/fuzzers/005-tilegrid/add_tdb.py index b465be49..8f611801 100644 --- a/fuzzers/005-tilegrid/add_tdb.py +++ b/fuzzers/005-tilegrid/add_tdb.py @@ -56,7 +56,13 @@ def load_db(fn): tparts = tagstr.split('.') tile = tparts[0] + for part in tparts[1:]: + # Auto align the frame address to the next lowest multiple of 0x80. + if part == 'AUTO_FRAME': + frame -= (frame % 0x80) + continue + k, v = part.split(':') if k == "DFRAME": frame -= int(v, 16) diff --git a/fuzzers/005-tilegrid/fuzzaddr/generate.py b/fuzzers/005-tilegrid/fuzzaddr/generate.py index 83b9739f..7c99eadd 100644 --- a/fuzzers/005-tilegrid/fuzzaddr/generate.py +++ b/fuzzers/005-tilegrid/fuzzaddr/generate.py @@ -18,6 +18,7 @@ def run( fnout, oneval, dframe, + auto_frame, dword, dbit, multi=False, @@ -30,6 +31,8 @@ def run( metastr += ".DFRAME:%02x" % dframe if multi: metastr += ".MULTI" + if auto_frame: + metastr += ".AUTO_FRAME" tags = dict() f = open(design_fn, 'r') @@ -66,6 +69,10 @@ def main(): required=False, default="", help="Reference frame delta (base 16)") + parser.add_argument( + "--auto-frame", + action='store_true', + help="Auto align frame address to next lowest multiple of 0x80") parser.add_argument( "--dword", type=str, @@ -85,6 +92,7 @@ def main(): args.fnout, args.oneval, None if args.dframe == "" else int(args.dframe, 16), + args.auto_frame, int(args.dword, 10), None if args.dbit == "" else int(args.dbit, 10), multi=args.multi, diff --git a/fuzzers/005-tilegrid/gtp_common/Makefile b/fuzzers/005-tilegrid/gtp_common/Makefile index 87700bb2..aa14c057 100644 --- a/fuzzers/005-tilegrid/gtp_common/Makefile +++ b/fuzzers/005-tilegrid/gtp_common/Makefile @@ -6,5 +6,5 @@ # # SPDX-License-Identifier: ISC N ?= 8 -GENERATE_ARGS?="--oneval 0 --design params.csv --dframe 1d --dword 45 --dbit 3" +GENERATE_ARGS?="--oneval 0 --design params.csv --dword 45 --dbit 3 --auto-frame" include ../fuzzaddr/common.mk