KSyms.h 654 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/Forward.h>
  8. namespace Kernel {
  9. struct KernelSymbol {
  10. FlatPtr address;
  11. const char* name;
  12. };
  13. enum class PrintToScreen {
  14. No,
  15. Yes,
  16. };
  17. FlatPtr address_for_kernel_symbol(const StringView& name);
  18. const KernelSymbol* symbolicate_kernel_address(FlatPtr);
  19. void load_kernel_symbol_table();
  20. extern bool g_kernel_symbols_available;
  21. extern FlatPtr g_lowest_kernel_symbol_address;
  22. extern FlatPtr g_highest_kernel_symbol_address;
  23. void dump_backtrace(PrintToScreen print_to_screen = PrintToScreen::No);
  24. }