46f5e83066
The purpose of this KFDTest is to investigate the behaviour of an SDMA queue when an invalid memory address is used. v2: Don't wait for SDMA queue to finish - it won't finish because of the gpuvm fault. v3: Create kfd event before SDMA queue submission. This fix the issue that gpuvm fault happens earlier than kfd event is created then KFD exception handler can't find the kfd event (to wake up kfd test) v4: Instead of using 0x12345678 as the invalid VA, map one page of FB to gpu and unmap it. Use the mapped GPUVA as the invalid address Change-Id: I58af1511f75d869adddede302b238c2725f3fe5a Signed-off-by: Ori Messinger <Ori.Messinger@amd.com> Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
1. Note on building kfdtest To build this kfdtest application, the following libraries should be already installed on the building machine: libdrm libdrm_amdgpu libhsakmt If libhsakmt is not installed, but the headers and libraries are present locally, you can specify its directory by export LIBHSAKMT_PATH=/*your local libhsakmt folder*/ With that, the headers and libraries are searched under LIBHSAKMT_PATH/include and LIBHSAKMT_PATH/lib respectively. 2. How to run kfdtest Just run "./run_kfdtest.sh" under the building output folder. You may need to specify library path through: export LD_LIBRARY_PATH=/*your library path containing libhsakmt*/ Note: you can use "run_kfdtest.sh -h" to see more options.