x86: consolidate some fatal error code
Some code for unwinding stacks and z_x86_fatal_error() now in a common C file, suitable for both modes. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
64f6e2ac6b
commit
9fb89ccf32
5 changed files with 172 additions and 135 deletions
|
@ -10,28 +10,6 @@
|
|||
#include <logging/log.h>
|
||||
LOG_MODULE_DECLARE(os);
|
||||
|
||||
void z_x86_fatal_error(unsigned int reason, const z_arch_esf_t *esf)
|
||||
{
|
||||
if (esf != NULL) {
|
||||
LOG_ERR("RIP: 0x%016lx RSP: 0x%016lx RFLAGS: 0x%016lx",
|
||||
esf->rip, esf->rsp, esf->rflags);
|
||||
|
||||
LOG_ERR("RAX: 0x%016lx RBX: 0x%016lx RCX: 0x%016lx RDX: 0x%016lx",
|
||||
esf->rax, esf->rbx, esf->rcx, esf->rdx);
|
||||
|
||||
LOG_ERR("RSI: 0x%016lx RDI: 0x%016lx RBP: 0x%016lx RSP: 0x%016lx",
|
||||
esf->rsi, esf->rdi, esf->rbp, esf->rsp);
|
||||
|
||||
LOG_ERR(" R8: 0x%016lx R9: 0x%016lx R10: 0x%016lx R11: 0x%016lx",
|
||||
esf->r8, esf->r9, esf->r10, esf->r11);
|
||||
|
||||
LOG_ERR("R12: 0x%016lx R13: 0x%016lx R14: 0x%016lx R15: 0x%016lx",
|
||||
esf->r12, esf->r13, esf->r14, esf->r15);
|
||||
}
|
||||
|
||||
z_fatal_error(reason, esf);
|
||||
}
|
||||
|
||||
void z_x86_exception(const z_arch_esf_t *esf)
|
||||
{
|
||||
LOG_ERR("** CPU Exception %ld (code %ld/0x%lx) **",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue