1
0
mirror of https://github.com/wfjm/w11.git synced 2026-01-20 18:27:20 +00:00

142 Commits

Author SHA1 Message Date
wfjm
823c738a9b RtclRw11CntlFactory: add coverity accept comments 2022-08-21 18:17:21 +02:00
wfjm
48e08a5bcb ssr->mmr rename: the final cleanup 2022-08-18 09:06:43 +02:00
wfjm
621c200b11 *.*pp,*.tcl: ssr->mmr rename 2022-08-10 08:04:19 +02:00
wfjm
da1f0c151e Add first tcode; RtclRw11Cpu BUGFIX
- rtl/sys_gen/w11a/*/tbrun.yml: add tcode execution
- tools/tcode: new area for add fast mac-only verification codes
- tools/tcl/rw11
  - tcodes.tcl: added, driver for tcode execution
- tools/src/librwxxtpp
  - RtclRw11Cpu.cpp: BUGFIX: quit before mem write if asm-11 error seen
2022-07-08 08:35:39 +02:00
wfjm
6b8c0633bc catch-up after a two years hiatus
- drop Travis support (now defunct)
- generic_cpp.mk: use -std=c++17 (requires gcc 7.3 or later)
- RlinkPortCuff : drop libusb_set_debug (now deprecated)
- viv_tools_config.tcl: use open_hw_manager
- vbomconv: ghdl_m: use -Wl,--no-pie (for UB 18.04 gcc)
- simlib.vhd: write{oct,hex}: fix for ghdl V0.36 -Whide warnings
2021-08-22 16:59:38 +02:00
wfjm
2837308cbe src/librlink add Nak handling 2019-08-09 18:17:15 +02:00
wfjm
f0c4ccb651 SPDX: tools/src/*/*..[chi]pp; drop \file 2019-07-19 19:55:51 +02:00
wfjm
5b52e5418d Rw11CntlTM11 and tap2file updates
- tap2file
  - BUGFIX in rlmax calculation
  - add -v option
- Rw11CntlTM11
  - BUGFIX: AddNormalExit(): get tmds logic right
  - support odd record length
