mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:08:12 +00:00
Use the VGA start address for fast VirtualConsole scrolling.
Instead of memcpy'ing the entire screen every time we press enter at the bottom, use the VGA start address register to make a "view" onto the underlying memory that moves downward as we scroll. Eventually we run out of memory and have to reset to the start of the buffer. That's when we memcpy everything. It would be cool if there was some way to get the hardware to act like a ring buffer with automatic wrapping here but I don't know how to do that.
This commit is contained in:
parent
8a865c11ec
commit
3e3de67f02
6 changed files with 76 additions and 26 deletions
|
@ -592,7 +592,7 @@ Process::Process(String&& name, uid_t uid, gid_t gid, pid_t ppid, RingLevel ring
|
|||
if (!fork_parent->m_file_descriptors[i])
|
||||
continue;
|
||||
#ifdef FORK_DEBUG
|
||||
dbgprintf("fork: cloning fd %u... (%p) istty? %um\n", i, fork_parent->m_file_descriptors[i].ptr(), fork_parent->m_file_descriptors[i]->isTTY());
|
||||
dbgprintf("fork: cloning fd %u... (%p) istty? %u\n", i, fork_parent->m_file_descriptors[i].ptr(), fork_parent->m_file_descriptors[i]->isTTY());
|
||||
#endif
|
||||
m_file_descriptors[i] = fork_parent->m_file_descriptors[i]->clone();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue