dev-hsa: Add HSA device and HSA packet processor
authorTony Gutierrez <anthony.gutierrez@amd.com>
Fri, 27 Apr 2018 23:40:11 +0000 (19:40 -0400)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Thu, 30 Apr 2020 15:54:38 +0000 (15:54 +0000)
commit15adefd7bcdda9b14b1af80f2253ca203cac3633
tree4eec162d70986be389a3590c756b64cbe7e7f2dd
parent94f15bd3f7cf4f754ae97e1a99b5cb2bc38542fa
dev-hsa: Add HSA device and HSA packet processor

This change adds support for HSA devices, which are
DMA devices that have an HSA packet processor (HSAPP).

An HSA packet processor model is also included. The
HSAPP is a DMA device that matains AQL packet queues
and handles extraction of AQL packets, scheduling
of AQL queues, and initiates kernel launch for HSA
devices.

Because these devices directly interact with low-level
software and aid in the implementation of the HSA ABI
we also include some headers from the ROCm runtime:
the hsa.h and kfd_ioctl.h headers. These aid with
support ROCm for the HSA devices and drivers.

Change-Id: I24305e0337edc6fa555d436697b4e607a1e097d5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/28128
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
16 files changed:
MAINTAINERS
src/dev/hsa/HSADevice.py [new file with mode: 0644]
src/dev/hsa/HSADriver.py [new file with mode: 0644]
src/dev/hsa/SConscript [new file with mode: 0644]
src/dev/hsa/hsa.h [new file with mode: 0644]
src/dev/hsa/hsa_device.cc [new file with mode: 0644]
src/dev/hsa/hsa_device.hh [new file with mode: 0644]
src/dev/hsa/hsa_driver.cc [new file with mode: 0644]
src/dev/hsa/hsa_driver.hh [new file with mode: 0644]
src/dev/hsa/hsa_packet.hh [new file with mode: 0644]
src/dev/hsa/hsa_packet_processor.cc [new file with mode: 0644]
src/dev/hsa/hsa_packet_processor.hh [new file with mode: 0644]
src/dev/hsa/hsa_queue.hh [new file with mode: 0644]
src/dev/hsa/hw_scheduler.cc [new file with mode: 0644]
src/dev/hsa/hw_scheduler.hh [new file with mode: 0644]
src/dev/hsa/kfd_ioctl.h [new file with mode: 0644]