2019-07-14 09:45:17 +02:00
wfjm
5b5cd277ef use RfileFd in Rw11VirtTapeTap
- RfileFd: add Open(fnam,flags,mode,emsg)
- Rw11VirtTape: remove dtor
- Rw11VirtTapeTap: use RfileFd; remove dtor
2019-07-13 08:41:53 +02:00
wfjm
923628555e use AddMembe(); add missing OptValid() calls 2019-07-06 08:51:37 +02:00
wfjm
3c92b79224 SPDX: Makefile(.ise) 2019-07-05 17:23:39 +02:00
wfjm
99e8b801f5 SPDX: *.mk 2019-07-05 17:20:44 +02:00
wfjm
fd0a66b388 add and use RfileFd 2019-06-22 09:12:33 +02:00
wfjm
c858427cf5 coverity fixups; minor changes
- RlinkPacketBufRcv: ReadData(): coverity fixup (logically dead code)
- w11CntlRHRP: add coverity[deadcode] marker (intentional)
- Rfd: SetFd() now type bool
2019-06-20 09:06:41 +02:00
wfjm
1234d3f8ba code cosmetics 2019-06-19 18:58:13 +02:00
wfjm
4c034c164b add librtools/Rfd
- ReventFd, RtimerFd: derive from Rfd
- RlinkServer,Rw11CntlDEUNA: adapt to new ReventFd API
2019-06-15 09:13:29 +02:00
wfjm
3925fb1cd9 minor updates and code cosmetics
- asm-11_expect: skip data checks if dot not defined
- tbrun: print list of failed test after summary line
- RparseUrl: add DirName,FileName,FileStem,FileType
2019-06-10 15:37:46 +02:00
wfjm
07909777df add -reset option to stats subcommand
- librtools/Rstats: add Reset(); drop operator-=() and operator*=()
- librtcltools/RtclStats: Rename Collect->Exec, not longer const; add -reset
- libr*/*: Stats() not longer const; use RtclStats::Exec()
2019-06-08 09:02:24 +02:00
wfjm
279fff9484 final touches for V0.78 [skip ci] 2019-06-01 14:08:09 +02:00
wfjm
2c049efbcf consolidate DL,LP,PC after lessons learned in DZ
- ibdr_{dl,lp,pc}11_buf: size->fuse rename; re-organize rlim handling
- ibd_{dl,lp,pc}11/util.tcl: size->fuse rename
- tbench/{dl,lp,pc}11/test_*.tcl: size->fuse rename
- librw11/Rw11CntlDL11: size->fuse rename; use unit.StatInc[RT]x
- librw11/Rw11Cntl{LP,LP}11: size->fuse rename
2019-06-01 09:19:02 +02:00
wfjm
ad82539ad8 minor changes and docu updates 2019-05-29 17:48:47 +02:00
wfjm
e85de05938 add dz11 backend
- RtraceTools: TraceBuffer: add level 5 (full word dump)
- Rw11Cntl: UnitSetupAll(): now virtual
- Rw11CntlBase: add kNUnit constant
- RtclRw11CntlFactory: add DZ11
- Rw11{Cntl,Unit}DZ11: added
- rw11/util.tcl: add dz11 support
- oskit/*/*_boot.tcl: add dz11 line handling in setup_tt call
2019-05-26 08:51:34 +02:00
wfjm
6594b3c90e UnitTerm: detailed stats, improved attach handling
- RtraceTools: TraceBuffer: add level 5 (full word dump)
- Rw11UnitTerm: add detailed stats and StatInc{Rx,Tx}
- Rw11UnitTermBase: add AttachDone(),DetachDone()
- Rw11UnitPC11: AttachDone(): use base class AttachDone()
2019-05-24 18:45:47 +02:00
wfjm
6f56f29202 ReventLoop: BUGFIX: don't call handler when fUpdatePoll true 2019-05-19 20:22:10 +02:00
wfjm
4ff0b57a7a add mcodes bootw11,noboot; add ram:&noboot 2019-05-11 09:29:17 +02:00
wfjm
3c73f61593 add M9312 (boot prom) emulation
- ibus/ibdr_maxisys: instantiate ibd_m9312
- ibus/ibd_m9312: added, boot prom emulation
- librw11/Rw11Cpu: add m9312 setup and HasM9312()
- tbench
  - m9312: added, tbench for ibd_m9312
  - kw11p: renamed from w11a_kw11p
