18#ifndef included_Retro_Rw11CntlRHRP
19#define included_Retro_Rw11CntlRHRP 1
33 void Config(
const std::string& name, uint16_t base,
int lam);
37 virtual bool BootCode(
size_t unit, std::vector<uint16_t>& code,
38 uint16_t& aload, uint16_t& astart);
47 virtual void Dump(std::ostream& os,
int ind=0,
const char* text=0,
55 static const uint16_t
kRPWC = 002;
56 static const uint16_t
kRPBA = 004;
57 static const uint16_t
kRPDA = 006;
59 static const uint16_t
kRPDS = 012;
61 static const uint16_t
kRPAS = 016;
62 static const uint16_t
kRPLA = 020;
63 static const uint16_t
kRPDB = 022;
65 static const uint16_t
kRPDT = 026;
66 static const uint16_t
kRPSN = 030;
67 static const uint16_t
kRPOF = 032;
68 static const uint16_t
kRPDC = 034;
178 uint16_t rper1=0, uint16_t rpcs2=0);
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 kWBit03
static const uint16_t kWBit04
static const uint16_t kWBit11
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 kRPCS1_B_BAE
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
func: read
uint16_t fRd_rpdc
Rdma: request rpdc.
static const uint16_t kRPCS1_M_TRE
static const uint16_t kRPCS1_V_RIDLY
static const uint16_t kProbeOff
probe address offset (rxcs2)
static const uint16_t kRPCS1_B_RIDLY
static const uint16_t kRPCS1_V_RUNIT
static const uint16_t kRPCS1_B_FUNC
static const uint16_t kRFUNC_WIDLY
rfunc: write idly
static const uint16_t kRPDA
RPDA reg offset.
static const uint16_t kRPDS_M_DPR
static const uint16_t kRPCS3_M_RSEEKDONE
static const uint16_t kRPDS_M_LBT
size_t fPC_rpcs3
PrimClist: rpcs3 index.
static const uint16_t kRPCS1_M_SC
uint16_t fRd_rpcs3
Rdma: request rpcs3.
static const bool kProbeRem
probr rem active
static const uint16_t kRPCS2_M_UNIT2
static const uint16_t kRPCS2_M_WCE
static const uint16_t kRPCS1_M_RATA
size_t fPC_rpba
PrimClist: rpba index.
static const uint16_t kRPDT
RPDT reg offset.
static const uint16_t kRPDS_M_ATA
static const uint16_t kRPDS_M_MOL
void RdmaPostExecCB(int stat, size_t ndone, RlinkCommandList &clist, size_t ncmd)
FIXME_docs.
static const uint16_t kRPDC
RPDC reg offset.
static const uint16_t kRPCS3_M_IE
static const uint16_t kRPBAE
RPBAE reg offset.
bool fRd_ovr
Rdma: overrun condition found.
static const uint16_t kRPCS1
RPCS1 reg offset.
static const uint16_t kRPER1_M_WLE
static const uint16_t kRPCS2_M_NEM
static const uint16_t kRPER1_M_ILF
static const uint16_t kRPER1_M_AOE
static const uint16_t kRPCS3
RPCS3 reg offset.
static const uint16_t kRPEC1
RPEC1 reg offset.
static const uint16_t kFUNC_WHD
func: write head&data
static const uint16_t kRPDC_B_CA
uint16_t fRd_rpda
Rdma: request rpda.
size_t fPC_cunit
PrimClist: copy unit.
static const uint16_t kRPDA_V_TA
static const uint16_t kFUNC_WRITE
func: write
static const int kLam
RHRP default lam.
static const uint16_t kRPCS1_M_RDY
static const uint16_t kRPCS1_V_BAE
static const uint16_t kRPDA_B_TA
virtual void Start()
FIXME_docs.
static const uint16_t kRPDS_M_DRY
static const uint16_t kRFUNC_DONE
rfunc: done (set rdy)
static const uint16_t kRPBA
RPBA reg offset.
static const uint16_t kRPCS2_B_UNIT
static const uint16_t kRPCS1_B_RUNIT
static const uint16_t kFUNC_WCHD
func: write chk head&data
static const uint16_t kRPCS2_M_PAT
void SetChunkSize(size_t chunk)
FIXME_docs.
static const uint16_t kRPCS2_M_OR
static const uint16_t kRFUNC_WUNIT
rfunc: write runit
~Rw11CntlRHRP()
Destructor.
static const bool kProbeInt
probe int active
static const uint16_t kRPDA_B_SA
uint16_t fRd_rpwc
Rdma: request rpwc.
static const uint16_t kRPMR1
RPMR1 reg offset.
static const uint16_t kRPCS2_M_NED
static const uint16_t kRPWC
RPWC reg offset.
static const uint16_t kRPCS3_M_RSEARDONE
static const uint16_t kRPLA
RPLA reg offset.
Rstats & RdmaStats()
FIXME_docs.
static const uint16_t kRPDS_M_VV
static const uint16_t kRxM14
MB reg 14 reg offset.
Rw11RdmaDisk fRdma
Rdma controller.
uint32_t fRd_nwrd
Rdma: current nwrd.
static const uint16_t kRPSN
RPSN reg offset.
void AddNormalExit(RlinkCommandList &clist, size_t ndone, uint16_t rper1=0, uint16_t rpcs2=0)
FIXME_docs.
static const uint16_t kRPCS2_M_RWCO
uint16_t fRd_fu
Rdma: request fu code.
static const uint16_t kRPER1_M_IAE
Rw11CntlRHRP()
Default constructor.
static const uint16_t kRPCS2_M_MXF
static const uint16_t kRPER1_M_RMR
uint16_t fRd_rpcs1
Rdma: request rpcs1.
static const uint16_t kRPDB
RPDB reg offset.
static const uint16_t kRPCS1_M_DVA
void Config(const std::string &name, uint16_t base, int lam)
FIXME_docs.
uint16_t fRd_rpbae
Rdma: request rpbae.
virtual void Dump(std::ostream &os, int ind=0, const char *text=0, int detail=0) const
FIXME_docs.
static const uint16_t kRPCS2_M_PGE
static const uint16_t kRPCS1_M_IE
size_t fPC_rpda
PrimClist: rpda index.
static const uint16_t kFUNC_RHD
func: read head&data
static const uint16_t kRFUNC_CUNIT
rfunc: copy funit->runit
uint16_t fRd_rpcs2
Rdma: request rpcs2.
static const uint16_t kIbaddr
RHRP default address.
static const uint16_t kRPDS_M_ERP
size_t fPC_rpcs1
PrimClist: rpcs1 index.
uint16_t fRd_rpds
Rdma: request rpds.
static const uint16_t kRPCS3_M_RPOREDONE
static const uint16_t kRxM15
MB reg 15 reg offset.
static const uint16_t kRPCS2_M_IR
static const uint16_t kRPCS1_V_FUNC
static const uint16_t kRPER1_M_UNS
static const uint16_t kRPCS1_M_GO
void AddErrorExit(RlinkCommandList &clist, uint16_t rper1)
FIXME_docs.
virtual void UnitSetup(size_t ind)
FIXME_docs.
static const uint16_t kRPCS2_M_CLR
static const uint16_t kRPDS
RPDS reg offset.
uint32_t fRd_addr
Rdma: current addr.
static const uint16_t kRPEC2
RPEC2 reg offset.
size_t fPC_rpcs2
PrimClist: rpcs2 index.
static const uint16_t kRPDS_M_OM
static const uint16_t kRPCS1_M_BAE
static const uint16_t kRPAS
RPAS reg offset.
static const uint16_t kRPCS3_M_RPACKDONE
size_t fPC_rpds
PrimClist: rpds index.
static const uint16_t kRPCS2_M_BAI
size_t fPC_rpbae
PrimClist: rpbae index.
static const uint16_t kRPOF
RPOF reg offset.
size_t fPC_rpwc
PrimClist: rpwc index.
void RdmaPreExecCB(int stat, size_t nwdone, size_t nwnext, RlinkCommandList &clist)
FIXME_docs.
uint32_t fRd_lba
Rdma: current lba.
size_t fPC_rpdc
PrimClist: rpdc index.
static const uint16_t kFUNC_WCD
func: write chk data
static const uint16_t kRPCS2
RPCS2 reg offset.
static const uint16_t kRxM13
MB reg 13 reg offset.
static const uint16_t kRPER1
RPER1 reg offset.
static const uint16_t kRPDS_M_WRL
size_t ChunkSize() const
FIXME_docs.
int AttnHandler(RlinkServer::AttnArgs &args)
FIXME_docs.
uint16_t fRd_rpba
Rdma: request rpba.
Declaration of class ReventLoop.