dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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

             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