![]() |
MOS Source Code
|
#include "mos/platform/platform_defs.hpp"
#include "mos/syslog/printk.hpp"
#include <mos/types.h>
#include <stdarg.h>
Go to the source code of this file.
Classes | |
struct | panic_hook_t |
struct | panic_point_t |
Macros | |
#define | MOS_EMIT_PANIC_HOOK(e, f, n) |
#define | MOS_PANIC_HOOK_FEAT(_feat, _f, _n) |
#define | MOS_PANIC_HOOK(_f, _name) |
#define | MOS_MAKE_PANIC_POINT(panic_instruction, file, func, line) |
#define | mos_panic(fmt, ...) |
#define | mos_panic_inline(fmt, ...) |
Typedefs | |
typedef void | kmsg_handler_t(const char *func, u32 line, const char *fmt, va_list args) |
Functions | |
MOS_STATIC_ASSERT (sizeof(panic_hook_t)==32, "panic_hook_t size mismatch") | |
void | kwarn_handler_set (kmsg_handler_t *handler) |
void | kwarn_handler_remove (void) |
void | mos_kwarn (const char *func, u32 line, const char *fmt,...) |
void | try_handle_kernel_panics (ptr_t ip) |
void | handle_kernel_panic (const panic_point_t *point) |
#define MOS_EMIT_PANIC_HOOK | ( | e, | |
f, | |||
n ) |
#define MOS_PANIC_HOOK_FEAT | ( | _feat, | |
_f, | |||
_n ) |
#define MOS_PANIC_HOOK | ( | _f, | |
_name ) |
#define MOS_MAKE_PANIC_POINT | ( | panic_instruction, | |
file, | |||
func, | |||
line ) |
#define mos_panic | ( | fmt, | |
... ) |
Definition at line 51 of file panic.hpp.
Referenced by __stack_chk_fail(), abort(), acpi_find_rsdp(), cpio_i_iterate_dir(), cpio_read_metadata(), dentry_check_refstat(), dentry_resolve_follow_symlink(), do_handle_sdt_header(), do_iterate_sdts(), extract_exact_range(), futex_wake(), hashmap_init(), initrd_read(), lapic_memory_setup(), limine_entry(), madt_parse_table(), IO::map(), mm_handle_fault(), mm_replace_page_locked(), mos_start_kernel(), mos_test_engine_run_tests(), IPC_ControlIO::on_closed(), NullIO::on_closed(), operator delete(), platform_startup_late(), Process::Process(), process_do_fork(), process_exit(), process_new(), register_sysfs_acpi_node(), register_sysfs_acpi_rsdp(), slab_allocate_mem(), stack_grow(), stack_pop(), stack_push(), test_engine_warning_handler(), tmpfs_create_inode(), vfs_register_filesystem(), x86_handle_exception(), and x86_handle_nmi().
#define mos_panic_inline | ( | fmt, | |
... ) |
Definition at line 59 of file panic.hpp.
Referenced by mos::__raise_bad_ptrresult_value(), and mos::__raise_null_pointer_exception().
MOS_STATIC_ASSERT | ( | sizeof(panic_hook_t) | = =32, |
"panic_hook_t size mismatch" | ) |
void kwarn_handler_set | ( | kmsg_handler_t * | handler | ) |
Definition at line 37 of file panic.cpp.
Referenced by mos_test_engine_run_tests().
Definition at line 43 of file panic.cpp.
Referenced by mos_test_engine_run_tests().
Definition at line 68 of file panic.cpp.
Referenced by riscv64_trap_handler(), and x86_handle_exception().
void handle_kernel_panic | ( | const panic_point_t * | point | ) |
Definition at line 79 of file panic.cpp.
Referenced by try_handle_kernel_panics().