gem5  v22.0.0.2
Namespaces | Functions
memhelpers.hh File Reference
#include "base/types.hh"
#include "mem/packet.hh"
#include "mem/request.hh"
#include "sim/byteswap.hh"
#include "sim/insttracer.hh"

Go to the source code of this file.

Namespaces

 gem5
 Reference material can be found at the JEDEC website: UFS standard http://www.jedec.org/standards-documents/results/jesd220 UFS HCI specification http://www.jedec.org/standards-documents/results/jesd223.
 

Functions

template<class XC >
Fault gem5::initiateMemRead (XC *xc, Addr addr, std::size_t size, Request::Flags flags, const std::vector< bool > &byte_enable)
 
template<class XC , class MemT >
Fault gem5::initiateMemRead (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags)
 Initiate a read from memory in timing mode. More...
 
template<ByteOrder Order, class MemT >
void gem5::getMem (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData)
 Extract the data returned from a timing mode read. More...
 
template<class MemT >
void gem5::getMemLE (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData)
 
template<class MemT >
void gem5::getMemBE (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData)
 
template<class XC >
Fault gem5::readMemAtomic (XC *xc, Addr addr, uint8_t *mem, std::size_t size, Request::Flags flags, const std::vector< bool > &byte_enable)
 Read from memory in atomic mode. More...
 
template<ByteOrder Order, class XC , class MemT >
Fault gem5::readMemAtomic (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags)
 Read from memory in atomic mode. More...
 
template<class XC , class MemT >
Fault gem5::readMemAtomicLE (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags)
 
template<class XC , class MemT >
Fault gem5::readMemAtomicBE (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags)
 
template<class XC >
Fault gem5::writeMemTiming (XC *xc, uint8_t *mem, Addr addr, std::size_t size, Request::Flags flags, uint64_t *res, const std::vector< bool > &byte_enable)
 Write to memory in timing mode. More...
 
template<ByteOrder Order, class XC , class MemT >
Fault gem5::writeMemTiming (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<class XC , class MemT >
Fault gem5::writeMemTimingLE (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<class XC , class MemT >
Fault gem5::writeMemTimingBE (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<class XC >
Fault gem5::writeMemAtomic (XC *xc, uint8_t *mem, Addr addr, std::size_t size, Request::Flags flags, uint64_t *res, const std::vector< bool > &byte_enable)
 Write to memory in atomic mode. More...
 
template<ByteOrder Order, class XC , class MemT >
Fault gem5::writeMemAtomic (XC *xc, Trace::InstRecord *traceData, const MemT &mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<class XC , class MemT >
Fault gem5::writeMemAtomicLE (XC *xc, Trace::InstRecord *traceData, const MemT &mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<class XC , class MemT >
Fault gem5::writeMemAtomicBE (XC *xc, Trace::InstRecord *traceData, const MemT &mem, Addr addr, Request::Flags flags, uint64_t *res)
 
template<ByteOrder Order, class XC , class MemT >
Fault gem5::amoMemAtomic (XC *xc, Trace::InstRecord *traceData, MemT &mem, Addr addr, Request::Flags flags, AtomicOpFunctor *_amo_op)
 Do atomic read-modify-write (AMO) in atomic mode. More...
 
template<class XC , class MemT >
Fault gem5::amoMemAtomicLE (XC *xc, Trace::InstRecord *traceData, MemT &mem, Addr addr, Request::Flags flags, AtomicOpFunctor *_amo_op)
 
template<class XC , class MemT >
Fault gem5::amoMemAtomicBE (XC *xc, Trace::InstRecord *traceData, MemT &mem, Addr addr, Request::Flags flags, AtomicOpFunctor *_amo_op)
 
template<class XC , class MemT >
Fault gem5::initiateMemAMO (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags, AtomicOpFunctor *_amo_op)
 Do atomic read-modify-wrote (AMO) in timing mode. More...
 

Generated on Thu Jul 28 2022 13:32:44 for gem5 by doxygen 1.8.17