|
Zephyr Project API 4.4.99
A Scalable Open Source RTOS
|
Functions | |
| void | arch_coredump_info_dump (const struct arch_esf *esf) |
| Architecture-specific handling during coredump. | |
| uint16_t | arch_coredump_tgt_code_get (void) |
| Get the target code specified by the architecture. | |
| uintptr_t | arch_coredump_stack_ptr_get (const struct k_thread *thread) |
| Get the stack pointer of the thread. | |
| void | arch_coredump_freeze_other_cpus (void) |
| Freeze every other online CPU and capture its live register state. | |
| void | arch_coredump_thaw_other_cpus (void) |
| Release every CPU frozen by arch_coredump_freeze_other_cpus(). | |
| void | arch_coredump_cpu_snapshot_dump (unsigned int cpu) |
| Emit a live register snapshot captured for the given CPU index. | |
| void | arch_coredump_priv_stack_dump (struct k_thread *thread) |
| Architecture-specific handling of dumping privileged stack. | |
| void arch_coredump_cpu_snapshot_dump | ( | unsigned int | cpu | ) |
#include <kernel_arch_interface.h>
Emit a live register snapshot captured for the given CPU index.
No-op if that CPU was never successfully frozen (self, never booted, or timed out). Only valid to call between arch_coredump_freeze_other_cpus() and arch_coredump_thaw_other_cpus().
| cpu | CPU index (0..CONFIG_MP_MAX_NUM_CPUS-1) |
| void arch_coredump_freeze_other_cpus | ( | void | ) |
#include <kernel_arch_interface.h>
Freeze every other online CPU and capture its live register state.
Sends an architecture-specific IPI to every CPU other than the caller and waits (with a bounded timeout) for each to report a captured snapshot. A CPU that doesn't respond in time (never booted, or busy with IRQs masked) is simply skipped – this must never block indefinitely.
Must be paired with a later call to arch_coredump_thaw_other_cpus() so frozen CPUs resume; must not be called from more than one CPU at a time.
| void arch_coredump_info_dump | ( | const struct arch_esf * | esf | ) |
#include <kernel_arch_interface.h>
Architecture-specific handling during coredump.
This dumps architecture-specific information during coredump.
| esf | Exception Stack Frame (arch-specific) |
| void arch_coredump_priv_stack_dump | ( | struct k_thread * | thread | ) |
#include <kernel_arch_interface.h>
Architecture-specific handling of dumping privileged stack.
This dumps the architecture-specific privileged stack during coredump.
| thread | Pointer to thread object |
#include <kernel_arch_interface.h>
Get the stack pointer of the thread.
| uint16_t arch_coredump_tgt_code_get | ( | void | ) |
#include <kernel_arch_interface.h>
Get the target code specified by the architecture.
| void arch_coredump_thaw_other_cpus | ( | void | ) |
#include <kernel_arch_interface.h>
Release every CPU frozen by arch_coredump_freeze_other_cpus().