dev-amdgpu: Default MMIO reads when previously written
If an MMIO was previously written and the driver reads it, we should return the value that was previously read. This overwrites the MMIO trace value which is the last resort fallback for finding an MMIO value. This is needed to initialize newer GPU devices in gem5. Change-Id: Ida2435290b706288e88518b5d920691cdb6dcc09 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/70039 Maintainer: Matt Sinclair <mattdsinclair@gmail.com> Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -248,6 +248,13 @@ AMDGPUDevice::readMMIO(PacketPtr pkt, Addr offset)
|
||||
DPRINTF(AMDGPUDevice, "Read MMIO %#lx\n", offset);
|
||||
mmioReader.readFromTrace(pkt, MMIO_BAR, offset);
|
||||
|
||||
if (regs.find(pkt->getAddr()) != regs.end()) {
|
||||
uint64_t value = regs[pkt->getAddr()];
|
||||
DPRINTF(AMDGPUDevice, "Reading what kernel wrote before: %#x\n",
|
||||
value);
|
||||
pkt->setUintX(value, ByteOrder::little);
|
||||
}
|
||||
|
||||
switch (aperture) {
|
||||
case NBIO_BASE:
|
||||
switch (aperture_offset) {
|
||||
|
||||
Reference in New Issue
Block a user