From 1234d3f8ba8cb0ed558cfc68f680b364aafa4546 Mon Sep 17 00:00:00 2001 From: wfjm Date: Wed, 19 Jun 2019 18:58:13 +0200 Subject: [PATCH] code cosmetics --- README.md | 4 +++- doc/README_known_issues.md | 17 +++++++++++------ tools/bin/ti_rri | 22 +++++++++++----------- tools/src/librlink/RlinkServer.cpp | 5 +++-- tools/src/librtools/Rtime.hpp | 6 +++--- tools/src/librw11/Rw11CntlDEUNA.cpp | 5 +++-- 6 files changed, 34 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 275ca4fa..7afbf56a 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![Build Status](https://travis-ci.org/wfjm/w11.svg?branch=master)](https://travis-ci.org/wfjm/w11) [![Coverity Status](https://scan.coverity.com/projects/16546/badge.svg?flat=1)](https://scan.coverity.com/projects/wfjm-w11) +[![Commits since latest release](https://img.shields.io/github/commits-since/wfjm/w11/latest.svg?longCache=true)](https://github.com/wfjm/w11/releases) + ### Overview The project contains the VHDL code for a **complete DEC PDP-11 system**: @@ -27,7 +29,7 @@ For more information look into: - guides to [run test benches](doc/w11a_tb_guide.md) and to [boot operating systems](doc/w11a_os_guide.md) - known [issues](doc/README_known_issues.md) -- known [differenes](doc/w11a_known_differences.md) +- known [differences](doc/w11a_known_differences.md) - the impatient readers can try their luck with the [quick start guide](doc/INSTALL_quickstart.md) diff --git a/doc/README_known_issues.md b/doc/README_known_issues.md index bcc89196..2628f00a 100644 --- a/doc/README_known_issues.md +++ b/doc/README_known_issues.md @@ -221,12 +221,6 @@ explicitly IOB flops, thus timing well defined. rlink throughput on basys3/nexys4 limited by serial port stack round trip times. Will be overcome by libusb based custom driver. -### V0.64-1 {[issue #3](https://github.com/wfjm/w11/issues/3)} -- Bad throughput for DL11 emulation for low speed links -The large default transfer size for disk accesses leads to bad -throughput in the DL11 emulation for low speed links, like the -460kBaud the S3board is limited to. Will be overcome by a DL11 -controller with more buffering. - ### V0.62-2 {[issue #2](https://github.com/wfjm/w11/issues/2)} -- rlink v4 error recovery not yet implemented, will crash on error rlink v4 error recovery not yet implemented, will crash on error. @@ -238,6 +232,7 @@ the backend produces proper command lists and the USB channel is usually error free}_ ## Resolved Issues + ### V0.742-1 {[issue #14](https://github.com/wfjm/w11/issues/14)} -- SEGFAULT core dump after detach #### Original Issue The detach of a `tcp` type virtual terminal or a `tap` type virtual @@ -255,6 +250,16 @@ pending poll list updates. Fixed with commit [6f56f29](https://github.com/wfjm/w11/commit/6f56f29). +### V0.64-1 {[issue #3](https://github.com/wfjm/w11/issues/3)} -- Bad throughput for DL11 emulation for low speed links +#### Original Issue +The large default transfer size for disk accesses leads to bad +throughput in the DL11 emulation for low speed links, like the +460kBaud the S3board is limited to. Will be overcome by a DL11 +controller with more buffering. +#### Fix +Fixed Resolved with buffered DL11 in commit +[1c9dbeb](https://github.com/wfjm/w11/commit/1c9dbeb). + ### V0.50-10 {[issue #20](https://github.com/wfjm/w11/issues/20)} -- DL11: output chars lost when device polling used #### Original Issue Part of the console output can be lost when `xxdp` test `eqkce1` is diff --git a/tools/bin/ti_rri b/tools/bin/ti_rri index a2d12e07..edf25890 100755 --- a/tools/bin/ti_rri +++ b/tools/bin/ti_rri @@ -1,8 +1,8 @@ #! /usr/bin/env tclshcpp # -*- tcl -*- -# $Id: ti_rri 985 2018-01-03 08:59:40Z mueller $ +# $Id: ti_rri 1165 2019-06-16 11:51:33Z mueller $ # -# Copyright 2011-2017 by Walter F.J. Mueller +# Copyright 2011-2019 by Walter F.J. Mueller # # This program is free software; you may redistribute and/or modify it under # the terms of the GNU General Public License as published by the Free @@ -129,8 +129,8 @@ foreach arg $argv { ^--?int$ { set opts(int) 1 } ^--?help$ { set opts(help) 1 } ^--$ { set optsendseen 1 } - ^--.+$ { puts "-E: bad option $arg, see --help for proper usage" - return 1 + ^--?.+$ { puts "-E: bad option $arg, see --help for proper usage" + exit 1 } default { lappend clist $arg } } @@ -145,7 +145,7 @@ if { [llength clist] } { } if { $opts(help) } { - # use {} as defimiter here to avoid that escaping of all [] + # use {} as delimiter here to avoid escaping of all [] puts {usage: ti_rri [OPTION]... [COMMAND]...} puts {} puts {Options:} @@ -174,12 +174,12 @@ if { $opts(help) } { puts { with eval.} puts {} puts {For further details consults the ti_rri man page.} - return 0 + exit 0 } if {![info exists env(RETROBASE)]} { puts "-E: RETROBASE environment variable not defined" - return 1 + exit 1 } # check consistency of connection open options @@ -190,7 +190,7 @@ if { $opts(cuff) } { incr nopen } if { $nopen > 1 } { puts "-E: more than one of --fifo,--term,--cuff given, only one allowed" - return 1 + exit 1 } # setup auto path @@ -233,7 +233,7 @@ if { $opts(run_) ne "" } { if { [catch {exec sh -c $opts(run_) &} runpid] } { puts "-E: failed to execute \"$opts(run_)\" with error message\n $runpid" puts "-E: aborting..." - return 1 + exit 1 } } @@ -291,7 +291,7 @@ if { $opts(term) } { # puts "-I: Digilent USB interface detected: $dev_usbd" } else { puts "-E: no Digilent USB interface detected" - return 1 + exit 1 } } @@ -386,4 +386,4 @@ if { $tcl_interactive && $tirri_interactive } { tirri_exit 0 } -return 0 +exit 0 diff --git a/tools/src/librlink/RlinkServer.cpp b/tools/src/librlink/RlinkServer.cpp index 55b37ff7..8fda04b3 100644 --- a/tools/src/librlink/RlinkServer.cpp +++ b/tools/src/librlink/RlinkServer.cpp @@ -1,4 +1,4 @@ -// $Id: RlinkServer.cpp 1161 2019-06-08 11:52:01Z mueller $ +// $Id: RlinkServer.cpp 1164 2019-06-15 18:56:34Z mueller $ // // Copyright 2013-2019 by Walter F.J. Mueller // @@ -13,7 +13,7 @@ // // Revision History: // Date Rev Version Comment -// 2019-06-08 1161 2.2.11 adapt to new ReventFd API +// 2019-06-15 1164 2.2.11 adapt to new ReventFd API // 2019-04-07 1127 2.2.10 trace now with timestamp and selective // 2019-02-23 1114 2.2.9 use std::bind instead of lambda // 2018-12-17 1088 2.2.8 use std::lock_guard, std::thread instead of boost @@ -388,6 +388,7 @@ void RlinkServer::Dump(std::ostream& os, int ind, const char* text, << RosPrintBvi(fAttnDsc[i].fId.fMask,16) << ", " << fAttnDsc[i].fId.fCdata << endl; os << bl << " fActnList.size: " << fActnList.size() << endl; + os << bl << " fWakeupEvent: " << fWakeupEvent.Fd() << endl; fELoop.Dump(os, ind+2, "fELoop", detail); os << bl << " fServerThread: " << fServerThread.get_id() << endl; os << bl << " fAttnPatt: " << RosPrintBvi(fAttnPatt,16) << endl; diff --git a/tools/src/librtools/Rtime.hpp b/tools/src/librtools/Rtime.hpp index f119cf21..258e37a5 100644 --- a/tools/src/librtools/Rtime.hpp +++ b/tools/src/librtools/Rtime.hpp @@ -1,4 +1,4 @@ -// $Id: Rtime.hpp 1091 2018-12-23 12:38:29Z mueller $ +// $Id: Rtime.hpp 1161 2019-06-08 11:52:01Z mueller $ // // Copyright 2017-2018 by Walter F.J. Mueller // @@ -35,8 +35,8 @@ namespace Retro { class Rtime { public: Rtime(); - explicit Rtime(clockid_t clkid); - explicit Rtime(double dt); + explicit Rtime(clockid_t clkid); + explicit Rtime(double dt); void GetClock(clockid_t clkid); void SetSec(time_t sec); diff --git a/tools/src/librw11/Rw11CntlDEUNA.cpp b/tools/src/librw11/Rw11CntlDEUNA.cpp index d00bf044..70730e5d 100644 --- a/tools/src/librw11/Rw11CntlDEUNA.cpp +++ b/tools/src/librw11/Rw11CntlDEUNA.cpp @@ -1,4 +1,4 @@ -// $Id: Rw11CntlDEUNA.cpp 1161 2019-06-08 11:52:01Z mueller $ +// $Id: Rw11CntlDEUNA.cpp 1164 2019-06-15 18:56:34Z mueller $ // // Copyright 2014-2019 by Walter F.J. Mueller // @@ -13,7 +13,7 @@ // // Revision History: // Date Rev Version Comment -// 2019-06-08 1161 0.5.10 adapt to new RtimerFd API +// 2019-06-15 1164 0.5.10 adapt to new RtimerFd API // 2019-04-19 1133 0.5.9 use ExecWibr() // 2019-02-23 1114 0.5.8 use std::bind instead of lambda // 2018-12-19 1090 0.5.7 use RosPrintf(bool) @@ -665,6 +665,7 @@ void Rw11CntlDEUNA::Dump(std::ostream& os, int ind, const char* text, os << bl << " fRxPollTime: " << fRxPollTime << endl; os << bl << " fRxQueLimit: " << RosPrintf(fRxQueLimit,"d", 4) << endl; + os << bl << " fRxPollTimer: " << fRxPollTimer.Fd() << endl; size_t rxquesize = fRxBufQueue.size(); os << bl << " fRxBufQueue.size: " << RosPrintf(rxquesize,"d", 4) << endl; for (size_t i=0; i