Go to the documentation of this file.
34 #include "debug/AMDGPUDevice.hh"
65 uint32_t value = pkt->
getLE<uint32_t>() | 0x1;
67 pkt->
setLE<uint32_t>(value);
79 pkt->
setLE<uint32_t>(0x10001);
86 pkt->
setLE<uint32_t>(0x1);
90 pkt->
setLE<uint32_t>(0x80000000);
102 pkt->
setLE<uint32_t>(reg_val);
117 pkt->
getLE<uint32_t>());
121 pkt->
getLE<uint32_t>());
128 if (pkt->
getLE<uint32_t>() == 0x10000) {
133 0x80000000 + pkt->
getLE<uint32_t>();
177 }
else if (pkt->
getSize() == 8) {
181 panic(
"Invalid write size to psp_ring_listen_addr\n");
Addr psp_ring_listen_addr
uint64_t getUintX(ByteOrder endian) const
Get the data in the packet byte swapped from the specified endianness and zero-extended to 64 bits.
#define MI200_INV_ENG17_ACK2
void readMMIO(PacketPtr pkt, Addr offset)
#define AMDGPU_MP0_SMN_C2PMSG_70
#define AMDGPU_MP0_SMN_C2PMSG_64
#define AMDGPU_MM_INDEX
MMIO offsets for NBIO.
#define AMDGPU_MM_INDEX_HI
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void setRegVal(uint32_t addr, uint32_t value)
#define AMDGPU_PCIE_DATA_REG
void setGPUDevice(AMDGPUDevice *gpu_device)
Device model for an AMD GPU.
constexpr T insertBits(T val, unsigned first, unsigned last, B bit_val)
Returns val with bits first to last set to the LSBs of bit_val.
#define VEGA10_INV_ENG17_SEM1
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
bool readFrame(PacketPtr pkt, Addr offset)
bool haveRegVal(uint32_t addr)
Register value getter/setter.
#define VEGA10_INV_ENG17_ACK1
#define VEGA10_INV_ENG17_ACK2
#define AMDGPU_MP0_SMN_C2PMSG_35
#define AMDGPU_MP0_SMN_C2PMSG_71
#define MI100_INV_ENG17_ACK2
#define MI100_INV_ENG17_SEM3
#define MI100_INV_ENG17_SEM2
T getLE() const
Get the data in the packet byte swapped from little endian to host endian.
Addr getSysAddrRangeLow()
#define AMDGPU_MP0_SMN_C2PMSG_81
void setLE(T v)
Set the value in the data pointer to v as little endian.
uint32_t getRegVal(uint32_t addr)
void writeFrame(PacketPtr pkt, Addr offset)
#define MI200_INV_ENG17_SEM2
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void writeMMIO(PacketPtr pkt, Addr offset)
void setUintX(uint64_t w, ByteOrder endian)
Set the value in the word w after truncating it to the length of the packet and then byteswapping it ...
#define VEGA10_INV_ENG17_SEM2
std::unordered_map< uint32_t, uint32_t > triggered_reads
#define AMDGPU_MP0_SMN_C2PMSG_69
#define MI100_INV_ENG17_ACK3
#define panic(...)
This implements a cprintf based panic() function.
Generated on Sun Jul 30 2023 01:56:54 for gem5 by doxygen 1.8.17