From 695e49dad04ed1133bf8de1d31773479115fac32 Mon Sep 17 00:00:00 2001 From: wfjm Date: Sat, 19 Nov 2022 08:40:50 +0100 Subject: [PATCH] tmuconv: add -t_ru06 and -t_flow [skip ci] --- doc/CHANGELOG.md | 3 +++ tools/bin/tmuconv | 23 +++++++++++++++++------ tools/man/man1/tmuconv.1 | 12 ++++++++++-- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 62b95628..0df08c9c 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -29,6 +29,9 @@ The full set of tests is only run for tagged releases. ### Summary ### New features ### Changes +- tools changes + - tools/bin + - tmuconv: add -t_ru06 and -t_flow - general changes - rename _gpr to _gr, use 'general registers' not 'general purpose registers' ### Bug Fixes diff --git a/tools/bin/tmuconv b/tools/bin/tmuconv index 6941b267..4b740107 100755 --- a/tools/bin/tmuconv +++ b/tools/bin/tmuconv @@ -1,10 +1,11 @@ #!/usr/bin/perl -w -# $Id: tmuconv 1310 2022-10-27 16:15:50Z mueller $ +# $Id: tmuconv 1316 2022-11-18 15:26:40Z mueller $ # SPDX-License-Identifier: GPL-3.0-or-later # Copyright 2008-2022 by Walter F.J. Mueller # # Revision History: # Date Rev Version Comment +# 2022-11-18 1316 1.1.10 add -t_ru06 and -t_flow # 2022-10-25 1309 1.1.9 rename _gpr -> _gr # 2022-08-22 1283 1.1.8 print ru after em,ib, best for reg from mem cases # map r6,r7 to sp,pc for rdst,1reg,rsrc instructions @@ -90,7 +91,7 @@ use Getopt::Long; my %opts = (); GetOptions(\%opts, "help", "dump", "cdump", "emcancel", - "t_id", "t_ru", "t_em","t_vf", "t_ib", "t_all") + "t_id", "t_ru", "t_ru06", "t_em","t_vf", "t_ib", "t_flow", "t_all") or bailout("bad command options"); my @var_name; @@ -458,15 +459,20 @@ if ($opts{help}) { my $nopts = 0; # count options $nopts += 1 if $opts{dump}; $nopts += 1 if $opts{cdump}; +if ($opts{t_flow}) { # t_flow implies t_id,t_ru06,t_vf + $opts{t_id} = 1; + $opts{t_ru06} = 1; + $opts{t_vf} = 1; +} if ($opts{t_all}) { # t_all implies all t_* $opts{t_id} = 1; $opts{t_ru} = 1; $opts{t_em} = 1; - $opts{t_id} = 1; $opts{t_ib} = 1; } $nopts += 1 if $opts{t_id}; $nopts += 1 if $opts{t_ru}; +$nopts += 1 if $opts{t_ru06}; $nopts += 1 if $opts{t_em}; $nopts += 1 if $opts{t_vf}; $nopts += 1 if $opts{t_ib}; @@ -480,7 +486,7 @@ if ($nopts == 0) { # if no opts, assume t_id i_vf print "# cycle id pc psw ireg code nc\n" if $opts{t_id}; print "# cycle ru b sr data\n" - if $opts{t_ru}; + if $opts{t_ru} or $opts{t_ru06}; print "# cycle em d be addr wdat rdat crwh nc\n" if $opts{t_em} or $opts{t_vf}; print "# cycle ib cr rmbe addr wdat rdat a nc name\n" @@ -663,10 +669,10 @@ sub do_file { # 1694 id 002012 000340 010036 mov r0,@(sp)+ (8) -# handle t_ru +# handle t_ru and t_ru06 # uses cycles with dp_gr_we = '1' # - if ($opts{t_ru}) { + if ($opts{t_ru} or $opts{t_ru06}) { if ($val_curr[$ind_dp_gr_we]) { my $adst = $val_curr[$ind_dp_gr_adst]; my $mode = $val_curr[$ind_dp_gr_mode]; @@ -698,6 +704,9 @@ sub do_file { } $ru_str .= sprintf " r%o%o", $rset, $adst; } + if ($opts{t_ru06} and not $opts{t_ru}) { # only r_ru06 + $ru_str = "" if $adst eq "7"; + } } } # if t_ru # @@ -1002,8 +1011,10 @@ sub print_help { print " --emcancel show em 'cancel' cycles when --t_ib active\n"; print " --t_id trace instruction decodes\n"; print " --t_ru trace register updates\n"; + print " --t_ru06 trace register updates for r0-r5 and sp\n"; print " --t_em trace em transactions\n"; print " --t_vf trace only vector fetch em transactions\n"; print " --t_ib trace ib transactions\n"; + print " --t_flow trace id,ru06, and vf transactions\n"; print " --t_all trace id,ru,em, and ib transactions\n"; } diff --git a/tools/man/man1/tmuconv.1 b/tools/man/man1/tmuconv.1 index cb5e3dc0..405cf3fd 100644 --- a/tools/man/man1/tmuconv.1 +++ b/tools/man/man1/tmuconv.1 @@ -1,11 +1,11 @@ .\" -*- nroff -*- -.\" $Id: tmuconv.1 1261 2022-07-23 16:15:03Z mueller $ +.\" $Id: tmuconv.1 1316 2022-11-18 15:26:40Z mueller $ .\" SPDX-License-Identifier: GPL-3.0-or-later .\" Copyright 2013-2022 by Walter F.J. Mueller .\" .\" ------------------------------------------------------------------ . -.TH TMUCONV 1 2022-07-18 "Retro Project" "Retro Project Manual" +.TH TMUCONV 1 2022-11-18 "Retro Project" "Retro Project Manual" .\" ------------------------------------------------------------------ .SH NAME tmuconv \- convert w11a tmu output into human readable format @@ -50,6 +50,10 @@ trace instruction decodes. trace register updates. . .\" ---------------------------------------------- +.IP "\fB\-t_ru06\fR" +trace register updates for r0-r5 and sp (subset of \fB\-t_ru\fR) +. +.\" ---------------------------------------------- .IP "\fB\-t_em\fR" trace em transactions (external memory bus). em transactions that converted to an ib transaction are labeled 'cancel'. @@ -73,6 +77,10 @@ trace ib transactions (ibus cycles). em 'cancel' transactions are not shown unless the \fB\-emcancel\fR option is given. . .\" ---------------------------------------------- +.IP "\fB\-t_flow\fR" +trace flow, equivalent to \fB\-t_id\fR \fB\-t_ru06\fR \fB\-t_vf\fR +. +.\" ---------------------------------------------- .IP "\fB\-t_all\fR" trace all, equivalent to \fB\-t_id\fR \fB\-t_ru\fR \fB\-t_em\fR \fB\-t_ib\fR .