Kernel: Reorder boot initialization

We now create the TTY as soon as possible so we can show console
output without serial port.
This commit is contained in:
Bananymous
2023-04-14 23:55:05 +03:00
parent bf0c7b9ae8
commit c5347e6707
5 changed files with 44 additions and 37 deletions

View File

@@ -33,8 +33,6 @@ namespace Kernel
TTY::TTY(TerminalDriver* driver)
: m_terminal_driver(driver)
, m_rdev(next_tty_rdev())
, m_name(BAN::String::formatted("tty{}", minor(m_rdev)))
{
m_width = m_terminal_driver->width();
m_height = m_terminal_driver->height();
@@ -44,7 +42,19 @@ namespace Kernel
if (s_tty == nullptr)
s_tty = this;
}
TTY* TTY::current()
{
return s_tty;
}
void TTY::initialize_device()
{
m_rdev = next_tty_rdev();
m_name = BAN::String::formatted("tty{}", minor(m_rdev));
DeviceManager::get().add_device(this);
MUST(Process::create_kernel(
[](void* tty_)
{
@@ -60,11 +70,6 @@ namespace Kernel
);
}
TTY* TTY::current()
{
return s_tty;
}
void TTY::on_key(Input::KeyEvent event)
{
LockGuard _(m_lock);