gem5  v20.1.0.0
Classes | Namespaces | Macros | Functions | Variables
sinicreg.hh File Reference

Go to the source code of this file.

Classes

struct  Sinic::Regs::Info
 

Namespaces

 Sinic
 
 Sinic::Regs
 

Macros

#define __SINIC_REG32(NAME, VAL)   static const uint32_t NAME = (VAL);
 
#define __SINIC_REG64(NAME, VAL)   static const uint64_t NAME = (VAL);
 
#define __SINIC_VAL32(NAME, OFFSET, WIDTH)
 
#define __SINIC_VAL64(NAME, OFFSET, WIDTH)
 

Functions

 Sinic::Regs::__SINIC_REG32 (Config, 0x00) __SINIC_REG32(Command
 
 Sinic::Regs::__SINIC_REG32 (IntrStatus, 0x08) __SINIC_REG32(IntrMask
 
 Sinic::Regs::__SINIC_REG32 (RxMaxCopy, 0x10) __SINIC_REG32(TxMaxCopy
 
 Sinic::Regs::__SINIC_REG32 (ZeroCopySize, 0x18) __SINIC_REG32(ZeroCopyMark
 
 Sinic::Regs::__SINIC_REG32 (VirtualCount, 0x20) __SINIC_REG32(RxMaxIntr
 
 Sinic::Regs::__SINIC_REG32 (RxFifoSize, 0x28) __SINIC_REG32(TxFifoSize
 
 Sinic::Regs::__SINIC_REG32 (RxFifoLow, 0x30) __SINIC_REG32(TxFifoLow
 
 Sinic::Regs::__SINIC_REG32 (RxFifoHigh, 0x38) __SINIC_REG32(TxFifoHigh
 
 Sinic::Regs::__SINIC_REG32 (RxData, 0x40) __SINIC_REG32(RxDone
 
 Sinic::Regs::__SINIC_REG32 (RxWait, 0x50) __SINIC_REG32(TxData
 
 Sinic::Regs::__SINIC_REG32 (TxDone, 0x60) __SINIC_REG32(TxWait
 
 Sinic::Regs::__SINIC_REG32 (HwAddr, 0x70) __SINIC_REG32(Size
 
 Sinic::Regs::__SINIC_VAL32 (Config_ZeroCopy, 12, 1) __SINIC_VAL32(Config_DelayCopy
 
 Sinic::Regs::__SINIC_VAL32 (Config_RSS, 10, 1) __SINIC_VAL32(Config_RxThread
 
 Sinic::Regs::__SINIC_VAL32 (Config_TxThread, 8, 1) __SINIC_VAL32(Config_Filter
 
 Sinic::Regs::__SINIC_VAL32 (Config_Vlan, 6, 1) __SINIC_VAL32(Config_Vaddr
 
 Sinic::Regs::__SINIC_VAL32 (Config_Desc, 4, 1) __SINIC_VAL32(Config_Poll
 
 Sinic::Regs::__SINIC_VAL32 (Config_IntEn, 2, 1) __SINIC_VAL32(Config_TxEn
 
 Sinic::Regs::__SINIC_VAL32 (Config_RxEn, 0, 1) __SINIC_VAL32(Command_Intr
 
 Sinic::Regs::__SINIC_VAL32 (Command_Reset, 0, 1) __SINIC_VAL32(Intr_Soft
 
 Sinic::Regs::__SINIC_VAL32 (Intr_TxLow, 7, 1) __SINIC_VAL32(Intr_TxFull
 
 Sinic::Regs::__SINIC_VAL32 (Intr_TxDMA, 5, 1) __SINIC_VAL32(Intr_TxPacket
 
 Sinic::Regs::__SINIC_VAL32 (Intr_RxHigh, 3, 1) __SINIC_VAL32(Intr_RxEmpty
 
 Sinic::Regs::__SINIC_VAL32 (Intr_RxDMA, 1, 1) __SINIC_VAL32(Intr_RxPacket
 
 Sinic::Regs::__SINIC_REG32 (Intr_All, 0x01ff) __SINIC_REG32(Intr_NoDelay
 
 Sinic::Regs::__SINIC_REG32 (Intr_Res, ~0x01ff) __SINIC_VAL64(RxData_NoDelay
 
 Sinic::Regs::__SINIC_VAL64 (RxData_Vaddr, 60, 1) __SINIC_VAL64(RxData_Len
 
 Sinic::Regs::__SINIC_VAL64 (RxData_Addr, 0, 40) __SINIC_VAL64(TxData_More
 
 Sinic::Regs::__SINIC_VAL64 (TxData_Checksum, 62, 1) __SINIC_VAL64(TxData_Vaddr
 
 Sinic::Regs::__SINIC_VAL64 (TxData_Len, 40, 20) __SINIC_VAL64(TxData_Addr
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_Packets, 32, 16) __SINIC_VAL64(RxDone_Busy
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_Complete, 30, 1) __SINIC_VAL64(RxDone_More
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_Empty, 28, 1) __SINIC_VAL64(RxDone_High
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_NotHigh, 26, 1) __SINIC_VAL64(RxDone_TcpError
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_UdpError, 24, 1) __SINIC_VAL64(RxDone_IpError
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_TcpPacket, 22, 1) __SINIC_VAL64(RxDone_UdpPacket
 
 Sinic::Regs::__SINIC_VAL64 (RxDone_IpPacket, 20, 1) __SINIC_VAL64(RxDone_CopyLen
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Packets, 32, 16) __SINIC_VAL64(TxDone_Busy
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Complete, 30, 1) __SINIC_VAL64(TxDone_Full
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Low, 28, 1) __SINIC_VAL64(TxDone_Res0
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Res1, 26, 1) __SINIC_VAL64(TxDone_Res2
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Res3, 24, 1) __SINIC_VAL64(TxDone_Res4
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Res5, 22, 1) __SINIC_VAL64(TxDone_Res6
 
 Sinic::Regs::__SINIC_VAL64 (TxDone_Res7, 20, 1) __SINIC_VAL64(TxDone_CopyLen
 
const Regs::Info & Sinic::regInfo (Addr daddr)
 
bool Sinic::regValid (Addr daddr)
 

Variables

static const int Sinic::Regs::VirtualShift = 8
 
static const int Sinic::Regs::VirtualMask = 0xff
 

Macro Definition Documentation

◆ __SINIC_REG32

#define __SINIC_REG32 (   NAME,
  VAL 
)    static const uint32_t NAME = (VAL);

Definition at line 32 of file sinicreg.hh.

◆ __SINIC_REG64

#define __SINIC_REG64 (   NAME,
  VAL 
)    static const uint64_t NAME = (VAL);

Definition at line 33 of file sinicreg.hh.

◆ __SINIC_VAL32

#define __SINIC_VAL32 (   NAME,
  OFFSET,
  WIDTH 
)
Value:
static const uint32_t NAME##_width = WIDTH; \
static const uint32_t NAME##_offset = OFFSET; \
static const uint32_t NAME##_mask = (1 << WIDTH) - 1; \
static const uint32_t NAME = ((1 << WIDTH) - 1) << OFFSET; \
static inline uint32_t get_##NAME(uint32_t reg) \
{ return (reg & NAME) >> OFFSET; } \
static inline uint32_t set_##NAME(uint32_t reg, uint32_t val) \
{ return (reg & ~NAME) | ((val << OFFSET) & NAME); }

Definition at line 35 of file sinicreg.hh.

◆ __SINIC_VAL64

#define __SINIC_VAL64 (   NAME,
  OFFSET,
  WIDTH 
)
Value:
static const uint64_t NAME##_width = WIDTH; \
static const uint64_t NAME##_offset = OFFSET; \
static const uint64_t NAME##_mask = (ULL(1) << WIDTH) - 1; \
static const uint64_t NAME = ((ULL(1) << WIDTH) - 1) << OFFSET; \
static inline uint64_t get_##NAME(uint64_t reg) \
{ return (reg & NAME) >> OFFSET; } \
static inline uint64_t set_##NAME(uint64_t reg, uint64_t val) \
{ return (reg & ~NAME) | ((val << OFFSET) & NAME); }

Definition at line 45 of file sinicreg.hh.

X86ISA::reg
Bitfield< 5, 3 > reg
Definition: types.hh:87
X86ISA::val
Bitfield< 63 > val
Definition: misc.hh:769
WIDTH
#define WIDTH
Definition: define.h:41
ULL
#define ULL(N)
uint64_t constant
Definition: types.hh:50

Generated on Wed Sep 30 2020 14:02:18 for gem5 by doxygen 1.8.17