From c6910a745b8d7b11bdcf10380998d004c9d8ad27 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Fri, 14 Feb 2020 16:07:46 +0100 Subject: [PATCH] Print debug buffer on panic --- kaleid/kernel/ke/idt.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kaleid/kernel/ke/idt.c b/kaleid/kernel/ke/idt.c index 16ecabb..cec919c 100644 --- a/kaleid/kernel/ke/idt.c +++ b/kaleid/kernel/ke/idt.c @@ -388,8 +388,16 @@ void KeBrkDumpRegisters(ISRFrame_t *regs) { IoDoBeepNoIdt(); - bprintf(BStdOut, "\n\n" + size_t N = 3; + char *ptr = (char *)lmax((ulong)BStdDbg->buf, + (ulong)(BStdDbg->wp - BStdDbg->lastLF - (BStdDbg->lineLen * N))); + bprintf(BStdOut, "\n%C Debug messages last %d lines: \n %s\n", + VGA_COLOR_LIGHT_GREY, + N, + ptr); + + bprintf(BStdOut, "%C RIP: %#016lx RSP: %#016lx RBP: %#016lx\n\n" " SS: %#016lx CS: %#016lx CR0: %#016lx\n"