ladybird/Kernel
Liav A 41dae9b3c7 Kernel: Convert i8042 code to use the ErrorOr pattern more broadly
Not only does it makes the code more robust and correct as it allows
error propagation, it allows us to enforce timeouts on waiting loops so
we don't hang forever, by waiting for the i8042 controller to respond to
us.

Therefore, it makes the i8042 more resilient against faulty hardware and
bad behaving chipsets out there.
2022-02-10 15:42:56 +02:00
..
API Kernel: Add ioctl to get the EDID from a framebuffer 2022-01-23 22:45:21 +00:00
Arch Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Bus Kernel: Stop allocating VirtIO configuration structs on the heap 2022-02-03 23:33:20 +01:00
Devices Kernel: Convert i8042 code to use the ErrorOr pattern more broadly 2022-02-10 15:42:56 +02:00
FileSystem Kernel: Robustify and rename Inode bound socket API 2022-02-07 13:02:34 +01:00
Firmware Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Graphics Kernel: Instantiate a TextModeConsole early on if there's no framebuffer 2022-02-09 21:05:48 +00:00
Heap Kernel: Put kmalloc heap expansion debug spam behind KMALLOC_DEBUG 2022-02-05 22:50:39 +01:00
Interrupts Kernel/Interrupts: Remove stale MSIHandler class 2022-02-05 18:13:02 +00:00
Library Kernel: Remove the infallible make_ref_counted<T> factory function 2022-02-03 23:33:20 +01:00
Locking Kernel: Update terminology around Thread's "blocking mutex" 2022-01-30 16:21:59 +01:00
Memory Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Net Kernel: Fix bug in TCP state handling in SynSent 2022-02-07 13:18:13 +01:00
Prekernel Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Storage Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Syscalls Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Tasks Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
Time Kernel: Create the time page region before initializing the timers 2022-01-18 21:00:46 +02:00
TTY Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
AddressSanitizer.cpp Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
AddressSanitizer.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
Assertions.h Kernel: Remove ASM_Wrapper include from platform independent processor.h 2021-12-01 11:22:04 -08:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Add an x86 include check+error in x86/PageDirectory.h 2021-12-01 11:22:04 -08:00
CMakeLists.txt Kernel: Set up an initial boot framebuffer console 2022-02-04 21:34:12 +01: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: Add nvme_poll command line parameters 2022-02-02 18:26:59 +01:00
CommandLine.h Kernel: Add nvme_poll command line parameters 2022-02-02 18:26:59 +01:00
Coredump.cpp Kernel: Convert CoreDump to KString using try_serialize_absolute_path 2022-01-12 16:09:09 +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 AK+Kernel: Alphabetize debug macros 2022-02-09 17:59:19 +00:00
DoubleBuffer.cpp Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
DoubleBuffer.h Kernel: Share code between DoubleBuffer's read() and peek() 2021-11-21 20:22:48 +01:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
FutexQueue.cpp Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
FutexQueue.h Kernel: Don't register thread as custom data for FutexBlocker 2021-08-24 01:57:11 +02:00
GlobalProcessExposed.cpp Kernel: Remove unnecessary mutex for ubsan-is-deadly ProcFS node 2022-02-03 16:11:26 +01:00
init.cpp Kernel: Instantiate a TextModeConsole early on if there's no framebuffer 2022-02-09 21:05:48 +00:00
KBuffer.h Kernel: Propagate overflow errors from Memory::page_round_up 2021-12-28 23:08:50 +01:00
KBufferBuilder.cpp Kernel+AK: Eliminate a couple of temporary String allocations 2021-12-30 14:16:03 +01:00
KBufferBuilder.h Kernel: Make Thread::backtrace() fallible using KString 2022-01-12 16:09:09 +02:00
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 Kernel: Instantiate a TextModeConsole early on if there's no framebuffer 2022-02-09 21:05:48 +00:00
kstdio.h Kernel+UE+LibC: Remove unused dbgputch syscall 2021-11-24 22:56:39 +01:00
KString.cpp Kernel: Add an error propagating KString::format(..) API :^) 2021-11-30 11:16:35 +01:00
KString.h Kernel: Make {Nonnull,}OwnPtr<KString> hash compatible with StringView 2022-01-29 23:01:23 +02:00
KSyms.cpp Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
KSyms.h Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
linker.ld Kernel+Toolchain: Use .init_array section for global constructors 2022-01-24 10:41:47 +00:00
MiniStdLib.cpp Kernel: Build MiniStdLib.cpp in aarch64 builds 2021-09-07 20:15:15 +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 Kernel: Ensure that CommandLine is initialized before choosing PanicMode 2022-01-21 19:34:10 +02:00
Panic.h Kernel/Graphics + SystemServer: Support text mode properly 2021-05-16 19:58:33 +02:00
PerformanceEventBuffer.cpp Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
PerformanceEventBuffer.h Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOr 2022-01-12 16:09:09 +02:00
PerformanceManager.h Kernel: Make PerformanceEventBuffer::add_process fallible with ErrorOr 2022-01-12 16:09:09 +02:00
PhysicalAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
Process.cpp Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
Process.h Kernel: Stop using HashMap in Mutex 2022-01-29 16:45:39 +01:00
ProcessExposed.cpp Kernel: Add some implied auto qualifiers 2021-12-30 14:32:17 +01:00
ProcessExposed.h Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
ProcessGroup.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessGroup.h Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
ProcessProcFSTraits.cpp Kernel+SystemServer: Add /dev/tty 2021-12-12 22:32:35 +01:00
ProcessSpecificExposed.cpp Kernel: Switch process file descriptor table from spinlock to mutex 2022-01-29 02:17:09 +01:00
Random.cpp Kernel: Make KernelRng not inherit from Lockable 2021-12-26 21:22:59 +01:00
Random.h Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01: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 Kernel: Don't mark current thread as inactive after successful exec() 2022-01-30 16:21:59 +01:00
Scheduler.h Kernel: Remove unused bool return values from scheduler functions 2022-01-30 16:21:59 +01:00
Sections.h Kernel: Move userspace virtual address range base to 0x10000 2021-12-22 00:02:36 -08:00
StdLib.cpp Kernel: Remove unnecessary includes from Thread.h 2022-01-30 16:21:59 +01:00
StdLib.h Kernel: Remove unused forward declaration of Syscall::StringArgument 2021-11-14 22:52:35 +01:00
Syscall.cpp Kernel: Change static constexpr variables to constexpr where possible 2022-02-09 21:04:51 +00:00
Thread.cpp Kernel: Convert try_make_ref_counted to use ErrorOr 2022-02-03 23:33:20 +01:00
Thread.h Kernel: Update terminology around Thread's "blocking mutex" 2022-01-30 16:21:59 +01:00
ThreadBlockers.cpp Kernel: Move Thread::block<BlockerType>() out of the Thread.h header 2022-01-30 16:21:59 +01:00
ThreadTracer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
ThreadTracer.h Kernel: Add missing includes in ThreadTracer and WorkQueue 2021-12-30 14:32:17 +01:00
TimerQueue.cpp Kernel: Remove a bunch of unused TimerQueue functions 2021-09-07 22:16:25 +02:00
TimerQueue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
UBSanitizer.cpp AK+Kernel+LibSanitizer: Store "ubsan-is-deadly" flag as Atomic<bool> 2022-02-03 16:11:26 +01:00
UnixTypes.h Kernel: Move {Process,Thread,Session,ProcessGroup}ID to Kernel/Forward.h 2021-08-14 19:58:11 +02:00
UserOrKernelBuffer.cpp Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T> 2021-11-08 01:10:53 +01:00
UserOrKernelBuffer.h Kernel+LibC: Move errno definitions to Kernel/API/POSIX 2021-12-16 22:21:35 +03:30
VirtualAddress.h AK: Convert AK::Format formatting helpers to returning ErrorOr<void> 2021-11-17 00:21:13 +01:00
WaitQueue.cpp Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WaitQueue.h Kernel: Don't register thread as custom data for WaitQueueBlocker 2021-08-24 01:57:11 +02:00
WorkQueue.cpp Kernel: Mark kernel smart-pointer classes as [[nodiscard]] 2021-12-05 15:31:03 +01:00
WorkQueue.h Kernel: Add missing includes in ThreadTracer and WorkQueue 2021-12-30 14:32:17 +01:00