serenity/Kernel
Liav A 9bec9c2b78 Kernel: Force y offset 0 when switching between console & graphics modes
This fixes a weird bug that when sometimes a user tried to switch to
console mode, the screen was frozen on graphics mode. After a hour of
debugging this, it became apparent that the problem was that we left the
y offset of the bochs graphics device in an invalid state, so it was not
zero because the WindowServer changed it, and the framebuffer console
code is not aware of horizontal and vertical offsets of the framebuffer
screen, leading to the problem that the framebuffer console updates the
first framebuffer (y offset = 0), but hardware was indicated to show the
second framebuffer (y offset = first framebuffer height).

Therefore, when doing a switch between these modes, always set the y
offset to be zero.
2022-05-06 18:05:14 +02:00
..
API Everywhere: Purge all support and usage of framebuffer devices 2022-05-05 20:55:57 +02:00
Arch Kernel: Panic when an assertion is failed in aarch64 Kernel 2022-05-03 21:53:36 +02:00
Bus Kernel/Graphics: Implement basic support for VMWare SVGA adapter 2022-05-06 18:04:57 +02:00
Devices Kernel/HID: Take a spinlock when calling KeyboardClient::on_key_pressed 2022-05-06 18:05:14 +02:00
FileSystem Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
Firmware Kernel: Move VMWareBackdoor to new directory in the Firmware directory 2022-04-20 19:21:32 +02:00
Graphics Kernel: Force y offset 0 when switching between console & graphics modes 2022-05-06 18:05:14 +02:00
Heap Kernel: Move allocate_unbacked_region_anywhere() to MemoryManager 2022-04-05 13:45:10 +02:00
Interrupts Kernel: Move create_identity_mapped_region() to MemoryManager 2022-04-05 13:45:10 +02:00
Library Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Locking Kernel: Verify mutex big lock behavior 2022-04-09 15:55:20 +02:00
Memory Kernel/Memory: Add TypedMapping base_address method 2022-05-05 20:55:57 +02:00
Net Kernel: Stop exposing gateway field 2022-05-01 13:34:27 +02:00
Prekernel Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Storage Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
Syscalls Kernel: Properly define IOV_MAX 2022-05-05 20:47:38 +02:00
Tasks Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
Time Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TTY Kernel: Support userspace TTY graphics modesetting 2022-04-29 19:52:32 +02:00
AddressSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AddressSanitizer.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Assertions.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
CMakeLists.txt Kernel/Graphics: Implement basic support for VMWare SVGA adapter 2022-05-06 18:04:57 +02:00
CMOS.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
CMOS.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CommandLine.cpp Kernel/Graphics: Simplify the feature level of the Graphics subsystem 2022-05-05 20:55:57 +02:00
CommandLine.h Kernel/Graphics: Simplify the feature level of the Graphics subsystem 2022-05-05 20:55:57 +02:00
Coredump.cpp Kernel: Store AddressSpace memory regions in an IntrusiveRedBlackTree 2022-04-03 21:51:58 +02:00
Coredump.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
Debug.h.in Kernel: Stop debug spam when using mmap on /dev/mem device 2022-04-01 19:59:45 +02:00
DoubleBuffer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
DoubleBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Use intrusive RegionTree solution for kernel regions as well 2022-04-03 21:51:58 +02:00
FutexQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FutexQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
GlobalProcessExposed.cpp Kernel: Stop exposing gateway field 2022-05-01 13:34:27 +02:00
init.cpp Kernel+WindowServer: Move setting tty graphical mode to Userspace 2022-04-29 19:52:32 +02:00
KBuffer.h Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KBufferBuilder.h Kernel: Expose .length() of KBufferBuilder 2022-05-06 02:12:51 +04:30
KLexicalPath.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
KLexicalPath.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
kprintf.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
kstdio.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
KSyms.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
KSyms.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
MiniStdLib.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
mkmap.sh Kernel: Use the toolchain's nm in mkmap.sh 2021-12-30 18:10:51 +01:00
Multiboot.h Kernel: Only use multiboot framebuffer details if present 2022-01-06 22:34:11 +01:00
Panic.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Panic.h Kernel: Implement __panic() for the aarch64 Kernel 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
PerformanceEventBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PerformanceManager.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
PhysicalAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Process.cpp Kernel: Remove big lock from sys$set_coredump_metadata 2022-04-09 21:51:16 +02:00
Process.h Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
ProcessExposed.cpp Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
ProcessExposed.h Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
ProcessGroup.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessGroup.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ProcessProcFSTraits.cpp Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
ProcessSpecificExposed.cpp Kernel: Add /proc/{pid}/children to ProcFS 2022-05-06 02:12:51 +04:30
Random.cpp Kernel: Make KernelRng not inherit from Lockable 2021-12-26 21:22:59 +01:00
Random.h Kernel: Make PhysicalRegion.cpp compile on aarch64 2022-04-02 19:34:20 -07:00
RTC.cpp Everywhere: Fix many spelling errors 2022-01-07 10:56:59 +01:00
RTC.h Kernel: Ensure we read valid values from the RTC CMOS registers 2021-08-04 19:53:04 +02:00
SanCov.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
Scheduler.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Scheduler.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Sections.h Kernel: Use the whole kernel PD range when randomizing the KASLR offset 2022-03-23 19:49:49 +02:00
StdLib.cpp Kernel: Move Kernel/Arch/x86/SafeMem.h to Kernel/Arch/SafeMem.h 2022-05-03 21:53:36 +02:00
StdLib.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Syscall.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Thread.cpp Kernel: Unbreak ASLR in the new RegionTree world 2022-04-03 21:51:58 +02:00
Thread.h Kernel: Increase the default userspace stack size to 4 MiB 2022-04-12 16:48:15 +02:00
ThreadBlockers.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ThreadTracer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
TimerQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UBSanitizer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UnixTypes.h Kernel: Add support for SA_SIGINFO 2022-03-04 20:07:05 +01:00
UserOrKernelBuffer.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
VirtualAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
WorkQueue.cpp Kernel: Take WorkQueue item as reference instead of pointer in do_queue 2022-04-20 19:47:18 +02:00
WorkQueue.h Kernel: Take WorkQueue item as reference instead of pointer in do_queue 2022-04-20 19:47:18 +02:00