Remove the line "For use for simulation and test purposes only" in files were AMD is the only copyright holder listed in the header. This happens to be the case for all files where this line exists, removing it completely from gem5. Change-Id: I623f266b002f564301b28774f49081099cfc60fd Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53943 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
The utility scripts provided in this directly can be used to recreate the files needed to run Full System amdgpu. Golden versions of these files are provided in the gem5-resources repository.
These scripts are intended to be run on a Linux system with a discrete AMD
GPU card running the same kernel version as the disk image which will be used
for Full System simulations. To ensure the kernel versions match, it is
recommended that the user uses the dd utility to make a copy of the disk
image to a secondary physical disk and then boot from that disk image.
MMIO Trace collection
The script collect_mmio_trace.sh collects an MMIO trace. For this to work,
MMIO tracing must be enabled in the kernel. Using the disk image approach
above and/or using recent kernel versions based on Ubuntu, this is enabled
by default.
Before collecting the trace, the amdgpu module must be blacklisted such that we can enable tracing before the modprobe occurs and disabled once modprobe is complete.
This can be done using either:
echo 'blacklist amdgpu' >> /etc/modprobe.d/blacklist.conf
or
add modprobe.blacklist=amdgpu to kernel boot command (e.g., in grub)
And then reboot.
The script will take care of the proper options and run the mmiotrace commands. The output trace will likely contain unrelated from other MMIOs and therefore will be around 500MB in size. You will want to reboot again as mmiotrace disables SMP.
GPU ROM Dump
The script dump_gpu_rom.sh dumps the GPU ROM. The GPU ROM on x86 resides
in the memory range 0xC0000 - 0xDFFFF. The script simply uses the dd
command to copy this range from /dev/mem. The amdgpu driver must be loaded
in order for the ROM to be written to this region, so run modprobe first.