Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								d8206c1059 
								
							 
						 
						
							
							
								
								Kernel: Don't release/relock spinlocks repeatedly during space teardown  
							
							... 
							
							
							
							Grab the page directory and MM locks once at the start of address space
teardown, then hold onto them across all the region unmapping work. 
							
						 
						
							2022-01-12 14:52:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2323cdd914 
								
							 
						 
						
							
							
								
								Kernel: Do less unnecessary work when tearing down process address space  
							
							... 
							
							
							
							When deleting an entire AddressSpace, we don't need to do TLB flushes
at all (since the entire page directory is going away anyway).
We also don't need to deallocate VM ranges one by one, since the entire
VM range allocator will be deleted anyway. 
							
						 
						
							2022-01-12 14:52:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								3399b6c57f 
								
							 
						 
						
							
							
								
								Kernel: Remove old SlabAllocator :^)  
							
							... 
							
							
							
							This is no longer useful since kmalloc() does automatic slab allocation
without any of the limitations of the old SlabAllocator. :^) 
							
						 
						
							2021-12-26 21:22:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								43099fb387 
								
							 
						 
						
							
							
								
								Kernel: Remove all uses of MAKE_SLAB_ALLOCATED()  
							
							... 
							
							
							
							Objects that were previously allocated via slab_alloc()/slab_dealloc()
now go through kmalloc()/kfree_sized() instead. 
							
						 
						
							2021-12-26 21:22:59 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								5f4a67434c 
								
							 
						 
						
							
							
								
								Kernel: Move userspace virtual address range base to 0x10000  
							
							... 
							
							
							
							Now that the shared bottom 2 MiB virtual address mappings are gone
userspace can use lower virtual addresses. 
							
						 
						
							2021-12-22 00:02:36 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								f415218afe 
								
							 
						 
						
							
							
								
								Kernel+LibC: Implement sigaltstack()  
							
							... 
							
							
							
							This is required for compiling wine for serenity 
							
						 
						
							2021-12-01 21:44:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Idan Horowitz 
								
							 
						 
						
							
							
							
							
								
							
							
								ff6b43734c 
								
							 
						 
						
							
							
								
								Kernel: Add Region::clear_to_zero  
							
							... 
							
							
							
							This helper method can be used to quickly and efficiently zero out a
region. 
							
						 
						
							2021-12-01 21:44:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									James Mintram 
								
							 
						 
						
							
							
							
							
								
							
							
								eb33df0c30 
								
							 
						 
						
							
							
								
								Kernel: Add an x86 include check+error in x86/PageFault.h  
							
							
							
						 
						
							2021-12-01 11:22:04 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrew Kaster 
								
							 
						 
						
							
							
							
							
								
							
							
								a92132e44a 
								
							 
						 
						
							
							
								
								Kernel: Resolve clang-tidy readability-implicit-bool-conversion warnings  
							
							... 
							
							
							
							... In files included from Kernel/Process.cpp and Kernel/Thread.cpp 
							
						 
						
							2021-11-14 22:52:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								79fa9765ca 
								
							 
						 
						
							
							
								
								Kernel: Replace KResult and KResultOr<T> with Error and ErrorOr<T>  
							
							... 
							
							
							
							We now use AK::Error and AK::ErrorOr<T> in both kernel and userspace!
This was a slightly tedious refactoring that took a long time, so it's
not unlikely that some bugs crept in.
Nevertheless, it does pass basic functionality testing, and it's just
real nice to finally see the same pattern in all contexts. :^) 
							
						 
						
							2021-11-08 01:10:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Ali Mohammad Pur 
								
							 
						 
						
							
							
							
							
								
							
							
								5a0cdb15b0 
								
							 
						 
						
							
							
								
								AK+Everywhere: Reduce the number of template parameters of IntrusiveList  
							
							... 
							
							
							
							This makes the user-facing type only take the node member pointer, and
lets the compiler figure out the other needed types from that. 
							
						 
						
							2021-09-10 18:05:46 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								e3a716ceff 
								
							 
						 
						
							
							
								
								Kernel: Make Memory::Region::map() return KResult  
							
							... 
							
							
							
							..and use TRY() at the call sites to propagate errors. :^) 
							
						 
						
							2021-09-06 13:06:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Brian Gianforcaro 
								
							 
						 
						
							
							
							
							
								
							
							
								16ad297078 
								
							 
						 
						
							
							
								
								Kernel: Annotate Memory::Region APIs with [[nodiscard]]  
							
							... 
							
							
							
							This is an attempt to mitigate callers not observing the result of
map or remap. 
							
						 
						
							2021-08-25 00:18:42 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									sin-ack 
								
							 
						 
						
							
							
							
							
								
							
							
								0a18425cbb 
								
							 
						 
						
							
							
								
								Kernel: Make Memory::Region allocation functions return KResultOr  
							
							... 
							
							
							
							This makes for some nicer handling of errors compared to checking an
OwnPtr for null state. 
							
						 
						
							2021-08-15 15:41:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								2cd8b21974 
								
							 
						 
						
							
							
								
								Kernel: Add convenience values to the Memory::Region::Access enum  
							
							... 
							
							
							
							Instead of `Memory::Region::Access::Read | Memory::Region::AccessWrite`
you can now say `Memory::Region::Access::ReadWrite`. 
							
						 
						
							2021-08-06 22:25:00 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								47bdd7c3a0 
								
							 
						 
						
							
							
								
								Kernel: Rename a very long enum to ShouldDeallocateVirtualRange  
							
							... 
							
							
							
							ShouldDeallocateVirtualMemoryVirtualRange was a bit on the long side. 
							
						 
						
							2021-08-06 21:45:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								cd5faf4e42 
								
							 
						 
						
							
							
								
								Kernel: Rename Range => VirtualRange  
							
							... 
							
							
							
							...and also RangeAllocator => VirtualRangeAllocator.
This clarifies that the ranges we're dealing with are *virtual* memory
ranges and not anything else. 
							
						 
						
							2021-08-06 14:05:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								93d98d4976 
								
							 
						 
						
							
							
								
								Kernel: Move Kernel/Memory/ code into Kernel::Memory namespace  
							
							
							
						 
						
							2021-08-06 14:05:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a1d7ebf85a 
								
							 
						 
						
							
							
								
								Kernel: Rename Kernel/VM/ to Kernel/Memory/  
							
							... 
							
							
							
							This directory isn't just about virtual memory, it's about all kinds
of memory management. 
							
						 
						
							2021-08-06 14:05:58 +02:00