X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Fdrv%2Fkb.c;h=923a58fc9a3e9d88151ac1e7d5a0aa4f15ecd71d;hb=3e11c7767641614fbb3fad38fffefa0da9e66919;hp=3e461fd6bb5261849b4d3dadb0ea9bd3face150c;hpb=ccd6cf2af99fdc050888c70eb4d59f078a15a2da;p=tpg%2Facess2.git diff --git a/Kernel/drv/kb.c b/Kernel/drv/kb.c index 3e461fd6..923a58fc 100644 --- a/Kernel/drv/kb.c +++ b/Kernel/drv/kb.c @@ -15,6 +15,7 @@ // === IMPORTS === void Threads_Dump(void); +void Heap_Stats(void); // === PROTOTYPES === int KB_Install(char **Arguments); @@ -53,7 +54,7 @@ Uint8 gbaKB_States[3][256]; // === CODE === /** - * \fn int KB_Install(char **Arguments) + * \brief Install the keyboard driver */ int KB_Install(char **Arguments) { @@ -73,8 +74,8 @@ int KB_Install(char **Arguments) } /** - * \fn void KB_IRQHandler() * \brief Called on a keyboard IRQ + * \param IRQNum IRQ number (unused) */ void KB_IRQHandler(int IRQNum) { @@ -183,9 +184,14 @@ void KB_IRQHandler(int IRQNum) { switch(ch) { - case 'q': *((int*)1) = 0; break; - case 'd': __asm__ __volatile__ ("xchg %bx, %bx"); break; - case 'p': Threads_Dump(); break; + // Kernel Panic (Page Fault) + case 'q': *((int*)1) = 0; return; + // Bochs Magic Breakpoint + case 'd': __asm__ __volatile__ ("xchg %bx, %bx"); return; + // Thread List Dump + case 'p': Threads_Dump(); return; + // Heap Statistics + case 'h': Heap_Stats(); return; } } #endif