Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#0: Bugfix for launch message setting on watcher hang for Tensix #12956

Merged
merged 1 commit into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions tt_metal/hw/inc/debug/assert.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@ void assert_and_hang(uint32_t line_num) {
v->which = debug_get_which_riscv();
}

// Update launch msg to show that we've exited.
// Hang, or in the case of erisc, early exit.
#if defined(COMPILE_FOR_ERISC)
// Update launch msg to show that we've exited. This is required so that the next run doesn't think there's a kernel
// still running and try to make it exit.
tt_l1_ptr launch_msg_t *launch_msg = GET_MAILBOX_ADDRESS_DEV(launch);
launch_msg->go.run = RUN_MSG_DONE;

// Hang, or in the case of erisc, early exit.
#if defined(COMPILE_FOR_ERISC)
// This exits to base FW
internal_::disable_erisc_app();
erisc_early_exit(eth_l1_mem::address_map::ERISC_MEM_MAILBOX_STACK_SAVE);
#endif
Expand Down
5 changes: 3 additions & 2 deletions tt_metal/hw/inc/debug/sanitize_noc.h
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,12 @@ inline void debug_sanitize_post_noc_addr_and_hang(
v[noc_id].invalid = invalid;
}

// Update launch msg to show that we've exited.
#if defined(COMPILE_FOR_ERISC)
// Update launch msg to show that we've exited. This is required so that the next run doesn't think there's a kernel
// still running and try to make it exit.
tt_l1_ptr launch_msg_t *launch_msg = GET_MAILBOX_ADDRESS_DEV(launch);
launch_msg->go.run = RUN_MSG_DONE;

#if defined(COMPILE_FOR_ERISC)
// For erisc, we can't hang the kernel/fw, because the core doesn't get restarted when a new
// kernel is written. In this case we'll do an early exit back to base FW.
internal_::disable_erisc_app();
Expand Down
Loading