Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9ecd156622 
								
							 
						 
						
							
							
								
								Kenrel: Ext2 fix signed-unsigned comparisons  
							
							 
							
							
							
						 
						
							2024-03-22 12:35:29 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9c36d7c338 
								
							 
						 
						
							
							
								
								BAN/Kernel: Rework assertion/panic system  
							
							 
							
							... 
							
							
							
							BAN/Assert.h does not need any includes meaning it can be included
anywhere without problems. 
							
						 
						
							2024-03-04 11:41:54 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d94f6388b7 
								
							 
						 
						
							
							
								
								Kernel: Fix all broken locks from new mutexes  
							
							 
							
							
							
						 
						
							2024-02-28 22:45:34 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9594ee8e47 
								
							 
						 
						
							
							
								
								Kernel: Start making device numbers unique for each device  
							
							 
							
							
							
						 
						
							2024-02-22 15:53:48 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3fc1edede0 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement super basic select  
							
							 
							
							... 
							
							
							
							This does not really even block but it works... :D 
							
						 
						
							2024-02-12 17:26:33 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ff49d8b84f 
								
							 
						 
						
							
							
								
								Kernel: Cleanup OSI layer overlapping  
							
							 
							
							
							
						 
						
							2024-02-09 17:05:07 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ed0b1a86aa 
								
							 
						 
						
							
							
								
								Kernel: Semaphores and Threads can now be blocked with timeout  
							
							 
							
							
							
						 
						
							2024-02-09 15:28:15 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								49889858fa 
								
							 
						 
						
							
							
								
								Kernel: Allow chmod on TmpSocketInode  
							
							 
							
							
							
						 
						
							2024-02-08 03:16:01 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e7dd03e551 
								
							 
						 
						
							
							
								
								Kernel: Implement basic connection-mode unix domain sockets  
							
							 
							
							
							
						 
						
							2024-02-08 02:28:19 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								132286895f 
								
							 
						 
						
							
							
								
								Kernel: Implement Socket inodes for tmpfs  
							
							 
							
							
							
						 
						
							2024-02-07 15:57:45 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								41cad88d6e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement dummy syscalls for accept, connect, listen  
							
							 
							
							
							
						 
						
							2024-02-07 15:57:45 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								692cec8458 
								
							 
						 
						
							
							
								
								Kernel/Userspace/LibC: Implement basic dprintln for userspace  
							
							 
							
							
							
						 
						
							2024-02-05 01:24:09 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e1ffbb710b 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement basic ioctl for network addresses  
							
							 
							
							
							
						 
						
							2024-02-03 01:50:10 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								0f154c3173 
								
							 
						 
						
							
							
								
								Kernel: Implement basic recvfrom  
							
							 
							
							
							
						 
						
							2024-02-02 13:50:00 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ec2f21bb9f 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SYS_SENDTO  
							
							 
							
							
							
						 
						
							2024-02-02 03:16:01 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ab150b458a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement basic socket binding  
							
							 
							
							
							
						 
						
							2024-02-02 01:31:58 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								dfe5a2d665 
								
							 
						 
						
							
							
								
								All: Cleanup all files  
							
							 
							
							... 
							
							
							
							Add newline to end of files and remove whitespace from end of lines 
							
						 
						
							2024-01-24 15:53:38 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2cee2a85e6 
								
							 
						 
						
							
							
								
								Kernel: DevFS now stores all devices  
							
							 
							
							... 
							
							
							
							This allows removing hack in PCI that was required to keep NVMe
controller alive. 
							
						 
						
							2024-01-24 14:33:50 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								e8f853a197 
								
							 
						 
						
							
							
								
								Kernel: After device updates, reschedule instead of sleeping  
							
							 
							
							
							
						 
						
							2024-01-09 11:21:00 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								12a78c822e 
								
							 
						 
						
							
							
								
								Kernel: Explicitly construct ByteSpan from Span<uint8_t>  
							
							 
							
							... 
							
							
							
							VSC complains about not finding proper constructor, this fixes that. 
							
						 
						
							2024-01-04 12:17:55 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9fa13079f2 
								
							 
						 
						
							
							
								
								Kernel: Implement supplementary groups  
							
							 
							
							... 
							
							
							
							This code has very ugly file parsing code. I have to create API
for reading files line by line in kernel space...
This allows users to open framebuffer/input files without root.
Mounting has to be moved to userspace soon. It makes no sense to
hard code permissions for every (device) file. 
							
						 
						
							2024-01-02 23:24:32 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								96d831c31a 
								
							 
						 
						
							
							
								
								Kernel/LibC/Userspace: Implement chown and set tty owner on login  
							
							 
							
							
							
						 
						
							2024-01-02 22:19:38 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2f8759d2d3 
								
							 
						 
						
							
							
								
								Kernel: Make ext2 fs work with block sizes != 1024  
							
							 
							
							
							
						 
						
							2023-12-10 01:32:30 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								1c78671078 
								
							 
						 
						
							
							
								
								Kernel: Rework all signal code  
							
							 
							
							... 
							
							
							
							Signal handling code was way too complex. Now everything is
simplified and there is no need for ThreadBlockers.
Only complication that this patch includes is that blocking syscalls
have to manually be made interruptable by signal. There might be some
clever solution to combat this is make this happen automatically. 
							
						 
						
							2023-12-06 13:02:17 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								9b841cb823 
								
							 
						 
						
							
							
								
								BuildSystem/Kernel: Enable -Wextra and -Werror in kernel  
							
							 
							
							... 
							
							
							
							Only needed to fix some unused variable bugs 
							
						 
						
							2023-12-01 01:22:53 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								fdb6dc94ba 
								
							 
						 
						
							
							
								
								Kernel: cast between inheritance with static_cast  
							
							 
							
							... 
							
							
							
							using reinterpret_cast is not a good idea. preferably we would use
