Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3666525d24 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `readlink` in terms of `readlinkat`  
							
							 
							
							
							
						 
						
							2024-09-17 16:38:15 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f1a4bbce53 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement all stat family functions with fstatat  
							
							 
							
							... 
							
							
							
							This patch gets rid of 2 unnecessary syscalls! 
							
						 
						
							2024-09-17 16:38:01 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								708a720d9d 
								
							 
						 
						
							
							
								
								Kernel: Remove SYS_OPEN  
							
							 
							
							... 
							
							
							
							This can be done with SYS_OPENAT with fd set to AT_FDCWD 
							
						 
						
							2024-09-17 16:16:47 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5e4aa75e03 
								
							 
						 
						
							
							
								
								Kernel: Perform access checks when creating a file or a directory  
							
							 
							
							... 
							
							
							
							Also SYS_CREATE_DIR now uses correct relative path. It used to always
create files relative to root. And as no permission checks were tested,
file creation succeeded to root as long as path did not contain '/' :D 
							
						 
						
							2024-09-17 15:57:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d88ee5c9ee 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement `creat` with `open`  
							
							 
							
							... 
							
							
							
							This allows getting rid of unnecessary SYS_CREATE. Directory creation
still has its own syscall, but I could combine it with SYS_OPEN also. 
							
						 
						
							2024-09-17 15:55:53 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d4ea720239 
								
							 
						 
						
							
							
								
								Kernel: Don't crash the kernel if ext2 encounters disk error  
							
							 
							
							... 
							
							
							
							This will most likely result in a corrupted filesystem, but crashing the
kernel is too much :D 
							
						 
						
							2024-09-17 15:54:33 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								97ee370ffe 
								
							 
						 
						
							
							
								
								Kernel: Allow listing files even if one of directories blocks are empty  
							
							 
							
							
							
						 
						
							2024-09-17 15:53:14 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a084f83f4c 
								
							 
						 
						
							
							
								
								Kernel: Rework kernel-side ELF loading  
							
							 
							
							... 
							
							
							
							ELFs are now loaded as MemoryRegions so they don't need special handling
anywhere. This also allows file backed COW optimizations to work. This
was not the case before.
This patch removes now obsolete LoadableELF and unused ELF files from
LibElf. 
							
						 
						
							2024-09-15 23:57:34 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								54732edff4 
								
							 
						 
						
							
							
								
								Kernel: Fix bugs in memory regions  
							
							 
							
							... 
							
							
							
							MemoryRegion::initialize() required size to be page aligned, this is not
