ladybird/Kernel/VM
Tom 78f1b5e359 Kernel: Fix some problems with Thread::wait_on and Lock
This changes the Thread::wait_on function to not enable interrupts
upon leaving, which caused some problems with page fault handlers
and in other situations. It may now be called from critical
sections, with interrupts enabled or disabled, and returns to the
same state.

This also requires some fixes to Lock. To aid debugging, a new
define LOCK_DEBUG is added that enables checking for Lock leaks
upon finalization of a Thread.
2020-12-01 09:48:34 +01:00
..
AnonymousVMObject.cpp Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
AnonymousVMObject.h Kernel: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
ContiguousVMObject.cpp Kernel: Allow contiguous allocations in physical memory 2020-03-08 14:13:30 +01:00
ContiguousVMObject.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
InodeVMObject.cpp Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
InodeVMObject.h Kernel: Make copy_to/from_user safe and remove unnecessary checks 2020-09-13 21:19:15 +02:00
MappedROM.h Kernel: Fix various forward declarations 2020-09-12 13:46:15 +02:00
MemoryManager.cpp Kernel: Protect the PageDirectory from concurrent access 2020-11-11 12:27:25 +01:00
MemoryManager.h Kernel: Protect the PageDirectory from concurrent access 2020-11-11 12:27:25 +01:00
PageDirectory.cpp Kernel: Switch singletons to use new Singleton class 2020-08-25 09:48:48 +02:00
PageDirectory.h Kernel: Protect the PageDirectory from concurrent access 2020-11-11 12:27:25 +01:00
PhysicalPage.cpp Kernel: Make PhysicalPage not movable and use atomic ref counting 2020-08-25 09:48:48 +02:00
PhysicalPage.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PhysicalRegion.cpp Kernel: Ensure PhysicalRegion free page hint is within valid range 2020-10-16 17:39:42 +02:00
PhysicalRegion.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PrivateInodeVMObject.cpp Kernel: Split InodeVMObject into two subclasses 2020-02-28 20:20:35 +01:00
PrivateInodeVMObject.h Kernel: Add some InodeVMObject type assertions in Region::clone() 2020-03-01 11:23:10 +01:00
ProcessPagingScope.cpp Kernel: Turn Thread::current and Process::current into functions 2020-07-01 12:07:01 +02:00
ProcessPagingScope.h Kernel: Move ProcessPagingScope to its own files 2020-03-01 15:38:09 +01:00
PurgeableVMObject.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PurgeableVMObject.h Kernel: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
RangeAllocator.cpp Kernel: Add locks around RangeAllocator 2020-11-11 12:27:25 +01:00
RangeAllocator.h Kernel: Add locks around RangeAllocator 2020-11-11 12:27:25 +01:00
Region.cpp Kernel: Fix some problems with Thread::wait_on and Lock 2020-12-01 09:48:34 +01:00
Region.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
SharedInodeVMObject.cpp AK: Make RefPtr, NonnullRefPtr, WeakPtr thread safe 2020-11-10 19:11:52 +01:00
SharedInodeVMObject.h Kernel: Add some InodeVMObject type assertions in Region::clone() 2020-03-01 11:23:10 +01:00
TypedMapping.h Kernel: Add non-const version of TypedMapping::operator->() 2020-05-23 15:57:19 +02:00
VMObject.cpp Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00
VMObject.h Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00