All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/11] Add H/W Debugger module support to amdkfd
@ 2015-05-20 21:28 Oded Gabbay
  2015-05-20 21:28 ` [PATCH 01/11] drm/radeon: Add H/W debugger kfd->kgd functions Oded Gabbay
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: Oded Gabbay @ 2015-05-20 21:28 UTC (permalink / raw)
  To: dri-devel, alexdeucher

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2015-05-20 21:29 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-20 21:28 [PATCH 00/11] Add H/W Debugger module support to amdkfd Oded Gabbay
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.