[PATCH 00/11] Add H/W Debugger module support to amdkfd
Oded Gabbay
oded.gabbay at gmail.com
Wed May 20 14:28:57 PDT 2015
This patch-set adds the H/W debugger module support to amdkfd.
The H/W debugger module support enables a userspace debugger, e.g gdb, to
debug GPU kernels running in HSA mode.
The available operations in this patch-set are setting watchpoints in the
GPU kernel and controlling wave-fronts.
It is important to mention that due to security reasons, the userspace process
can only debug itself. This means that the process should contain an "agent"
that could be connected to remotely by a debugger, which will provide the
front-end to the user.
There is ongoing work inside AMD to provide such a tool via gdb extensions.
In addition, this patch-set enables amdkfd to "kill" all running waves, in
case of an infinite GPU kernel (due to bug or malicious attack), by using the
debugger infrastructure. This provides greater control to the kernel level,
which is always a good thing, IMO.
More data is inside the individual commit messages.
Please review.
Thanks,
Oded
Alexey Skidanov (1):
drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd
Ben Goz (1):
drm/amdkfd: Enforce kill all waves on process termination
Yair Shachar (9):
drm/radeon: Add H/W debugger kfd->kgd functions
drm/amdkfd: add H/W debugger IOCTL set definitions
drm/amdkfd: Add static user-mode queues support
drm/amdkfd: Add skeleton H/W debugger module support
drm/amdkfd: Add wave control operation to debugger
drm/amdkfd: Add address watch operation to debugger
drm/amdkfd: Implement (un)register debugger IOCTLs
drm/amdkfd: Implement wave control debugger IOCTL
drm/amdkfd: Implement address watch debugger IOCTL
drivers/gpu/drm/amd/amdkfd/Makefile | 3 +-
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 310 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c | 886 +++++++++++++++++++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h | 193 +++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 168 ++++
drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h | 294 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 5 +
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 48 +-
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 6 +
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 46 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers.h | 6 +-
drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h | 290 +++++++
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 18 +
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 8 +
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 18 +-
drivers/gpu/drm/amd/include/kgd_kfd_interface.h | 21 +
drivers/gpu/drm/radeon/cik_reg.h | 56 +-
drivers/gpu/drm/radeon/cikd.h | 9 +-
drivers/gpu/drm/radeon/radeon_kfd.c | 151 +++-
include/uapi/linux/kfd_ioctl.h | 43 +-
20 files changed, 2548 insertions(+), 31 deletions(-)
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgdev.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.h
create mode 100644 drivers/gpu/drm/amd/amdkfd/kfd_pm4_headers_diq.h
--
2.1.0
More information about the dri-devel
mailing list