gem5  v20.1.0.0
Classes | Namespaces | Macros | Variables
copy_engine_defs.hh File Reference
#include "base/bitfield.hh"
#include "sim/serialize.hh"

Go to the source code of this file.

Classes

struct  CopyEngineReg::DmaDesc
 
struct  CopyEngineReg::Reg< T >
 
struct  CopyEngineReg::Regs
 
struct  CopyEngineReg::Regs::INTRCTRL
 
struct  CopyEngineReg::ChanRegs
 
struct  CopyEngineReg::ChanRegs::CHANCTRL
 
struct  CopyEngineReg::ChanRegs::CHANSTS
 
struct  CopyEngineReg::ChanRegs::CHANCMD
 
struct  CopyEngineReg::ChanRegs::CHANERR
 

Namespaces

 CopyEngineReg
 

Macros

#define ADD_FIELD8(NAME, OFFSET, BITS)
 
#define ADD_FIELD16(NAME, OFFSET, BITS)
 
#define ADD_FIELD32(NAME, OFFSET, BITS)
 
#define ADD_FIELD64(NAME, OFFSET, BITS)
 

Variables

const uint32_t CopyEngineReg::GEN_CHANCOUNT = 0x00
 
const uint32_t CopyEngineReg::GEN_XFERCAP = 0x01
 
const uint32_t CopyEngineReg::GEN_INTRCTRL = 0x03
 
const uint32_t CopyEngineReg::GEN_ATTNSTATUS = 0x04
 
const uint32_t CopyEngineReg::CHAN_CONTROL = 0x00
 
const uint32_t CopyEngineReg::CHAN_STATUS = 0x04
 
const uint32_t CopyEngineReg::CHAN_CHAINADDR = 0x0C
 
const uint32_t CopyEngineReg::CHAN_CHAINADDR_LOW = 0x0C
 
const uint32_t CopyEngineReg::CHAN_CHAINADDR_HIGH = 0x10
 
const uint32_t CopyEngineReg::CHAN_COMMAND = 0x14
 
const uint32_t CopyEngineReg::CHAN_CMPLNADDR = 0x18
 
const uint32_t CopyEngineReg::CHAN_CMPLNADDR_LOW = 0x18
 
const uint32_t CopyEngineReg::CHAN_CMPLNADDR_HIGH = 0x1C
 
const uint32_t CopyEngineReg::CHAN_ERROR = 0x28
 
const uint32_t CopyEngineReg::DESC_CTRL_INT_GEN = 0x00000001
 
const uint32_t CopyEngineReg::DESC_CTRL_SRC_SN = 0x00000002
 
const uint32_t CopyEngineReg::DESC_CTRL_DST_SN = 0x00000004
 
const uint32_t CopyEngineReg::DESC_CTRL_CP_STS = 0x00000008
 
const uint32_t CopyEngineReg::DESC_CTRL_FRAME = 0x00000010
 
const uint32_t CopyEngineReg::DESC_CTRL_NULL = 0x00000020
 

Macro Definition Documentation

◆ ADD_FIELD16

#define ADD_FIELD16 (   NAME,
  OFFSET,
  BITS 
)
Value:
inline uint16_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
inline void NAME(uint16_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }

Definition at line 81 of file copy_engine_defs.hh.

◆ ADD_FIELD32

#define ADD_FIELD32 (   NAME,
  OFFSET,
  BITS 
)
Value:
inline uint32_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
inline void NAME(uint32_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }

Definition at line 85 of file copy_engine_defs.hh.

◆ ADD_FIELD64

#define ADD_FIELD64 (   NAME,
  OFFSET,
  BITS 
)
Value:
inline uint64_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
inline void NAME(uint64_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }

Definition at line 89 of file copy_engine_defs.hh.

◆ ADD_FIELD8

#define ADD_FIELD8 (   NAME,
  OFFSET,
  BITS 
)
Value:
inline uint8_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
inline void NAME(uint8_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }

Definition at line 77 of file copy_engine_defs.hh.

replaceBits
void replaceBits(T &val, int first, int last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
Definition: bitfield.hh:179
ArmISA::d
Bitfield< 9 > d
Definition: miscregs_types.hh:60
bits
T bits(T val, int first, int last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
Definition: bitfield.hh:75

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