Преглед на файлове

Kernel: Print scheduler state to the display console

Liav A преди 4 години
родител
ревизия
99eab4667a
променени са 3 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 1 0
      Kernel/Devices/HID/PS2KeyboardDevice.cpp
  2. 2 2
      Kernel/Scheduler.cpp
  3. 2 0
      Kernel/TTY/ConsoleManagement.h

+ 1 - 0
Kernel/Devices/HID/PS2KeyboardDevice.cpp

@@ -35,6 +35,7 @@ void PS2KeyboardDevice::irq_handle_byte_read(u8 byte)
 
     if (m_modifiers == (Mod_Alt | Mod_Shift) && byte == 0x58) {
         // Alt+Shift+F12 pressed, dump some kernel state to the debug console.
+        ConsoleManagement::the().switch_to_debug();
         Scheduler::dump_scheduler_state();
     }
 

+ 2 - 2
Kernel/Scheduler.cpp

@@ -587,7 +587,7 @@ void dump_thread_list()
     Thread::for_each([&](Thread& thread) {
         switch (thread.state()) {
         case Thread::Dying:
-            dbgln("  {:14} {:30} @ {:04x}:{:08x} Finalizable: {}, (nsched: {})",
+            dmesgln("  {:14} {:30} @ {:04x}:{:08x} Finalizable: {}, (nsched: {})",
                 thread.state_string(),
                 thread,
                 get_cs(thread),
@@ -596,7 +596,7 @@ void dump_thread_list()
                 thread.times_scheduled());
             break;
         default:
-            dbgln("  {:14} Pr:{:2} {:30} @ {:04x}:{:08x} (nsched: {})",
+            dmesgln("  {:14} Pr:{:2} {:30} @ {:04x}:{:08x} (nsched: {})",
                 thread.state_string(),
                 thread.priority(),
                 thread,

+ 2 - 0
Kernel/TTY/ConsoleManagement.h

@@ -26,6 +26,8 @@ public:
     void switch_to(unsigned);
     void initialize();
 
+    void switch_to_debug() { switch_to(1); }
+
     NonnullRefPtr<VirtualConsole> first_tty() const { return m_consoles[0]; }
     NonnullRefPtr<VirtualConsole> debug_tty() const { return m_consoles[1]; }