Serenity Operating System
at master 34 lines 708 B view raw
1/* 2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <AK/Forward.h> 10 11namespace Kernel { 12 13struct KernelSymbol { 14 FlatPtr address; 15 char const* name; 16}; 17 18enum class PrintToScreen { 19 No, 20 Yes, 21}; 22 23FlatPtr address_for_kernel_symbol(StringView name); 24KernelSymbol const* symbolicate_kernel_address(FlatPtr); 25void load_kernel_symbol_table(); 26 27extern bool g_kernel_symbols_available; 28extern FlatPtr g_lowest_kernel_symbol_address; 29extern FlatPtr g_highest_kernel_symbol_address; 30 31void dump_backtrace(PrintToScreen print_to_screen = PrintToScreen::No); 32void dump_backtrace_from_base_pointer(FlatPtr base_pointer); 33 34}