necessary.
MemoryBackedRegion::copy_data_to_region() required user-write
permissions for underlying data. This did not matter as memory backed
regions dont support COW memory, but it could lead to bugs later on. 
							
						 
						
							2024-09-15 23:18:05 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7feb4c4ebd 
								
							 
						 
						
							
							
								
								Kernel: VFS::file_from_absolute_path now used root_file() API  
							
							 
							
							
							
						 
						
							2024-09-15 02:38:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2911d1f018 
								
							 
						 
						
							
							
								
								Kernel: Cleanup and fix pseudo terminals  
							
							 
							
							
							
						 
						
							2024-09-15 02:38:07 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d68ad893f0 
								
							 
						 
						
							
							
								
								Kernel/Shell: Add support for delete key  
							
							 
							
							
							
						 
						
							2024-09-14 22:45:48 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								39667de662 
								
							 
						 
						
							
							
								
								Kernel: Fix sizeof check for sys_tc{set,get}attr  
							
							 
							
							
							
						 
						
							2024-09-14 21:17:03 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8956835d95 
								
							 
						 
						
							
							
								
								Kernel: Make sys_.*at use VFS relative path finding  
							
							 
							
							
							
						 
						
							2024-09-14 21:15:58 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ea4ec2eafc 
								
							 
						 
						
							
							
								
								Kernel: Make OpenFileDescrptor store VFS::File instead of inode+path  
							
							 
							
							
							
						 
						
							2024-09-14 20:10:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3a352078de 
								
							 
						 
						
							
							
								
								Kernel: Make VirtualFileSystem::File non copyable  
							
							 
							
							
							
						 
						
							2024-09-14 20:09:28 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								6060b39548 
								
							 
						 
						
							
							
								
								Kernel: Implement relative file searching in VFS  
							
							 
							
							
							
						 
						
							2024-09-14 19:44:20 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2b52ea4c6f 
								
							 
						 
						
							
							
								
								Kernel: Make Inode::can_access const  
							
							 
							
							
							
						 
						
							2024-09-14 19:39:41 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b41738b47b 
								
							 
						 
						
							
							
								
								Kernel: Fix ACPI name formatting functions  
							
							 
							
							
							
						 
						
							2024-09-14 19:39:13 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								57e76a65a4 
								
							 
						 
						
							
							
								
								Kernel: Null terminate ext2 directory entries  
							
							 
							
							... 
							
							
							
							This fixes a weird bug with `ls /bin` 
							
						 
						
							2024-09-12 23:55:34 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								467ac6c365 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SOCK_CLOEXEC and SOCK_NONBLOCK  
							
							 
							
							... 
							
							
							
							This removes the need for fcntl after creating a socket :) 
							
						 
						
							2024-09-11 21:59:11 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c77ad5fb34 
								
							 
						 
						
							
							
								
								Kernel: Implement copy-on-write memory for file backed `mmap`s  
							
							 
							
							
							
						 
						
							2024-09-11 19:33:50 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								64a3893f6f 
								
							 
						 
						
							
							
								
								Kernel: Add command line option to disable AML parsing  
							
							 
							
							... 
							
							
							
							This can be handy if my broken AML parser crashes or hangs while parsing
AML :D 
							
						 
						
							2024-09-10 16:20:24 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								eabe759ebf 
								
							 
						 
						
							
							
								
								Kernel: Don't require APs that are not started to start :D  
							
							 
							
							
							
						 
						
							2024-09-10 16:19:43 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a4838386e6 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary branch from uncanonicalizing addresses  
							
							 
							
							
							
						 
						
							2024-09-10 16:19:16 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c65613901f 
								
							 
						 
						
							
							
								
								Kernel: Fix AML aliases and package elements  
							
							 
							
							
							
						 
						
							2024-09-10 16:18:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								de35cec2e1 
								
							 
						 
						
							
							
								
								Kernel: Allow private file mappings past file end  
							
							 
							
							... 
							
							
							
							This is just to make memory mapping ELF files easier :D 
							
						 
						
							2024-09-05 14:48:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2f241e1b61 
								
							 
						 
						
							
							
								
								Kernel: Implement FileBackedRegion::clone  
							
							 
							
							
							
						 
						
							2024-09-05 13:59:09 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								f30947336a 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup cmake files  
							
							 
							
							
							
						 
						
							2024-09-05 12:52:25 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								1138ec77ca 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryBackedRegion cloning for non page aligned size  
							
							 
							
							
							
						 
						
							2024-09-04 21:14:26 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ddf1babfe1 
								
							 
						 
						
							
							
								
								Kernel: Cleanup constructor calls  
							
							 
							
							
							
						 
						
							2024-08-31 02:23:08 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ef5af384e7 
								
							 
						 
						
							
							
								
								Kernel: Print userspace invalid pointer access address  
							
							 
							
							
							
						 
						
							2024-08-30 15:34:37 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								a134d16070 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryRegion test for contains_fully  
							
							 
							
							
							
						 
						
							2024-08-30 15:33:58 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								827eec6af0 
								
							 
						 
						
							
							
								
								Kernel: Make .rodata read-only and add -orphan-handling=error  
							
							 
							
							... 
							
							
							
							I don't really know why .rodata was marked writable :D 
							
						 
						
							2024-08-30 15:33:02 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								8da2f12ba6 
								
							 
						 
						
							
							
								
								Kernel: Only load program headers of interpreter if its present  
							
							 
							
							... 
							
							
							
							I was loading program headers of both executable and interpreter but
