dev-amdgpu: Add memory manager for GPU VRAM

The memory manager is responsible for reading and writes to VRAM memory
for direct requests that bypass GPU caches.

Change-Id: I4aa1e77737ce52f2f2c01929b58984126bdcb925
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/51850
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Matthew Poremba
2021-10-20 15:22:57 -05:00
parent b7826f1329
commit 42b56ceb7b
6 changed files with 255 additions and 3 deletions

View File

@@ -36,6 +36,7 @@
#include "base/bitunion.hh"
#include "dev/amdgpu/amdgpu_defines.hh"
#include "dev/amdgpu/memory_manager.hh"
#include "dev/amdgpu/mmio_reader.hh"
#include "dev/io_device.hh"
#include "dev/pci/device.hh"
@@ -100,6 +101,8 @@ class AMDGPUDevice : public PciDevice
*/
AMDMMIOReader mmioReader;
AMDGPUMemoryManager *gpuMemMgr;
/**
* Blocks of the GPU
*/
@@ -183,7 +186,7 @@ class AMDGPUDevice : public PciDevice
/**
* Methods related to translations and system/device memory.
*/
RequestorID vramRequestorId() { return 0; }
RequestorID vramRequestorId() { return gpuMemMgr->getRequestorID(); }
Addr
getPageTableBase(uint16_t vmid)