libhsakmt: add host trap send
Adding host trap send command. Signed-off-by: Jonathan Kim <Jonathan.Kim@amd.com> Change-Id: I291c13f5905e00bc6685a980284a6abd0c98da78
Этот коммит содержится в:
коммит произвёл
Kent Russell
родитель
97ae33f9de
Коммит
f398d6d204
@@ -844,6 +844,16 @@ hsaKmtGetQueueSnapshot(
|
||||
HSAuint32 *QssEntries // IN/OUT
|
||||
);
|
||||
|
||||
/**
|
||||
Send the host trap
|
||||
*/
|
||||
HSAKMT_STATUS
|
||||
HSAKMTAPI
|
||||
hsaKmtSendHostTrap(
|
||||
HSAuint32 NodeId, //IN
|
||||
HSAuint32 Pid //IN
|
||||
);
|
||||
|
||||
/**
|
||||
Set the trap override mask. When debug trap is enabled by
|
||||
hsaKmtEnableDebugTrap() each wave launched has its initial
|
||||
|
||||
@@ -224,6 +224,7 @@ struct kfd_ioctl_dbg_wave_control_args {
|
||||
#define KFD_DBG_EV_STATUS_VMFAULT 2
|
||||
#define KFD_DBG_EV_STATUS_SUSPENDED 4
|
||||
#define KFD_DBG_EV_STATUS_NEW_QUEUE 8
|
||||
#define KFD_DBG_EV_STATUS_HOST_TRAP_TIMEDOUT 16
|
||||
#define KFD_DBG_EV_FLAG_CLEAR_STATUS 1
|
||||
|
||||
#define KFD_INVALID_QUEUEID 0xffffffff
|
||||
@@ -309,6 +310,14 @@ struct kfd_ioctl_dbg_wave_control_args {
|
||||
*/
|
||||
#define KFD_IOC_DBG_TRAP_SET_ADDRESS_WATCH 9
|
||||
|
||||
/* KFD_IOC_DBG_SEND_HOST_TRAP:
|
||||
* ptr: unused
|
||||
* data1: unused
|
||||
* data2: unused
|
||||
* data3: unused
|
||||
*/
|
||||
#define KFD_IOC_DBG_TRAP_SEND_HOST_TRAP 10
|
||||
|
||||
struct kfd_ioctl_dbg_trap_args {
|
||||
__u64 ptr; /* to KFD -- used for pointer arguments: queue arrays */
|
||||
__u32 pid; /* to KFD */
|
||||
|
||||
@@ -731,3 +731,24 @@ HSAKMT_STATUS HSAKMTAPI hsaKmtClearAddressWatch(
|
||||
NULL);
|
||||
return result;
|
||||
}
|
||||
|
||||
HSAKMT_STATUS
|
||||
HSAKMTAPI
|
||||
hsaKmtSendHostTrap(
|
||||
HSAuint32 NodeId, //IN
|
||||
HSAuint32 Pid //IN
|
||||
)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = debug_trap(NodeId,
|
||||
KFD_IOC_DBG_TRAP_SEND_HOST_TRAP,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
Pid,
|
||||
0,
|
||||
NULL);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ hsaKmtEnableDebugTrap;
|
||||
hsaKmtEnableDebugTrapWithPollFd;
|
||||
hsaKmtDisableDebugTrap;
|
||||
hsaKmtQueryDebugEvent;
|
||||
hsaKmtSendHostTrap;
|
||||
hsaKmtGetQueueSnapshot;
|
||||
hsaKmtSetWaveLaunchTrapOverride;
|
||||
hsaKmtSetWaveLaunchMode;
|
||||
|
||||
Ссылка в новой задаче
Block a user