diff --git a/src/gpu-compute/gpu_render_driver.cc b/src/gpu-compute/gpu_render_driver.cc index 260a61fe72..ad75c82ba8 100644 --- a/src/gpu-compute/gpu_render_driver.cc +++ b/src/gpu-compute/gpu_render_driver.cc @@ -41,7 +41,7 @@ GPURenderDriver::GPURenderDriver(const GPURenderDriverParams &p) /* ROCm 4 utilizes the render driver located at /dev/dri/renderDXXX. This * patch implements a very simple driver that just returns a file - * descriptor when opened, as testing has shown that's all that's needed + * descriptor when opened. */ int GPURenderDriver::open(ThreadContext *tc, int mode, int flags) @@ -52,4 +52,14 @@ GPURenderDriver::open(ThreadContext *tc, int mode, int flags) return tgt_fd; } +/* DGPUs try to mmap the driver file. It doesn't appear they do anything + * with it, so we just return the address that's provided + */ +Addr GPURenderDriver::mmap(ThreadContext *tc, Addr start, uint64_t length, + int prot, int tgt_flags, int tgt_fd, off_t offset) +{ + warn_once("GPURenderDriver::mmap returning start address %#x", start); + return start; +} + } // namespace gem5 diff --git a/src/gpu-compute/gpu_render_driver.hh b/src/gpu-compute/gpu_render_driver.hh index f94fdef56e..ab1ddcfc19 100644 --- a/src/gpu-compute/gpu_render_driver.hh +++ b/src/gpu-compute/gpu_render_driver.hh @@ -50,6 +50,9 @@ class GPURenderDriver final : public EmulatedDriver { return -EBADF; } + + Addr mmap(ThreadContext *tc, Addr start, uint64_t length, + int prot, int tgt_flags, int tgt_fd, off_t offset) override; }; } // namespace gem5