Skip to content

Commit b8f008e

Browse files
author
Diego Ferrari
committed
[SYSCALL] backtrace with physical addresses
1 parent 583f373 commit b8f008e

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

kernel/process/syscall.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,8 @@ syscall_entry syscalls[] = {
257257

258258
bool decode_crash_address_with_info(uint8_t depth, uintptr_t address, sizedptr debug_line, sizedptr debug_line_str){
259259
if (!debug_line.ptr || !debug_line.size) return false;
260-
debug_line_info info = dwarf_decode_lines(debug_line.ptr, debug_line.size, debug_line_str.ptr, debug_line_str.size, address);
261-
if (info.address == address){
260+
debug_line_info info = dwarf_decode_lines(debug_line.ptr, debug_line.size, debug_line_str.ptr, debug_line_str.size, VIRT_TO_PHYS(address));
261+
if (info.address == VIRT_TO_PHYS(address)){
262262
kprintf("[%.16x] %i: %s %i:%i", address, depth, info.file, info.line, info.column);
263263
return true;
264264
}
@@ -380,7 +380,7 @@ void sync_el0_handler_c(){
380380
}
381381
if (currentEL == 1){
382382
if (syscall_depth < 3){
383-
if (syscall_depth == 1) kprintf("System has crashed. ESR: %llx. ELR: %llx. FAR: %llx", esr, elr, far);
383+
if (syscall_depth < 1) kprintf("System has crashed. ESR: %llx. ELR: %llx. FAR: %llx", esr, elr, far);
384384
if (syscall_depth < 2) coredump(esr, elr, far, proc->sp);
385385
handle_exception("UNEXPECTED EXCEPTION",ec);
386386
}

0 commit comments

Comments
 (0)