|
gem5
v21.0.1.0
|
#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.
Functions | |
| template<class XC > | |
| Fault | initiateMemRead (XC *xc, Addr addr, std::size_t size, Request::Flags flags, const std::vector< bool > &byte_enable) |
| template<class XC , class MemT > | |
| Fault | 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 | getMem (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData) |
| Extract the data returned from a timing mode read. More... | |
| template<class MemT > | |
| void | getMemLE (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData) |
| template<class MemT > | |
| void | getMemBE (PacketPtr pkt, MemT &mem, Trace::InstRecord *traceData) |
| template<class XC > | |
| Fault | 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 | 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 | readMemAtomicLE (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags) |
| template<class XC , class MemT > | |
| Fault | readMemAtomicBE (XC *xc, Trace::InstRecord *traceData, Addr addr, MemT &mem, Request::Flags flags) |
| template<class XC > | |
| Fault | 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 | writeMemTiming (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res) |
| template<class XC , class MemT > | |
| Fault | writeMemTimingLE (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res) |
| template<class XC , class MemT > | |
| Fault | writeMemTimingBE (XC *xc, Trace::InstRecord *traceData, MemT mem, Addr addr, Request::Flags flags, uint64_t *res) |
| template<class XC > | |
| Fault | 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 | writeMemAtomic (XC *xc, Trace::InstRecord *traceData, const MemT &mem, Addr addr, Request::Flags flags, uint64_t *res) |
| template<class XC , class MemT > | |
| Fault | writeMemAtomicLE (XC *xc, Trace::InstRecord *traceData, const MemT &mem, Addr addr, Request::Flags flags, uint64_t *res) |
| template<class XC , class MemT > | |
| Fault | 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 | 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 | amoMemAtomicLE (XC *xc, Trace::InstRecord *traceData, MemT &mem, Addr addr, Request::Flags flags, AtomicOpFunctor *_amo_op) |
| template<class XC , class MemT > | |
| Fault | amoMemAtomicBE (XC *xc, Trace::InstRecord *traceData, MemT &mem, Addr addr, Request::Flags flags, AtomicOpFunctor *_amo_op) |
| template<class XC , class MemT > | |
| Fault | 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... | |
| Fault 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.
Definition at line 235 of file memhelpers.hh.
References X86ISA::addr, gtoh(), mem, NoFault, and Trace::InstRecord::setData().
| Fault amoMemAtomicBE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| MemT & | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| AtomicOpFunctor * | _amo_op | ||
| ) |
Definition at line 266 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault amoMemAtomicLE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| MemT & | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| AtomicOpFunctor * | _amo_op | ||
| ) |
Definition at line 257 of file memhelpers.hh.
References X86ISA::addr, and mem.
| void getMem | ( | PacketPtr | pkt, |
| MemT & | mem, | ||
| Trace::InstRecord * | traceData | ||
| ) |
Extract the data returned from a timing mode read.
Definition at line 75 of file memhelpers.hh.
References Packet::get(), mem, and Trace::InstRecord::setData().
| void getMemBE | ( | PacketPtr | pkt, |
| MemT & | mem, | ||
| Trace::InstRecord * | traceData | ||
| ) |
Definition at line 91 of file memhelpers.hh.
References mem.
| void getMemLE | ( | PacketPtr | pkt, |
| MemT & | mem, | ||
| Trace::InstRecord * | traceData | ||
| ) |
Definition at line 84 of file memhelpers.hh.
References mem.
| Fault 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.
Definition at line 276 of file memhelpers.hh.
References X86ISA::addr.
| Fault initiateMemRead | ( | XC * | xc, |
| Addr | addr, | ||
| std::size_t | size, | ||
| Request::Flags | flags, | ||
| const std::vector< bool > & | byte_enable | ||
| ) |
Definition at line 52 of file memhelpers.hh.
References X86ISA::addr.
Referenced by initiateMemRead().
| Fault initiateMemRead | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| Addr | addr, | ||
| MemT & | mem, | ||
| Request::Flags | flags | ||
| ) |
Initiate a read from memory in timing mode.
Note that the 'mem' parameter is unused; only the type of that parameter is used to determine the size of the access.
Definition at line 64 of file memhelpers.hh.
References X86ISA::addr, and initiateMemRead().
| Fault 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.
Definition at line 99 of file memhelpers.hh.
References X86ISA::addr, and mem.
Referenced by readMemAtomic().
| Fault readMemAtomic | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| Addr | addr, | ||
| MemT & | mem, | ||
| Request::Flags | flags | ||
| ) |
Read from memory in atomic mode.
Definition at line 109 of file memhelpers.hh.
References X86ISA::addr, gtoh(), mem, NoFault, readMemAtomic(), and Trace::InstRecord::setData().
| Fault readMemAtomicBE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| Addr | addr, | ||
| MemT & | mem, | ||
| Request::Flags | flags | ||
| ) |
Definition at line 135 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault readMemAtomicLE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| Addr | addr, | ||
| MemT & | mem, | ||
| Request::Flags | flags | ||
| ) |
Definition at line 126 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault writeMemAtomic | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| const MemT & | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 195 of file memhelpers.hh.
References X86ISA::addr, gtoh(), htog(), mem, Request::MEM_SWAP, Request::MEM_SWAP_COND, NoFault, Trace::InstRecord::setData(), and writeMemAtomic().
| Fault 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.
Definition at line 186 of file memhelpers.hh.
References X86ISA::addr, and mem.
Referenced by writeMemAtomic().
| Fault writeMemAtomicBE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| const MemT & | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 225 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault writeMemAtomicLE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| const MemT & | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 216 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault writeMemTiming | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| MemT | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 153 of file memhelpers.hh.
References X86ISA::addr, htog(), mem, Trace::InstRecord::setData(), and writeMemTiming().
| Fault 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.
Definition at line 144 of file memhelpers.hh.
References X86ISA::addr, and mem.
Referenced by writeMemTiming().
| Fault writeMemTimingBE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| MemT | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 176 of file memhelpers.hh.
References X86ISA::addr, and mem.
| Fault writeMemTimingLE | ( | XC * | xc, |
| Trace::InstRecord * | traceData, | ||
| MemT | mem, | ||
| Addr | addr, | ||
| Request::Flags | flags, | ||
| uint64_t * | res | ||
| ) |
Definition at line 167 of file memhelpers.hh.
References X86ISA::addr, and mem.