Pārlūkot izejas kodu

Kernel: VirtualConsole can use kmalloc_eternal() for permanent stuff

Less pressure on kmalloc heap.
Andreas Kling 5 gadi atpakaļ
vecāks
revīzija
4027a64fc5
1 mainītis faili ar 2 papildinājumiem un 3 dzēšanām
  1. 2 3
      Kernel/TTY/VirtualConsole.cpp

+ 2 - 3
Kernel/TTY/VirtualConsole.cpp

@@ -43,7 +43,7 @@ VirtualConsole::VirtualConsole(unsigned index, InitialContents initial_contents)
 {
 {
     ksprintf(m_tty_name, "/dev/tty%u", m_index);
     ksprintf(m_tty_name, "/dev/tty%u", m_index);
     set_size(80, 25);
     set_size(80, 25);
-    m_horizontal_tabs = static_cast<u8*>(kmalloc(columns()));
+    m_horizontal_tabs = static_cast<u8*>(kmalloc_eternal(columns()));
     for (unsigned i = 0; i < columns(); ++i)
     for (unsigned i = 0; i < columns(); ++i)
         m_horizontal_tabs[i] = (i % 8) == 0;
         m_horizontal_tabs[i] = (i % 8) == 0;
     // Rightmost column is always last tab on line.
     // Rightmost column is always last tab on line.
@@ -63,8 +63,7 @@ VirtualConsole::VirtualConsole(unsigned index, InitialContents initial_contents)
 
 
 VirtualConsole::~VirtualConsole()
 VirtualConsole::~VirtualConsole()
 {
 {
-    kfree(m_horizontal_tabs);
-    m_horizontal_tabs = nullptr;
+    ASSERT_NOT_REACHED();
 }
 }
 
 
 void VirtualConsole::clear()
 void VirtualConsole::clear()