gem5 v24.0.0.0
Loading...
Searching...
No Matches
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

namespace  gem5
 Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
 

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.
 
template<ByteOrder Order, class MemT >
void gem5::getMem (PacketPtr pkt, MemT &mem, trace::InstRecord *traceData)
 Extract the data returned from a timing mode read.
 
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.
 
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.
 
template<ByteOrder Order, class XC , class MemT >
Fault gem5::readMemAtomic (XC *xc, trace::InstRecord *traceData, Addr addr, MemT &mem, size_t size, Request::Flags flags)
 Read from memory in atomic mode.
 
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::readMemAtomicLE (XC *xc, trace::InstRecord *traceData, Addr addr, MemT &mem, size_t size, 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.
 
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<ByteOrder Order, class XC , class MemT >
Fault gem5::writeMemTiming (XC *xc, trace::InstRecord *traceData, MemT mem, Addr addr, size_t size, 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::writeMemTimingLE (XC *xc, trace::InstRecord *traceData, MemT mem, Addr addr, size_t size, 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.
 
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<ByteOrder Order, class XC , class MemT >
Fault gem5::writeMemAtomic (XC *xc, trace::InstRecord *traceData, const MemT &mem, Addr addr, size_t size, 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::writeMemAtomicLE (XC *xc, trace::InstRecord *traceData, const MemT &mem, size_t size, 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.
 
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.
 

Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0