40 #ifndef __ARCH_X86_MMAPPEDIPR_HH__ 41 #define __ARCH_X86_MMAPPEDIPR_HH__ 64 if (m5opRange.contains(addr)) {
67 uint64_t ret = PseudoInst::pseudoInst<X86PseudoInstABI>(tc, func);
75 pkt->
setData(((uint8_t *)&data) + offset);
85 if (m5opRange.contains(addr)) {
88 PseudoInst::pseudoInst<X86PseudoInstABI>(tc, func);
95 pkt->
writeData(((uint8_t *)&data) + offset);
102 #endif // __ARCH_X86_MMAPPEDIPR_HH__
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
virtual System * getSystemPtr()=0
Cycles is a wrapper class for representing cycle counts, i.e.
static void decodeAddrOffset(Addr offset, uint8_t &func)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
void setLE(T v)
Set the value in the data pointer to v as little endian.
void setData(const uint8_t *p)
Copy data into the packet from the provided pointer.
void writeData(uint8_t *p) const
Copy data from the packet to the memory at the provided pointer.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
const AddrRange & m5opRange() const
Range used by memory-mapped m5 pseudo-ops if enabled.
Cycles handleIprRead(ThreadContext *tc, Packet *pkt)
Cycles handleIprWrite(ThreadContext *tc, Packet *pkt)
virtual RegVal readMiscRegNoEffect(RegIndex misc_reg) const =0
Declaration of the Packet class.
This is exposed globally, independent of the ISA.
virtual RegVal readMiscReg(RegIndex misc_reg)=0