dynamic_cast, but that is not possible since kernel is compiled with
-fno-rtti. 
							
						 
						
							2023-11-29 20:50:57 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								fd18071975 
								
							 
						 
						
							
							
								
								Kernel: Implement TerminalDriver for Framebuffer device  
							
							 
							
							... 
							
							
							
							Use this new FramebufferTerminalDriver for terminal instead of the
old VesaTerminalDriver. Only drawback with this is that framebuffer
device can only be intialized after DevFS is initialized. 
							
						 
						
							2023-11-22 21:57:17 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								cdf53f33f6 
								
							 
						 
						
							
							
								
								Kernel: Implement basic framebuffer device  
							
							 
							
							... 
							
							
							
							This allows exposing framebuffer to userspace 
							
						 
						
							2023-11-22 20:34:41 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								bc5e8add19 
								
							 
						 
						
							
							
								
								Kernel: Make Ext2 filesystem use BlockDevice instead of Partition  
							
							 
							
							
							
						 
						
							2023-11-21 15:20:24 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								95af728e39 
								
							 
						 
						
							
							
								
								Kernel: Don't calculate divisor in a for loop in ext2 inodes  
							
							 
							
							
							
						 
						
							2023-11-17 19:02:01 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								fda0dfec30 
								
							 
						 
						
							
							
								
								Kernel: Make TmpFS enforce max page count.  
							
							 
							
							
							
						 
						
							2023-11-07 16:13:21 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d6ae1bcf36 
								
							 
						 
						
							
							
								
								Kernel: Remove now obsolete RamFS  
							
							 
							
							... 
							
							
							
							Everything is using now the better TmpFS which uses physical pages
for page allocation instead of the static kmalloc memory. 
							
						 
						
							2023-11-07 16:07:11 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5044810451 
								
							 
						 
						
							
							
								
								Kernel: Make DevFS use the new and better TmpFS instead of RamFS  
							
							 
							
							
							
						 
						
							2023-11-07 16:05:05 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								07b5920f3f 
								
							 
						 
						
							
							
								
								Kernel: Lock TmpFS in all its methods  
							
							 
							
							
							
						 
						
							2023-11-07 16:03:52 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								2bcf934389 
								
							 
						 
						
							
							
								
								Kernel: Implement symlinks to TmpFS  
							
							 
							
							
							
						 
						
							2023-11-07 15:59:50 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b1f431d962 
								
							 
						 
						
							
							
								
								Kernel: /tmp is now TmpFS instead of RamFS  
							
							 
							
							
							
						 
						
							2023-11-07 02:36:22 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								06e176e6b9 
								
							 
						 
						
							
							
								
								Kernel: Make ProcFS use the new TmpFS internally  
							
							 
							
							
							
						 
						
							2023-11-07 02:35:44 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								b7771e95ac 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS Inode unlinking and deletion  
							
							 
							
							
							
						 
						
							2023-11-06 21:49:12 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								3e33fc156b 
								
							 
						 
						
							
							
								
								Kernel: TmpFS directory inodes now iterate over only valid entries  
							
							 
							
							
							
						 
						
							2023-11-06 21:41:51 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								438f01a856 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpFS directory entry enumeration early return  
							
							 
							
							
							
						 
						
							2023-11-06 21:06:10 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								5dd8189048 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 directory listing for big directories  
							
							 
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ff6b127c3a 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS directory listing  
							
							 
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c3ed700324 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS inode chmod  
							
							 
							
							
							
						 
						
							2023-11-06 20:11:34 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								ba2f09a4e6 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TmpFS code and block access doesn't require allocs  
							
							 
							
							... 
							
							
							
							TmpFS blocks are now accessed with a simple wrapper 
							
						 
						
							2023-11-06 20:07:09 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c92c1b8e2b 
								
							 
						 
						
							
							
								
								Kernel: TmpInode blocks are on demand allocated  
							
							 
							
							
							
						 
						
							2023-11-06 10:44:37 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c27d20abd8 
								
							 
						 
						
							
							
								
								Kernel: Implement read/write/truncate for TmpFileInode  
							
							 
							
							
							
						 
						
							2023-11-05 02:28:43 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								99d7b0917d 
								
							 
						 
						
							
							
								
								Kernel: Start work on proper TmpFS in Heap instead of kmalloc memory  
							
							 
							
							
							
						 
						
							2023-11-04 18:18:45 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								35f8f44510 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 small link deallocation  
							
							 
							
							... 
							
							
							
							Also fix deallocation bug 
							
						 
						
							2023-10-30 16:22:02 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								76f48f095c 
								
							 
						 
						
							
							
								
								Kernel: Rewrite a lot of ext2 code  
							
							 
							
							... 
							
							
							
							This commit consists of multiple big changes
1. blocks for inodes are now allocated on demand
  - reading from non allocated block will just return zeroes
  - writing to non allocated block allocates it
2. code doesn't really use raw pointers anymore
  - all casts to uint32_t or structures are now replaced with
    spans. either as<T> or as_span<T> which both are bounds
	checked
3. code doesn't depend on random macros for accessing indirect blocks
  - i added some recursive functions which take care of this :) 
							
						 
						
							2023-10-28 22:13:28 +03:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								240a687d8f 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 inode block allocation with triply indirect blocks  
							
							 
							
							
							
						 
						
							2023-10-28 16:53:00 +03:00