2019-05-05 09:00:04 +02:00
wfjm
42461113b0 minor changes
- asm-11/lib/vec_devcatch.mac: use tti,tto instead of dlr,dlt
- ibdr_pc11: set rbuf.[rp]size0 (like dl11)
- librw11/Rw11Cntl{LP11,PC11}: use RtraceTools::
2019-04-28 12:57:18 +02:00
wfjm
1c9dbeb4ed dl11_buf: buffered DL11; add tbench
- ibdr_dl11_buf: new DL11 interface with fifo buffering
- ibdr_dl11: drop rbuf.rrdy, set rbuf.[rx]size0 instead
- ibdr_maxisys: add ibdr_dl11_buf
- librw11/RtraceTools: new, some helper methods for buffer tracing
- librw11/Rw11CntlDL11: add dl11_buf readout
- librwxxtpp/RtclRw11CntlDL11: add getters& setters for dl11_buf readout
- ibd_dl11/util.tcl: setup defs for dl11_buf; add rdump proc
- rw11/util.tcl: setup_tt: add dl{rxqlim,txrlim}; dlrrlim->dlrxrlim
- oskit/*/*_boot.tcl: setup dlrxrlim
- tbench/dl11: tbench for dl11(_buf)
2019-04-28 12:51:58 +02:00
wfjm
785016763f pc11_buf: buffered PC11; add lp11,pc11 mcodes 2019-04-24 12:59:58 +02:00
wfjm
afcf56463a minor updates
- ibdr_lp11_buf.vhd: remove fifo clear on BRESET
- lib/defs_kwp.mac: use 'kp.' instead of 'kw.'
- lib/defs_kwl.mac: added
- rw11/shell_egd.tcl: shell_aspec_parse: allow 8,9 in numeric address
2019-04-21 19:30:16 +02:00
wfjm
71290b5142 add ExecWibr(),ExecRibr() and minor updates
- Rw11Cpu: add ExecWibr(),ExecRibr(); LoadAbs(): better trace format
- Rw11Cntl{DEUNA,DL11,LP11,RK11,RHRP,TM11}: use ExecWibr(),ExecRibr()
- ldadump: better -trec format of start address record
- asm-11: .end directive auto-creates '...end' label
- ti_w11: for -e use .end start address when available
- defs_cpu.mac: add some CPU system registers
- defs_dl.mac: fix naming typo
- defs_tm.mac: add function mnemos
2019-04-19 20:56:22 +02:00
wfjm
9b7b3bd5c8 UnitSetup overhaul; new pc11 boot loader; minor changes
- ibus/ib_rlim_gen: add CPUSUSP port; RLIM_CEV now slv8
- ibus/ib_rlim_slv: RLIM_CEV now slv8
- ibus/ibdr_{dl11,lp11_buf}: RLIM_CEV now slv8
- bin/asm-11: fix -help text
- bin/ldadump: added, lda file dumper
- src
  - Rw11Cntl: add UnitSetup(), UnitSetupAll()
  - Rw11Cntl{DEUNA,DL11,RHRP,RK11,RL11,TM11}: call UnitSetupAll() in Start()
  - Rw11CntlLP11: remove SetOnline(), use UnitSetup()
  - Rw11CntlPC11:
    - BootCode(): boot loader rewritten
    - remove SetOnline(), use UnitSetup()
  - Rw11Cpu
    - add defs for w11 cpu component addresses;
    - add MemSize(),MemWriteByte()
    - LoadAbs(): return start, better odd byte handling;
  - Rw11VirtStream: add Error(),Eof()
  - RtclRw11Cpu:
    - BUGFIX: M_wtcpu(): check cpu attn in no-server case
    - add MemSize() getter
    - M_loadabs(): add -trace and start
- ibd_pc11/util.tcl: use rdy instead of done in PCSR
- rw11/util.tcl: setup_lp: add rlim option
2019-04-14 15:52:12 +02:00
wfjm
2ae1055ee5 ibdr_{pc11,dl11}: changes for buffered version compat
- ibdr_dl11
  - now xbuf.val in bit 15 and 8;
  - use rbuf instead xbuf for rdry reporting
  - remove maintenance mode
  - use ib_rlim_slv; add RLIM_CEV, drop CE_USEC
- ibdr_pc11
  - pbuf.pval in bit 15 and 8
  - move rbusy reporting from pbuf to rbuf register
- ibdr_maxisys,ibdr_minisys: adapt to new ibdr_dl11 iface
- tb_rlink_tba_pdp11core_ibdr.dat: adapt to new ibdr_dl11 iface
- tcl/rw11/util.tcl: setup_tt: rename dlrlim to dlrrlim
- oskit/*/*_boot.tcl: use dlrrlim instead of dlrlim
- Rw11CntlDL11,Rw11CntlPC11: adapt to new dl11,pc11 iface
- tools/asm-11/lib/defs_{dl,pc}.mac: added definition file
- tools/oskit/hook/hook_ibmon_{pca,tta}.tcl: added imon hook file
2019-04-07 15:43:27 +02:00
wfjm
895755ef72 finalize lp11 and minor updates
- RlinkServer: trace now with timestamp and selective
- Rw11CntlLP11: add fQueBusy and queue protection; fix logic; better trace
- test_lp11_all.tcl: check csr.err and csr.rlim not changed by breset
- rw11/asm.tcl: asmwait: allow alternate stop symbol
2019-04-07 13:04:23 +02:00
wfjm
f82736e5da minor updates
- tb_pdp11core.vhd: print header
- vec_devcatch_reset.mac: finish half-done change start in commit a365317
2019-03-31 09:02:50 +02:00
wfjm
9411fe764d move RtimerFd, ReventFd to librtools 2019-03-30 08:53:05 +01:00
wfjm
f9faf937b1 lp11_buf: output buffered; add tbench
- ib_rlim_{gen,slv}: new modules for implementation of rate limiters
- ibdr_lp11_buf: new LP11 interface with fifo buffering
- ibdr_maxisys: add ib_rlim_gen, ibdr_lp11_buf
- tbench/test_lp11_all.tcl: tbench for lp11 and lp11_buf
- Rw11CntlLP11: handles now also buffered lp11
2019-03-23 08:20:25 +01:00
wfjm
a36531709c minor updates
- Rw11Probe: ctor: fData* initialized as 0 (not false)
- tbench/*/test_*.tcl: add proper device check
- ibd_ibtst: fix sensitivity list
- RlinkContext: BUGFIX: use proper polarity of status mask
- tools/asm-11/lib
  - defs_*.tcl: add va.xxx and vp.xxx vector defs
  - vec_devcatch{_reset}.mac: rename v..deu to v..xu
2019-03-17 09:48:03 +01:00
wfjm
ed5c8b7fc1 add cp -brf,-bwf; fix rblk handling for aborted transfers
- RlinkCommand:
  - add BlockDoneAll()
  - Print(): use BlockDone() as length for rblk
- RlinkConnect: DecodeResponse(): rblk expect check over BlockDone
- RtclRlinkConnect: M_exec(): tranfer BlockDone values after rblk
- RtclRw11Cpu:
  - M_cp(): tranfer BlockDone values after rblk
  - add cp -brf and -bwf; add range checks for cp -wa
2019-03-15 20:40:14 +01:00
wfjm
e14d92f9cc comment&code cosmetics 2019-03-08 16:44:44 +01:00
wfjm
6024dce209 use std::bind instead of lambda
- automatic return type detection for lambda's can be error prone
- it is safer and more compact to use std:bind as method forwarder
- closes issue #19
2019-03-03 09:40:56 +01:00
wfjm
1206e5d938 add ibd_ibtst; tbench code for ibd_ibtst and sdreg
- ibd_ibtst: added, an ibus tester device
- pdp11_sys70: instantiate ibd_ibtst (when sys_conf_ibtst = true)
- Rw11Cpu,RtclRw11Cpu: add ibmon setup and HasIbtst()
- tcl/ibd_ibtst/util.tcl: added, tcl support for ibd_ibtst
- tbench/w11a/test_w11a_sdreg.tcl: added, tbench for sdreg
- tools/tbench/w11a_ibtst/: added tbench for ibd_ibtst
2019-03-01 09:05:29 +01:00
wfjm
8d323848b3 Some minor updates
- top-level Makefile: drop w11a/arty_bram
- sys_w11a_s3: set BTOWIDTH 7 (was 6, must be > vmbox atowidth (6))
- RtclGet.ipp: use const& for oper() of string& and Rtime&
- *.Doxyfile: bump version to 0.77
- comment and docu updates
2019-02-24 12:50:38 +01:00
wfjm
fefa952a4d Makefile: drop boost includes and libs 2019-01-02 12:00:31 +01:00
wfjm
b8dfa6d41e get ready for w11a_V0.753 release
- rtl/sys_gen/*/*.vhd: drop superfluous genlib call
- rtl/sys_gen/*/*.vmfset: accomodate recent code changes
- tools/bin/tbrun: show correct 'found count' in summary message
- tools/dox/*.Doxyfile: push version to 0.753
- tools/src/librtools/Rtime.ipp: change list-init make some gcc happy
2018-12-29 14:14:08 +01:00
wfjm
0fe9cd8acc mixed bag of small backend code updates
- RlinkCommand,RlinkCommandList: add move version of methods
- use constructor delegation
- use nullptr
- drop empty destructors for pod-only classes
- RlinkCommand: rename IsBlockExt -> HasBlockExt
- RlinkConnect: add BadPort(); used on all hard port checks
- remove contraproductive moves (-Wpessimizing-move)
- add casts (-Wfloat-conversion, -Wdouble-promotion)
- virtual dtor now outlined to streamline vtable
- make Dump non virtual in some cases (-Wnon-virtual-dtor)
- rename variables in shadow situations (-Wshadow)
2018-12-27 09:04:19 +01:00
wfjm
5bf5d405c3 use std::boolalpha; add and use RosPrintf(bool) 2018-12-23 09:07:25 +01:00
wfjm
93bf5ce03b use c++ style casts 2018-12-22 09:20:02 +01:00
wfjm
4e2f1c3d19 use std::thread instead of boost; final boost cleanup
- no boost:: classes used anymore
- no boost/*.hpp headers included anymore
- significantly improved compilation speed
2018-12-19 11:53:54 +01:00
wfjm
dcaf39ff84 use mutex and friends from std:: instead from boost::
- use std::mutex
- use std::recursive_mutex
- use std::condition_variable
- use std::lock_guard
2018-12-18 10:22:35 +01:00