New trap handler ABI (v4)
Replace the stop reasons ttmp11.trap_raised and ttmp11.excp_raised
with ttmp11.wave_stopped which indicates that the trap handler has
halted the wave as the result of an event (trap, single-step or
exception).
If the wave is stopped because of a trap, also record the trap_id in
ttmp11.saved_trap_id[7:0].
Save status.halt in ttmp11.saved_status_halt, so that it can be
restored when resuming a wave (changing a wave's state from stopped to
running or single-stepping).
Change-Id: I7322f59b60e8cc1b92bf5f067dba606a3109ef49
[ROCm/ROCR-Runtime commit: 9ca79d072a]
Tento commit je obsažen v:
@@ -76,7 +76,8 @@ __attribute__((noinline)) static void _loader_debug_state() {
|
||||
// 1: Initial debug protocol
|
||||
// 2: New trap handler ABI. The reason for halting a wave is recorded in ttmp11[8:7].
|
||||
// 3: New trap handler ABI. A wave halted at S_ENDPGM rewinds its PC by 8 bytes, and sets ttmp11[9]=1.
|
||||
HSA_API r_debug _amdgpu_r_debug = {3,
|
||||
// 4: New trap handler ABI. Save the trap id in ttmp11[16:9]
|
||||
HSA_API r_debug _amdgpu_r_debug = {4,
|
||||
nullptr,
|
||||
reinterpret_cast<uintptr_t>(&_loader_debug_state),
|
||||
r_debug::RT_CONSISTENT,
|
||||
|
||||
Odkázat v novém úkolu
Zablokovat Uživatele