Add symbol table handling and debug backtrace
This commit is contained in:
@@ -5,6 +5,10 @@
|
||||
|
||||
struct amd64_loader_data {
|
||||
uint32_t multiboot_info_ptr;
|
||||
uint32_t symtab_ptr;
|
||||
uint32_t symtab_size;
|
||||
uint32_t strtab_ptr;
|
||||
uint32_t strtab_size;
|
||||
uint32_t initrd_ptr;
|
||||
uint32_t initrd_len;
|
||||
char cmdline[KERNEL_CMDLINE_MAX];
|
||||
|
||||
@@ -38,6 +38,10 @@
|
||||
#define kfatal(f, ...) debugf(DEBUG_FATAL, "\033[41m" DEBUG_BASE_FMT f "\033[0m", DEBUG_BASE_ARGS, ##__VA_ARGS__)
|
||||
#define kprint(l, f, ...) debugf(l, DEBUG_BASE_FMT f, DEBUG_BASE_ARGS, ##__VA_ARGS__)
|
||||
|
||||
void debug_symbol_table_set(uintptr_t symtab, uintptr_t strtab, size_t symtab_size, size_t strtab_size);
|
||||
int debug_symbol_find(uintptr_t addr, const char **name, uintptr_t *base);
|
||||
void debug_backtrace(uintptr_t rbp, int depth, int limit);
|
||||
|
||||
void fmtsiz(char *buf, size_t sz);
|
||||
|
||||
void debugc(int level, char c);
|
||||
|
||||
Reference in New Issue
Block a user