diff options
Diffstat (limited to 'src/focaccia/tools/validate_qemu.py')
| -rwxr-xr-x | src/focaccia/tools/validate_qemu.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/focaccia/tools/validate_qemu.py b/src/focaccia/tools/validate_qemu.py index 4b5160f..f1823b9 100755 --- a/src/focaccia/tools/validate_qemu.py +++ b/src/focaccia/tools/validate_qemu.py @@ -76,7 +76,7 @@ memory, and stepping forward by single instructions. type=str, choices=supported_architectures.keys(), help='Architecture of the emulated guest' - '(Only required when using --use-socket)') + '(Only required when using --use-socket or --benchmark-executioe)') prog.add_argument('--remote', type=str, help='The hostname:port pair at which to find a QEMU GDB server.') @@ -86,6 +86,12 @@ memory, and stepping forward by single instructions. help='GDB binary to invoke.') prog.add_argument('--deterministic-log', default=None, help='The directory containing rr traces') + prog.add_argument('--benchmark-execution-continue', default=False, action='store_true', + help="Benchmark QEMU's execution of binary without tracing (continue mode) (overrides other flags)") + prog.add_argument('--benchmark-execution-stepping', default=False, action='store_true', + help="Benchmark QEMU's execution of binary without tracing (stepping mode) (overrides other flags)") + prog.add_argument('--benchmark-trace-test', default=False, action='store_true', + help="Benchmark Focaccia's tracing and testing of QEMU") return prog def quoted(s: str) -> str: @@ -105,7 +111,7 @@ def main(): env = os.environ.copy() # Differentiate between the QEMU GDB server and QEMU plugin interfaces - if args.use_socket: + if args.use_socket and not args.benchmark_execution: if not args.guest_arch: argparser.error('--guest-arch is required when --use-socket is specified') |