that is incorrect. The interpreter will itself load the program headers
of the executable. 
							
						 
						
							2024-08-28 21:19:37 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2bf65ef512 
								
							 
						 
						
							
							
								
								Kernel: Invoke ELF interpreter instead if it is specified  
							
							 
							
							
							
						 
						
							2024-08-28 17:06:32 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d20752c318 
								
							 
						 
						
							
							
								
								Kernel: Make OpenFileDescritorSet::open take rvalue  
							
							 
							
							... 
							
							
							
							This gets rid of some implicit allocations from copy constructors 
							
						 
						
							2024-08-28 16:36:10 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5f66ef34dd 
								
							 
						 
						
							
							
								
								Kernel: map userspace arguments after the entry point  
							
							 
							
							... 
							
							
							
							This allows cleaner memory layout for processes that are not loaded to
default location 
							
						 
						
							2024-08-27 22:46:08 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								da0b4cd40e 
								
							 
						 
						
							
							
								
								Kernel: Allow MAP_FIXED in mmap  
							
							 
							
							
							
						 
						
							2024-08-27 22:45:49 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2c520391eb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add support for init_array and fini_array  
							
							 
							
							
							
						 
						
							2024-08-27 00:47:03 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								7c4b9218f2 
								
							 
						 
						
							
							
								
								Kernel: VirtualTTY now resets ansi state before printing anything  
							
							 
							
							
							
						 
						
							2024-08-25 17:56:06 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								72f8138ca1 
								
							 
						 
						
							
							
								
								Kernel: Disable scheduler load balancing until I get it fixed  
							
							 
							
							... 
							
							
							
							Scheduler keeps crashing all the time when running on multiple cores.
This patch disabled the load balancer, which seems to get rid of most
scheduler crashes. 
							
						 
						
							2024-08-25 15:37:17 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								991ae4383a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fchmod  
							
							 
							
							
							
						 
						
							2024-08-25 15:07:42 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2ce7205c80 
								
							 
						 
						
							
							
								
								Kernel: Add command line option to disable debug printing  
							
							 
							
							... 
							
							
							
							The whole system can crash when debug output and tty output are done at
the same time. This patch is just a hack to prevent the crash :D 
							
						 
						
							2024-08-25 15:02:15 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								fb35f06cf5 
								
							 
						 
						
							
							
								
								Kernel: Add better support for bootloaders loading the kernel  
							
							 
							
							... 
							
							
							
							Before I assumed that bootloaders loaded the kernel at physical address
0, but this patch kinda allows loading to different addresses. This
still doesn't fully work as kernel bootstrap paging relies on kernel
being loaded at 0 
							
						 
						
							2024-08-22 14:48:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								abc788c756 
								
							 
						 
						
							
							
								
								Kernel: Improve output message when dumping all syscalls  
							
							 
							
							
							
						 
						
							2024-08-22 14:48:21 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								63b616dc2e 
								
							 
						 
						
							
							
								
								Kernel: Hack non-blocking support for sockets  
							
							 
							
							... 
							
							
							
							This is not thread safe and can still block if two programs refering to
the same socket try to read data at the same time 
							
						 
						
							2024-08-22 14:48:14 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								cba12efeb1 
								
							 
						 
						
							
							
								
								Kernel: Ignore optional_actions in SYS_TCSETATTR  
							
							 
							
							... 
							
							
							
							Currently all terminals are syncronous, so the actions don't do anything 
							
						 
						
							2024-08-22 14:47:54 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								37cd4ed504 
								
							 
						 
						
							
							
								
								Kernel: Add support for CSI @, b, d to VirtualTerminal  
							
							 
							
							
							
						 
						
							2024-08-22 14:04:45 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								869bba4dad 
								
							 
						 
						
							
							
								
								Kernel: Add check for panic in timer interrupt handler  
							
							 
							
							... 
							
							
							
							Previously processors would not get notified about kernel panic if they
were idling 
							
						 
						
							2024-08-22 14:03:03 +03:00