summaryrefslogtreecommitdiff
path: root/Kernel/TTY/ConsoleManagement.cpp
AgeCommit message (Collapse)Author
2021-09-17Kernel/Devices: Use try_create_device helper for ConsoleDeviceLiav A
2021-08-22Kernel: Rename ScopedSpinlock => SpinlockLockerAndreas Kling
This matches MutexLocker, and doesn't sound like it's a lock itself.
2021-08-22Kernel: Rename SpinLock => SpinlockAndreas Kling
2021-08-09Kernel: Fix logic typo in ConsoleManagement::is_initialized()Andreas Kling
Regressed in 2ff3c54153b66e71f2917afe525d64fe63305245.
2021-08-08Kernel: Remove unnecessary churn in ConsoleManagementAndreas Kling
The maximum number of virtual consoles is determined at compile time, so we can pre-allocate that many slots, dodging some heap allocations. Furthermore, virtual consoles are never destroyed, so it's fine to simply store a raw pointer to the currently active one.
2021-08-08Everywhere: Replace AK::Singleton => SingletonAndreas Kling
2021-06-25Kernel: Don't clear VirtualConsoles when initializingSahan Fernando
Instead of calling clear() for each virtual console we initialize, we only call clear() when activating it from ConsoleManagement.
2021-06-24Kernel: Move special sections into Sections.hHendiadyoin1
This also removes a lot of CPU.h includes infavor for Sections.h
2021-05-31Kernel: Fix crash when switching to console 5 & 6Sebastian Zaha
The changes in commit 20743e8 removed the s_max_virtual_consoles constant and hardcoded the number of consoles to 4. But in PS2KeyboardDevice the keyboard shortcuts for switching to consoles were hardcoded to 6. I reintroduced the constant and added it in both places.
2021-05-21Kernel: Fix framebuffer resolution modesetting after bootLiav A
If we tried to change the resolution before of this patch, we triggered a kernel crash due to mmaping the framebuffer device again. Therefore, on mmaping of the framebuffer device, we create an entire new set of VMObjects and Regions for the new settings. Then, when we change the resolution, the framebuffersconsole needs to be updated with the new resolution and also to be refreshed with the new settings. To ensure we handle both shrinking of the resolution and growth of it, we only copy the right amount of available data from the cells Region.
2021-05-16Kernel: Print all logbuffer from ConsoleDevice to debug Virtual ConsoleLiav A
2021-05-16Kernel: Allow the user to specify the virtual console when bootingLiav A
2021-05-16Kernel/Graphics + SystemServer: Support text mode properlyLiav A
As we removed the support of VBE modesetting that was done by GRUB early on boot, we need to determine if we can modeset the resolution with our drivers, and if not, we should enable text mode and ensure that SystemServer knows about it too. Also, SystemServer should first check if there's a framebuffer device node, which is an indication that text mode was not even if it was requested. Then, if it doesn't find it, it should check what boot_mode argument the user specified (in case it's self-test). This way if we try to use bochs-display device (which is not VGA compatible) and request a text mode, it will not honor the request and will continue with graphical mode. Also try to print critical messages with mininum memory allocations possible. In LibVT, We make the implementation flexible for kernel-specific methods that are implemented in ConsoleImpl class.