19#ifndef included_Retro_Rw11CntlTM11
20#define included_Retro_Rw11CntlTM11 1
34 void Config(
const std::string& name, uint16_t base,
int lam);
38 virtual bool BootCode(
size_t unit, std::vector<uint16_t>& code,
39 uint16_t& aload, uint16_t& astart);
48 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
55 static const uint16_t
kTMSR = 000;
56 static const uint16_t
kTMCR = 002;
57 static const uint16_t
kTMBC = 004;
58 static const uint16_t
kTMBA = 006;
59 static const uint16_t
kTMDB = 010;
60 static const uint16_t
kTMRL = 012;
150 uint16_t tmbc, uint16_t tmds);
static const uint16_t kWBit14
static const uint16_t kWBit06
static const uint16_t kWBit12
static const uint16_t kWBit01
static const uint16_t kWBit15
static const uint16_t kWBit08
static const uint16_t kWBit09
static const uint16_t kWBit00
static const uint16_t kWBit07
static const uint16_t kWBit10
static const uint16_t kWBit05
static const uint16_t kWBit02
Implemenation (inline) of Rw11CntlBase.
static const uint16_t kTMDB
TMDB reg offset.
static const uint16_t kTMRL_M_WRL
WRL: write locked.
void WriteExitLog(uint16_t tmcr, uint32_t addr, uint16_t tmbc, uint16_t tmds)
FIXME_docs.
uint32_t fRd_addr
Rdma: current addr.
static const uint16_t kTMSR_M_WRL
WRL: write locked.
static const uint16_t kTMCR_M_GO
static const uint16_t kTMCR_B_RUNIT
static const uint16_t kTMSR_M_NXM
NXM: non-existent mem.
static const int kLam
TM11 default lam.
static const uint16_t kTMRL_M_ONL
ONL: online.
void RdmaPostExecCB(int stat, size_t ndone, RlinkCommandList &clist, size_t ncmd)
FIXME_docs.
static const uint16_t kTMSR_M_EOT
EOT: end-of-tape seen.
static const uint16_t kTMCR_M_RICMD
static const uint16_t kTMCR_B_REA
size_t fPC_tmsr
PrimClist: tmsr index.
static const uint16_t kFUNC_UNLOAD
static const uint16_t kTMRL_M_REW
REW: tape rewinding.
int fRd_opcode
Rdma: read opcode.
static const uint16_t kTMSR_M_BTE
BTE: bad tape error.
static const uint16_t kFUNC_SBACK
virtual bool BootCode(size_t unit, std::vector< uint16_t > &code, uint16_t &aload, uint16_t &astart)
FIXME_docs.
uint16_t fRd_fu
Rdma: request fu code.
static const bool kProbeRem
probr rem active
uint16_t fRd_tmbc
Rdma: request tmbc.
void Config(const std::string &name, uint16_t base, int lam)
FIXME_docs.
static const uint16_t kTMCR_M_RPAE
static const uint16_t kTMCR_B_FUNC
virtual void UnitSetup(size_t ind)
FIXME_docs.
static const uint16_t kTMSR_M_TUR
TUR: unit ready.
static const uint16_t kTMCR_V_EA
static const uint16_t kTMSR
TMSR reg offset.
static const uint16_t kTMSR_M_ONL
ONL: online.
size_t fRd_rddone
Rdma: bytes read.
static const uint16_t kTMCR
TMCR reg offset.
static const uint16_t kTMSR_M_REW
REW: tape rewound.
static const uint16_t kFUNC_REWIND
size_t fPC_tmba
PrimClist: tmba index.
static const uint16_t kTMCR_M_RRLE
void AddFastExit(RlinkCommandList &clist, int opcode, size_t ndone)
FIXME_docs.
static const uint16_t kRFUNC_WUNIT
Rw11Rdma fRdma
Rdma controller.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
static const uint16_t kTMBA
TMBA reg offset.
size_t fPC_tmbc
PrimClist: tmbc index.
static const uint16_t kTMCR_V_REA
static const uint16_t kIbaddr
TM11 default address.
virtual void Start()
FIXME_docs.
uint16_t fRd_tmcr
Rdma: request tmcr.
std::vector< uint16_t > fBuf
data buffer
void WriteLog(const char *func, RerrMsg &emsg)
FIXME_docs.
static const uint16_t kTMSR_M_EOF
EOF: end-of-file seen.
Rstats & RdmaStats()
FIXME_docs.
static const uint16_t kTMRL
TMRL reg offset.
static const uint16_t kTMCR_M_REAENA
~Rw11CntlTM11()
Destructor.
static const uint16_t kTMCR_M_RDY
uint16_t fRd_tmba
Rdma: request tmba.
static const uint16_t kRFUNC_DONE
static const uint16_t kTMSR_M_BOT
BOT: at begin-of-tape.
static const uint16_t kTMCR_B_EA
static const uint16_t kTMCR_V_DEN
static const uint16_t kFUNC_SFORW
int AttnHandler(RlinkServer::AttnArgs &args)
FIXME_docs.
@ kStatNFuncSback
func SBACK
@ kStatNFuncRead
func READ
@ kStatNFuncRewind
func REWIND
@ kStatNFuncWrite
func WRITE
@ kStatNFuncSforw
func SFORW
@ kStatNFuncUnload
func UNLOAD
@ kStatNFuncWeof
func WEOF
@ kStatNFuncWrteg
func WRTEG
size_t ChunkSize() const
FIXME_docs.
static const uint16_t kTMSR_M_ICMD
ICMD: invalid cmd.
static const uint16_t kTMSR_M_PAE
PAE: parity error.
static const uint16_t kFUNC_READ
static const uint16_t kTMCR_B_UNIT
void RdmaPreExecCB(int stat, size_t nwdone, size_t nwnext, RlinkCommandList &clist)
FIXME_docs.
void SetChunkSize(size_t chunk)
FIXME_docs.
Rw11CntlTM11()
Default constructor.
static const uint16_t kTMCR_M_RBTE
static const uint16_t kTMCR_M_RNXM
void AddNormalExit(RlinkCommandList &clist, size_t ndone, uint16_t tmcr=0)
FIXME_docs.
uint32_t fRd_nwrd
Rdma: current nwrd.
static const uint16_t kTMCR_V_FUNC
static const uint16_t kTMCR_B_DEN
static const uint16_t kTMRL_M_EOT
EOT: end-of-tape seen.
static const uint16_t kTMSR_M_RLE
RLE: record lgth error.
static const bool kProbeInt
probe int active
static const uint16_t kTMCR_V_UNIT
static const uint16_t kTMRL_M_EOF
EOF: end-of-file seen.
static const uint16_t kFUNC_WEIRG
static const uint16_t kProbeOff
probe address offset (tmcr)
static const uint16_t kTMRL_M_BOT
BOT: at begin-of-tape.
static const uint16_t kFUNC_WRITE
size_t fPC_tmcr
PrimClist: tmcr index.
static const uint16_t kTMBC
TMBC reg offset.
static const uint16_t kTMCR_V_RUNIT
void AddErrorExit(RlinkCommandList &clist, uint16_t tmcr)
FIXME_docs.
static const uint16_t kFUNC_WEOF
static const uint16_t kTMCR_V_ERR
uint16_t fRd_tmsr
Rdma: request tmsr.
Declaration of class ReventLoop.