34#include "debug/AMDGPUDevice.hh"
76 pkt->
setLE<uint32_t>(value);
84 pkt->
setLE<uint32_t>(value);
101 pkt->
setLE<uint32_t>(0x10001);
108 pkt->
setLE<uint32_t>(0x1);
112 pkt->
setLE<uint32_t>(0x80000000);
115 pkt->
setLE<uint32_t>(0x1);
139 pkt->
getLE<uint32_t>());
143 pkt->
getLE<uint32_t>());
168 if (pkt->
getLE<uint32_t>() == 0x10000) {
173 0x80000000 + pkt->
getLE<uint32_t>();
225 }
else if (pkt->
getSize() == 8) {
229 panic(
"Invalid write size to psp_ring_listen_addr\n");
#define AMDGPU_PCIE_INDEX
#define AMDGPU_PCIE_DATA2
#define AMDGPU_MM_INDEX_HI
#define AMDGPU_PCIE_INDEX2
#define VEGA10_INV_ENG17_ACK2
#define VEGA10_INV_ENG17_ACK1
#define MI100_INV_ENG17_SEM2
#define AMDGPU_MP0_SMN_C2PMSG_81
#define AMDGPU_MP0_SMN_C2PMSG_71
#define AMDGPU_MP0_SMN_C2PMSG_64
#define MI100_INV_ENG17_ACK2
#define MI200_INV_ENG17_SEM2
#define AMDGPU_MP0_SMN_C2PMSG_35
#define AMDGPU_MM_INDEX
MMIO offsets for NBIO.
#define VEGA10_INV_ENG17_SEM1
#define MI100_INV_ENG17_ACK3
#define MI100_INV_ENG17_SEM3
#define MI200_INV_ENG17_ACK2
#define AMDGPU_MP0_SMN_C2PMSG_69
#define VEGA10_INV_ENG17_SEM2
#define AMDGPU_MP1_SMN_C2PMSG_90
#define AMDGPU_MP0_SMN_C2PMSG_70
Device model for an AMD GPU.
GfxVersion getGfxVersion() const
void setRegVal(uint64_t addr, uint32_t value)
uint32_t getRegVal(uint64_t addr)
Register value getter/setter.
void readMMIO(PacketPtr pkt, Addr offset)
Addr psp_ring_listen_addr
std::unordered_map< uint32_t, uint32_t > triggered_reads
void writeMMIO(PacketPtr pkt, Addr offset)
bool readFrame(PacketPtr pkt, Addr offset)
void writeFrame(PacketPtr pkt, Addr offset)
void setGPUDevice(AMDGPUDevice *gpu_device)
Addr getSysAddrRangeLow()
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
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 ...
void setLE(T v)
Set the value in the data pointer to v as little endian.
uint64_t getUintX(ByteOrder endian) const
Get the data in the packet byte swapped from the specified endianness and zero-extended to 64 bits.
T getLE() const
Get the data in the packet byte swapped from little endian to host endian.
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 panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.