21#ifndef included_Retro_Rw11CntlRK11
22#define included_Retro_Rw11CntlRK11 1
36 void Config(
const std::string& name, uint16_t base,
int lam);
40 virtual bool BootCode(
size_t unit, std::vector<uint16_t>& code,
41 uint16_t& aload, uint16_t& astart);
50 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
57 static const uint16_t
kRKDS = 000;
58 static const uint16_t
kRKER = 002;
59 static const uint16_t
kRKCS = 004;
60 static const uint16_t
kRKWC = 006;
61 static const uint16_t
kRKBA = 010;
62 static const uint16_t
kRKDA = 012;
63 static const uint16_t
kRKMR = 014;
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 kWBit13
static const uint16_t kWBit11
static const uint16_t kWBit07
static const uint16_t kWBit10
static const uint16_t kWBit05
Implemenation (inline) of Rw11CntlBase.
static const uint16_t kRKDA_M_SUR
static const uint16_t kFUNC_CRESET
Rstats & RdmaStats()
FIXME_docs.
static const uint16_t kRKER_M_CSE
static const uint16_t kRKER_M_OVR
static const bool kProbeInt
probe int active
bool fRd_ovr
Rdma: overrun condition found.
void Config(const std::string &name, uint16_t base, int lam)
FIXME_docs.
static const uint16_t kRKDS_M_WPS
WPS: write protect.
static const uint16_t kRKDS_M_ID
ID: drive number.
static const uint16_t kRKMR_V_RID
static const uint16_t kRKMR_M_SBCLR
Rw11CntlRK11()
Default constructor.
static const uint16_t kRKCS_M_MAINT
uint16_t fRd_fu
Rdma: request fu code.
static const uint16_t kRKDS_M_DRY
DRY: drive ready.
static const uint16_t kRKER_M_WCE
virtual void UnitSetup(size_t ind)
FIXME_docs.
static const uint16_t kFUNC_WLOCK
static const uint16_t kRKER_M_NXC
static const uint16_t kRKBA
RKBA reg offset.
static const uint16_t kRKDS_B_ID
static const uint16_t kFUNC_RCHK
size_t fPC_rkwc
PrimClist: rkwc index.
static const uint16_t kRKER_M_PGE
void RdmaPreExecCB(int stat, size_t nwdone, size_t nwnext, RlinkCommandList &clist)
FIXME_docs.
static const uint16_t kRKDA_B_SC
static const uint16_t kRKMR
RKMR reg offset.
void LogRker(uint16_t rker)
FIXME_docs.
static const uint16_t kRKDA
RKDA reg offset.
static const uint16_t kRKDA_V_SUR
static const uint16_t kRKDS_M_SIN
SIN: seek incomplete.
size_t ChunkSize() const
FIXME_docs.
void RdmaPostExecCB(int stat, size_t ndone, RlinkCommandList &clist, size_t ncmd)
FIXME_docs.
static const uint16_t kRKCS_M_FMT
static const uint16_t kRKMR_M_CRESET
static const bool kProbeRem
probr rem active
static const uint16_t kRKWC
RKWC reg offset.
size_t fPC_rkmr
PrimClist: rkmr index.
static const uint16_t kRKDS_M_ADRY
ADRY: access ready.
@ kStatNFuncWlock
func WLOCK
@ kStatNFuncDreset
func DRESET
@ kStatNFuncWrite
func WRITE
@ kStatNFuncRead
func READ
@ kStatNFuncRchk
func RCHK
@ kStatNFuncCreset
func CRESET
@ kStatNFuncSeek
func SEEK
@ kStatNFuncWchk
func WCHK
static const uint16_t kRKMR_M_CRDONE
static const int kLam
RK11 default lam.
static const uint16_t kRKDA_M_CYL
static const uint16_t kRKER_M_DRE
static const uint16_t kRKDS_M_DRU
DRU: drive unsafe.
static const uint16_t kRKDS_V_ID
static const uint16_t kRKCS_M_IBA
static const uint16_t kRKDS_M_HDEN
HDEN: high density drv.
static const uint16_t kRKMR_M_RID
size_t fPC_rkba
PrimClist: rkba index.
uint32_t fRd_addr
Rdma: current addr.
static const uint16_t kRKCS_V_MEX
int AttnHandler(RlinkServer::AttnArgs &args)
FIXME_docs.
static const uint16_t kRKCS_B_FUNC
static const uint16_t kRKCS_M_MEX
uint32_t fRd_nwrd
Rdma: current nwrd.
static const uint16_t kRKCS_B_MEX
static const uint16_t kRKDA_B_CYL
static const uint16_t kRKDA_V_DRSEL
static const uint16_t kRKCS_M_RDY
static const uint16_t kRKDA_V_CYL
static const uint16_t kRKCS
RKCS reg offset.
~Rw11CntlRK11()
Destructor.
static const uint16_t kRKER
RKER reg offset.
virtual bool BootCode(size_t unit, std::vector< uint16_t > &code, uint16_t &aload, uint16_t &astart)
FIXME_docs.
static const uint16_t kFUNC_READ
virtual void Start()
FIXME_docs.
static const uint16_t kRKER_M_NXD
void AddNormalExit(RlinkCommandList &clist, size_t ndone, uint16_t rker=0)
FIXME_docs.
static const uint16_t kFUNC_SEEK
uint32_t fRd_lba
Rdma: current lba.
uint16_t fRd_rkcs
Rdma: request rkcs.
static const uint16_t kFUNC_DRESET
static const uint16_t kRKDA_B_SUR
static const uint16_t kRKER_M_WLO
static const uint16_t kRKDA_M_DRSEL
static const uint16_t kFUNC_WRITE
static const uint16_t kProbeOff
probe address offset (rkcs)
void AddErrorExit(RlinkCommandList &clist, uint16_t rker)
FIXME_docs.
static const uint16_t kRKCS_M_RWA
static const uint16_t kRKCS_V_FUNC
static const uint16_t kIbaddr
RK11 default address.
uint16_t fRd_rkda
Rdma: request rkda.
static const uint16_t kRKCS_M_GO
static const uint16_t kRKER_M_NXM
static const uint16_t kRKDA_B_DRSEL
void SetChunkSize(size_t chunk)
FIXME_docs.
static const uint16_t kRKDS
RKDS reg offset.
static const uint16_t kRKDS_B_SC
SC: sector counter.
static const uint16_t kRKMR_M_FDONE
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
static const uint16_t kRKCS_M_SSE
size_t fPC_rkda
PrimClist: rkda index.
static const uint16_t kFUNC_WCHK
static const uint16_t kRKER_M_NXS
static const uint16_t kRKDS_M_SOK
SOK: sector counter OK.
Rw11RdmaDisk fRdma
Rdma controller.
size_t fPC_rkcs
PrimClist: rkcs index.
Declaration of class ReventLoop.