From: Oded Gabbay <oded.gabbay@gmail.com>
To: dri-devel@lists.freedesktop.org, alexdeucher@gmail.com
Subject: [PATCH 00/11] Add H/W Debugger module support to amdkfd
Date: Thu, 21 May 2015 00:28:57 +0300 [thread overview]
Message-ID: <1432157348-26686-1-git-send-email-oded.gabbay@gmail.com> (raw)
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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2015-05-20 21:29 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-20 21:28 Oded Gabbay [this message]
2015-05-20 21:28 ` [PATCH 01/11] drm/radeon: Add H/W debugger kfd->kgd functions Oded Gabbay
2015-05-20 21:28 ` [PATCH 02/11] drm/amdkfd: add H/W debugger IOCTL set definitions Oded Gabbay
2015-05-20 21:29 ` [PATCH 03/11] drm/amdkfd: Add static user-mode queues support Oded Gabbay
2015-05-20 21:29 ` [PATCH 04/11] drm/amdkfd: Add skeleton H/W debugger module support Oded Gabbay
2015-05-20 21:29 ` [PATCH 05/11] drm/amdkfd: Add wave control operation to debugger Oded Gabbay
2015-05-20 21:29 ` [PATCH 06/11] drm/amdkfd: Add address watch " Oded Gabbay
2015-05-20 21:29 ` [PATCH 07/11] drm/amdkfd: Implement (un)register debugger IOCTLs Oded Gabbay
2015-05-20 21:29 ` [PATCH 08/11] drm/amdkfd: Implement wave control debugger IOCTL Oded Gabbay
2015-05-20 21:29 ` [PATCH 09/11] drm/amdkfd: Implement address watch " Oded Gabbay
2015-05-20 21:29 ` [PATCH 10/11] drm/radeon: Add ATC VMID<-->PASID functions to kfd->kgd Oded Gabbay
2015-05-20 21:29 ` [PATCH 11/11] drm/amdkfd: Enforce kill all waves on process termination Oded Gabbay
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432157348-26686-1-git-send-email-oded.gabbay@gmail.com \
--to=oded.gabbay@gmail.com \
--cc=alexdeucher@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox