ladybird/Kernel
Liav A 8e55c4bfaf Kernel/PCI: Remove InterruptDisabler usage
Instead, just ensure we pick the m_access_lock and then m_scan_lock when
doing a scan/re-scan of the PCI configuration space so we know nobody
can actually access the PCI configuration space during the scan.

The m_scan_lock is now a Spinlock, to ensure we cannot yield to other
process while we do the PCI configuration space scanning.
2021-10-23 19:17:44 +02:00
..
API Kernel: Implement pread syscall 2021-10-13 16:10:50 +02:00
Arch Kernel: Call try_set_coredump_property with StringView arguments 2021-10-21 22:19:50 +02:00
Bus Kernel/PCI: Remove InterruptDisabler usage 2021-10-23 19:17:44 +02:00
Devices Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
FileSystem Kernel: Remove unused InodeIdentifier::to_string() 2021-10-22 01:19:04 +02:00
Firmware Kernel/SysFS: Provide a way to "truncate" and "set" mtime on inodes 2021-10-09 12:07:56 +02:00
Graphics Kernel: Make FrameBufferDevice::try_to_set_resolution() return KResult 2021-10-22 01:21:34 +02:00
Heap Kernel: Access Processor static methods statically 2021-10-02 18:16:15 +02:00
Interrupts Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
Library Kernel: Split ScopedCritical so header is platform independent 2021-10-15 21:48:45 +01:00
Locking Kernel: Move spinlock into Arch 2021-10-15 21:48:45 +01:00
Memory Kernel: Fix restrictions in is_allowed_to_mmap_to_userspace function 2021-10-22 13:13:00 +02:00
Net Kernel/Net: Generate interface name near construction point 2021-10-18 12:25:56 -07:00
Prekernel Toolchain+Meta: Update LLVM version to 13.0.0 2021-10-17 17:09:58 +01:00
Storage Kernel: Declare copy-ability of IOAddressGroup 2021-10-10 21:03:27 +01:00
Syscalls Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
Tasks Kernel: Store process names as KString 2021-09-07 13:53:14 +02:00
Time Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
TTY Kernel: Handle backspace for tab character in TTY cooked mode 2021-10-06 12:31:13 +02: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 AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
CMakeLists.txt Kernel: Enable LTO for kernel_heap if ENABLE_KERNEL_LTO is set 2021-10-17 17:09:58 +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: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
CommandLine.h Kernel: Use KString all the way in sys$execve() 2021-09-09 21:25:10 +02:00
Coredump.cpp Kernel: Exclude userspace heap memory from coredumps by default 2021-09-30 17:54:32 +02:00
Coredump.h Kernel: Exclude userspace heap memory from coredumps by default 2021-09-30 17:54:32 +02:00
Debug.h.in Kernel: Disable lock rank enforcement by default for now 2021-09-14 18:31:16 +00:00
DoubleBuffer.cpp Kernel: Remove KBuffer::is_null() and bogus call sites :^) 2021-09-07 16:00:39 +02:00
DoubleBuffer.h Kernel: Make DoubleBuffer::try() return KResultOr 2021-09-07 13:53:14 +02:00
embedmap.sh Kernel: Make new kernel build process work on macOS 2021-07-15 11:04:30 +02:00
Forward.h Kernel: Rename DevFS => DevTmpFS 2021-09-08 00:42:20 +02: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: Add the /proc/stat ProcFS component 2021-10-07 21:09:38 +02:00
init.cpp Everywhere: Make some symbols __attribute__((used)) for LTO 2021-10-17 17:09:58 +01:00
KBuffer.h Kernel: Add KBuffer::bytes() and use it 2021-09-08 20:16:00 +02:00
KBufferBuilder.cpp AK+Kernel: Avoid unescaped control chars in append_escaped_for_json() 2021-09-13 14:38:53 +04:30
KBufferBuilder.h Kernel: Add KBuffer::bytes() and use it 2021-09-08 20:16:00 +02:00
KLexicalPath.cpp Kernel: Make KString factories return KResultOr + use TRY() everywhere 2021-09-06 19:25:36 +02:00
KLexicalPath.h Kernel: Make KString factories return KResultOr + use TRY() everywhere 2021-09-06 19:25:36 +02:00
kprintf.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
kstdio.h Kernel: Add kernelearlyputstr and use it in dbgln in very-early boot 2021-09-10 22:58:08 +03:00
KString.cpp Kernel: Make KString factories return KResultOr + use TRY() everywhere 2021-09-06 19:25:36 +02:00
KString.h Kernel: Specialize Traits<(Nonnull)OwnPtr<T>> for KString 2021-09-13 14:38:53 +04:30
KSyms.cpp Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
KSyms.h Kernel: Print panic backtrace to both the screen and serial 2021-08-04 20:14:54 +02:00
linker.ld Kernel: Support split data sections 2021-10-17 17:09:58 +01:00
MiniStdLib.cpp Kernel: Build MiniStdLib.cpp in aarch64 builds 2021-09-07 20:15:15 +01:00
mkmap.sh Kernel: Use our toolchain's c++filt tool for the kernel map 2021-07-29 10:38:31 +02:00
Multiboot.h Prekernel: Export some multiboot parameters in our own BootInfo struct 2021-07-27 13:15:16 +02:00
Panic.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Panic.h Kernel/Graphics + SystemServer: Support text mode properly 2021-05-16 19:58:33 +02:00
PerformanceEventBuffer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
PerformanceEventBuffer.h Kernel: Accept RegisterState in append_with_ip_and_bp 2021-10-12 10:49:56 -07:00
PerformanceManager.h Kernel: Pass RegisterState by ref to event buffer 2021-10-12 10:49:56 -07:00
PhysicalAddress.h Kernel: Fix restrictions in is_allowed_to_mmap_to_userspace function 2021-10-22 13:13:00 +02:00
Process.cpp Kernel: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
Process.h Kernel: Convert Formatter<Process> to use Formatter<FormatString> 2021-10-21 22:19:50 +02:00
ProcessExposed.cpp Kernel/ProcFS: Provide a way to write to ProcFS inodes 2021-10-17 14:46:59 +02:00
ProcessExposed.h Kernel/ProcFS: Provide a way to write to ProcFS inodes 2021-10-17 14:46:59 +02:00
ProcessGroup.cpp Kernel: Use KResultOr better in ProcessGroup construction 2021-09-06 01:55:27 +02:00
ProcessGroup.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
ProcessProcFSTraits.cpp Kernel: Rename FileDescription => OpenFileDescription 2021-09-07 13:53:14 +02:00
ProcessSpecificExposed.cpp Kernel: Make PerformanceEventBuffer::to_json() return a KResult 2021-09-07 22:16:25 +02:00
Random.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Random.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
RTC.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02: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/KCOV: Bring closer to typical SerenityOS coding style 2021-09-06 01:55:27 +02:00
Scheduler.cpp AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
Scheduler.h Kernel: Rename SpinLock => Spinlock 2021-08-22 03:34:10 +02:00
Sections.h Kernel: Support loading the kernel at almost arbitrary virtual addresses 2021-07-27 13:15:16 +02:00
StdLib.cpp Kernel: Introduce workaround to make LTO builds work with Clang 2021-10-17 17:09:58 +01:00
StdLib.h Kernel: Remove redundant [[nodiscard]] on KResult return values 2021-09-07 01:18:02 +02:00
Syscall.cpp Kernel: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
Thread.cpp Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
Thread.h Kernel: Remove unused includes 2021-10-14 01:23:08 +01:00
ThreadBlockers.cpp Kernel: Rename FileDescription => OpenFileDescription 2021-09-07 13:53:14 +02:00
ThreadTracer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
ThreadTracer.h Kernel: Use KResultOr and TRY() for ThreadTracer 2021-09-07 14:48:13 +02: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 Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +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: Make UserOrKernelBuffer return KResult from read/write/memset 2021-09-07 13:53:14 +02:00
UserOrKernelBuffer.h Kernel: Make UserOrKernelBuffer return KResult from read/write/memset 2021-09-07 13:53:14 +02:00
VirtualAddress.h Kernel: Make VirtualAddress methods constexpr 2021-08-25 12:12:59 +02: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: Store process names as KString 2021-09-07 13:53:14 +02:00
WorkQueue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00