summaryrefslogtreecommitdiff
path: root/Kernel/TTY
diff options
context:
space:
mode:
Diffstat (limited to 'Kernel/TTY')
-rw-r--r--Kernel/TTY/ConsoleManagement.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/Kernel/TTY/ConsoleManagement.cpp b/Kernel/TTY/ConsoleManagement.cpp
index c9753578f7..20dd12c234 100644
--- a/Kernel/TTY/ConsoleManagement.cpp
+++ b/Kernel/TTY/ConsoleManagement.cpp
@@ -5,8 +5,10 @@
*/
#include <AK/Singleton.h>
+#include <Kernel/CommandLine.h>
#include <Kernel/Debug.h>
#include <Kernel/Graphics/GraphicsManagement.h>
+#include <Kernel/Panic.h>
#include <Kernel/TTY/ConsoleManagement.h>
namespace Kernel {
@@ -39,7 +41,11 @@ UNMAP_AFTER_INIT void ConsoleManagement::initialize()
m_consoles.append(VirtualConsole::create(index));
}
// Note: By default the active console is the first one.
- m_active_console = m_consoles[0];
+ auto tty_number = kernel_command_line().switch_to_tty();
+ if (tty_number > m_consoles.size()) {
+ PANIC("Switch to tty value is invalid: {} ", tty_number);
+ }
+ m_active_console = m_consoles[tty_number];
ScopedSpinLock lock(m_lock);
m_active_console->set_active(true);
}