Replace rand() implementation - fixes threading lockups
[tpg/acess2.git] / Kernel / drv / kb.c
index 3e461fd..923a58f 100644 (file)
@@ -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

UCC git Repository :: git.ucc.asn.au