39namespace copy_engine_reg
82#define ADD_FIELD8(NAME, OFFSET, BITS) \
83 inline uint8_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
84 inline void NAME(uint8_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
86#define ADD_FIELD16(NAME, OFFSET, BITS) \
87 inline uint16_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
88 inline void NAME(uint16_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
90#define ADD_FIELD32(NAME, OFFSET, BITS) \
91 inline uint32_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
92 inline void NAME(uint32_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
94#define ADD_FIELD64(NAME, OFFSET, BITS) \
95 inline uint64_t NAME() { return bits(_data, OFFSET+BITS-1, OFFSET); } \
96 inline void NAME(uint64_t d) { replaceBits(_data, OFFSET+BITS-1, OFFSET,d); }
126 using Reg<uint8_t>::operator =;
158 using Reg<uint16_t>::operator =;
Basic support for object serialization.
const uint32_t DESC_CTRL_SRC_SN
const uint32_t GEN_XFERCAP
const uint32_t DESC_CTRL_NULL
const uint32_t CHAN_STATUS
const uint32_t DESC_CTRL_DST_SN
const uint32_t CHAN_CHAINADDR_LOW
const uint32_t DESC_CTRL_CP_STS
const uint32_t DESC_CTRL_INT_GEN
const uint32_t GEN_ATTNSTATUS
const uint32_t GEN_CHANCOUNT
const uint32_t DESC_CTRL_FRAME
const uint32_t CHAN_CMPLNADDR_HIGH
const uint32_t CHAN_CONTROL
const uint32_t CHAN_CMPLNADDR
const uint32_t CHAN_CHAINADDR
const uint32_t CHAN_CMPLNADDR_LOW
const uint32_t CHAN_CHAINADDR_HIGH
const uint32_t GEN_INTRCTRL
const uint32_t CHAN_ERROR
const uint32_t CHAN_COMMAND
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
void paramOut(CheckpointOut &cp, const std::string &name, ExtMachInst const &machInst)
void paramIn(CheckpointIn &cp, const std::string &name, ExtMachInst &machInst)
#define UNSERIALIZE_SCALAR(scalar)
#define SERIALIZE_SCALAR(scalar)
ADD_FIELD8(append_dma, 1, 1)
ADD_FIELD8(start_dma, 0, 1)
ADD_FIELD8(reset_dma, 5, 1)
ADD_FIELD8(abort_dma, 3, 1)
ADD_FIELD8(suspend_dma, 2, 1)
ADD_FIELD8(resume_dma, 4, 1)
ADD_FIELD16(error_int_enable, 4, 1)
ADD_FIELD16(any_error_abort_enable, 3, 1)
ADD_FIELD16(interrupt_disable, 0, 1)
ADD_FIELD16(desc_addr_snoop_control, 5, 1)
ADD_FIELD16(error_completion_enable, 2, 1)
ADD_FIELD16(in_use, 8, 1)
ADD_FIELD32(write_data_error, 9, 1)
ADD_FIELD32(source_addr_error, 0, 1)
ADD_FIELD32(desc_error, 3, 1)
ADD_FIELD32(read_data_error, 8, 1)
ADD_FIELD32(chain_addr_error, 4, 1)
ADD_FIELD32(unaffiliated_error, 15, 1)
ADD_FIELD32(ndesc_addr_error, 2, 1)
ADD_FIELD32(dma_parity_error, 7, 1)
ADD_FIELD32(completion_addr_error, 12, 1)
ADD_FIELD32(desc_control_error, 10, 1)
ADD_FIELD32(chipset_parity_error, 6, 1)
ADD_FIELD32(desc_len_error, 11, 1)
ADD_FIELD32(chain_cmd_error, 5, 1)
ADD_FIELD32(soft_error, 14, 1)
ADD_FIELD32(dest_addr_error, 1, 1)
ADD_FIELD32(interrupt_config_error, 13, 1)
ADD_FIELD64(dma_transfer_status, 0, 3)
ADD_FIELD64(unaffiliated_error, 3, 1)
ADD_FIELD64(compl_desc_addr, 6, 58)
ADD_FIELD64(soft_error, 4, 1)
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
const Reg< T > & operator=(T d)
void unserialize(CheckpointIn &cp)
void serialize(CheckpointOut &cp) const
ADD_FIELD8(interrupt_status, 1, 1)
ADD_FIELD8(interrupt, 2, 1)
ADD_FIELD8(master_int_enable, 0, 1)
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void serialize(CheckpointOut &cp) const override
Serialize an object.