Handle traps, illegal instruction, memory violations through queue signal
Report traps and fatal exceptions through a wavefront's amd_queue_t.queue_inactive_signal. Previously, only traps were reported and requireed the compiler to pass in the signal pointer in s[0:1]. The signal is obtained through a mapping from doorbell index to amd_queue_t*. The doorbell is fetched within a wavefront through the gfx9+ S_SENDMSG(MSG_GET_DOORBELL) instruction. Change-Id: I319b45f2e15dfcfe4db8f4065da1136e9539a42b
This commit is contained in:
committato da
Sean Keely
parent
6ed686ee29
commit
ff8f439112
@@ -2719,6 +2719,17 @@ hsa_status_t hsa_status_string(
|
||||
*status_string =
|
||||
"HSA_STATUS_ERROR_FATAL: The queue received an error that may require process "
|
||||
"termination.";
|
||||
break;
|
||||
case HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION:
|
||||
*status_string =
|
||||
"HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION: The agent attempted to access "
|
||||
"memory beyond the largest legal address.";
|
||||
break;
|
||||
case HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION:
|
||||
*status_string =
|
||||
"HSA_STATUS_ERROR_ILLEGAL_INSTRUCTION: The agent attempted to execute an "
|
||||
"illegal shader instruction.";
|
||||
break;
|
||||
case HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED:
|
||||
*status_string =
|
||||
"HSA_EXT_STATUS_ERROR_IMAGE_FORMAT_UNSUPPORTED: Image "
|
||||
|
||||
Fai riferimento in un nuovo problema
Block a user