Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c1fd341698 
								
							 
						 
						
							
							
								
								Kernel: TTY now reads input byte by byte  
							
							 
							
							... 
							
							
							
							This allows correct behaviour for character streams / keyboard
handling. Serial input can now send working ^C :D 
							
						 
						
							2023-09-07 15:06:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0deab1be51 
								
							 
						 
						
							
							
								
								Kernel: Remove bitmap debug printing from ext2 inode allocation  
							
							 
							
							
							
						 
						
							2023-09-06 01:25:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5a623adaa6 
								
							 
						 
						
							
							
								
								Kernel: Correct inode links count  
							
							 
							
							
							
						 
						
							2023-09-05 14:46:56 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ddd36af0f1 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								35fd30ee29 
								
							 
						 
						
							
							
								
								Kernel: Implement basic RamSymlinkInode  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4a0652684c 
								
							 
						 
						
							
							
								
								Kernel: You can now read serial output from the /dev/ttyS*  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								33c81f00b7 
								
							 
						 
						
							
							
								
								Kernel: Receive interrupts for COM1 and COM2 input  
							
							 
							
							... 
							
							
							
							The input has to still be attached to terminal 
							
						 
						
							2023-09-04 22:07:40 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								55714b90cd 
								
							 
						 
						
							
							
								
								Kernel: Rework whole Terminal structure  
							
							 
							
							... 
							
							
							
							Serial monitors can now be used as a output. This requires editing
init code for the stdio opening. Serial input is not supported, so qemu
still needs graphical window for ps/2 keyboard. 
							
						 
						
							2023-09-04 19:34:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9b47603a1d 
								
							 
						 
						
							
							
								
								Kernel: Make serial devices to their own class  
							
							 
							
							
							
						 
						
							2023-09-04 14:57:05 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								42b85dc33b 
								
							 
						 
						
							
							
								
								Kernel: Add ANSI support for hiding/showing cursor to TTY  
							
							 
							
							
							
						 
						
							2023-09-04 14:30:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								044378cfa3 
								
							 
						 
						
							
							
								
								Kernel: Add basic nanosleep, only millisecond percision  
							
							 
							
							
							
						 
						
							2023-09-04 12:59:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f1d4d5f995 
								
							 
						 
						
							
							
								
								Kernel: Add basic support for O_NONBLOCK (only for tty)  
							
							 
							
							
							
						 
						
							2023-09-04 12:57:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								19d0fb6fcd 
								
							 
						 
						
							
							
								
								Kernel: add basic fcntl() with couple of commands and no validation  
							
							 
							
							
							
						 
						
							2023-09-04 12:57:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7933265095 
								
							 
						 
						
							
							
								
								Kernel: Split ext2 implementation to multiple files  
							
							 
							
							
							
						 
						
							2023-09-01 15:10:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d810644018 
								
							 
						 
						
							
							
								
								Kernel: Start work on writable ext2 filesystem  
							
							 
							
							
							
						 
						
							2023-08-31 23:40:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a7bfc1c2ec 
								
							 
						 
						
							
							
								
								Kernel: Add missing ififo() to Inode::Mode  
							
							 
							
							
							
						 
						
							2023-08-31 21:38:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								65501837b7 
								
							 
						 
						
							
							
								
								Kernel: Stack trace dumping validates pointers before using them  
							
							 
							
							
							
						 
						
							2023-08-31 21:36:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cbd2519b9a 
								
							 
						 
						
							
							
								
								Kernel: better handle kernel errors  
							
							 
							
							
							
						 
						
							2023-08-29 00:13:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e8a73f9696 
								
							 
						 
						
							
							
								
								BuildSystem: use -a with rsync  
							
							 
							
							... 
							
							
							
							This allows cmake to not rebuild whole project every time 
							
						 
						
							2023-08-28 11:38:17 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b05cf9ef09 
								
							 
						 
						
							
							
								
								BuildSystem: Base sysroot is now distributed as a tar ball  
							
							 
							
							... 
							
							
							
							This allows file and directory permissions work as intended.
cmake is now filled with 'sudo' but with sudo timeout this should be
fine. 
							
						 
						
							2023-08-23 10:38:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ef1077fd7b 
								
							 
						 
						
							
							
								
								Kernel: kill() with negative pid actually matches pgid  
							
							 
							
							
							
						 
						
							2023-08-22 14:54:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f1ba5c7e0f 
								
							 
						 
						
							
							
								
								Kernel: Process keeps track if forked process has called exec*()  
							
							 
							
							
							
						 
						
							2023-08-22 14:53:46 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								97ea4986af 
								
							 
						 
						
							
							
								
								Kernel/LibC: implement proper getpgid and setpgid  
							
							 
							
							
							
						 
						
							2023-08-22 14:53:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								25c021c15b 
								
							 
						 
						
							
							
								
								Kernel: Add function to enumerate processes in session  
							
							 
							
							
							
						 
						
							2023-08-22 14:52:28 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								42b90ae76c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add {get,set}pgrp()  
							
							 
							
							
							
						 
						
							2023-08-22 11:36:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ccc61cb10c 
								
							 
						 
						
							
							
								
								Kernel: Barebones implementation sessions and process groups  
							
							 
							
							
							
						 
						
							2023-08-22 11:35:40 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8e4216215e 
								
							 
						 
						
							
							
								
								Kernel/LibC: add dup() syscall and function  
							
							 
							
							
							
						 
						
							2023-08-17 12:03:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8c282a5d83 
								
							 
						 
						
							
							
								
								Kernel: O_SEARCH doesn't require any permissions  
							
							 
							
							... 
							
							
							
							Except read permissions for all directories in the path
This allows us to stat e.g. device files for which we don't have
the permissions. 
							
						 
						
							2023-08-11 12:26:07 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8f3348cf2b 
								
							 
						 
						
							
							
								
								Kernel: open() now validates file access mode  
							
							 
							
							
							
						 
						
							2023-08-11 11:53:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								38c0bc7bae 
								
							 
						 
						
							
							
								
								Kernel: Remove unused syscall  
							
							 
							
							
							
						 
						
							2023-08-11 11:43:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a7f37236bf 
								
							 
						 
						
							
							
								
								Kernel: Zero initialize threads sse_storage  
							
							 
							
							
							
						 
						
							2023-08-11 00:26:43 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								51532336b0 
								
							 
						 
						
							
							
								
								Kernel: Move structures in boot.S to .data section  
							
							 
							
							
							
						 
						
							2023-08-11 00:26:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								03d4b47f63 
								
							 
						 
						
							
							
								
								Kernel: HPET is now used in legacy mode when PIC is forced  
							
							 
							
							
							
						 
						
							2023-08-10 22:01:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8b57edde6b 
								
							 
						 
						
							
							
								
								Kernel: Fix slave PIC  
							
							 
							
							... 
							
							
							
							we dont mask interrupt 2 in PIC since it corresponds to the
slave PIC. Also cleanup PIC code :) 
							
						 
						
							2023-08-10 21:52:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								778778fede 
								
							 
						 
						
							
							
								
								Kernel: HPET doesn't use the legacy mapping anymore  
							
							 
							
							
							
						 
						
							2023-08-10 21:08:32 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f7449c4ab9 
								
							 
						 
						
							
							
								
								Kernel: APIC now uses MMIO namespace functions for mmio  
							
							 
							
							
							
						 
						
							2023-08-10 21:07:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fd2bcc9156 
								
							 
						 
						
							
							
								
								Kernel: IDT now sends EOI for every interrupt  
							
							 
							
							... 
							
							
							
							EOI is sent before calling the interrupt handler. This should be fine
since all interrupts are processed with interrupts disabled 
							
						 
						
							2023-08-09 09:57:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a5b1555725 
								
							 
						 
						
							
							
								
								Kernel: Validate HPET tick period  
							
							 
							
							
							
						 
						
							2023-08-09 09:50:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e74fdbc55b 
								
							 
						 
						
							
							
								
								Kernel: Remove get_unix_timestamp from SystemTimer  
							
							 
							
							... 
							
							
							
							Kernel now uses the percise real_time() and time_since_boot() 
							
						 
						
							2023-08-09 08:57:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								008c777a9f 
								
							 
						 
						
							
							
								
								Kernel: Add PageTable::Flags::CacheDisable  
							
							 
							
							... 
							
							
							
							Also fix multiple places where we were using uint8_t as page table
flags instead of PageTable::flags_t which we promoted to uint16_t
while back. 
							
						 
						
							2023-08-06 23:59:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d8a9d4a24e 
								
							 
						 
						
							
							
								
								Kerne: SystemTimer can now output the current real time  
							
							 
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bc0e1fa898 
								
							 
						 
						
							
							
								
								Kernel: Rename TimerHandler to SystemTimer  
							
							 
							
							... 
							
							
							
							I changed SystemTimer to only handle the "best" supported timer
it can initialize. 
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								17f1737c9a 
								
							 
						 
						
							
							
								
								Kernel: Add function to retrieve boot time as timespec  
							
							 
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								868444f043 
								
							 
						 
						
							
							
								
								Kernel: F11 now prints current time to debug output  
							
							 
							
							... 
							
							
							
							This allows better timer percision and system freeze checks 
							
						 
						
							2023-08-04 15:22:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fdae253695 
								
							 
						 
						
							
							
								
								Kernel: Add basic HPET support to replace PIT if exists  
							
							 
							
							... 
							
							
							
							This works same way as the PIT implementation; calls Scheduler every
milli second. 
							
						 
						
							2023-08-04 15:22:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d4adcff958 
								
							 
						 
						
							
							
								
								Kernel: Move sleep() implementation to TimerHandler  
							
							 
							
							
							
						 
						
							2023-08-04 15:15:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2c59c9a3cc 
								
							 
						 
						
							
							
								
								Kernel: Add more structures to ACPI  
							
							 
							
							
							
						 
						
							2023-08-04 15:13:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3a59a64355 
								
							 
						 
						
							
							
								
								Kernel: Implement basic MMIO functions  
							
							 
							
							... 
							
							
							
							This is equivalent to IO.h except for memory mapped io instead of
IO ports 
							
						 
						
							2023-08-04 15:12:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9363c1cdaf 
								
							 
						 
						
							
							
								
								Kernel: Move RTC to Timer directory  
							
							 
							
							... 
							
							
							
							PIT ms counter seems to be off by multiple seconds/minute. I will
be probably changing to HPET for system time 
							
						 
						
							2023-08-04 11:12:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								198e6d7cf6 
								
							 
						 
						
							
							
								
								Kernel: Start work on abstracting Timers  
							
							 
							
							
							
						 
						
							2023-08-04 10:29:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								07ee898f4f 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary timer check from Scheduler  
							
							 
							
							
							
						 
						
							2023-08-04 10:29:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e57c1fc9fc 
								
							 
						 
						
							
							
								
								Kernel: Threads are deleted sooner and cleaner  
							
							 
							
							... 
							
							
							
							We now delete threads when
    1. it is marked as Terminated and is the current thread
    2. it tries to start execution in Terminated state
This allows us to never have thread executing in Terminated state 
							
						 
						
							2023-08-04 10:29:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a11b5ae41f 
								
							 
						 
						
							
							
								
								Kernel: align userspace stacks  
							
							 
							
							... 
							
							
							
							I was getting #GP on sse instructions 
							
						 
						
							2023-08-03 18:09:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								91f04ce250 
								
							 
						 
						
							
							
								
								Kernel: Change PageTable API  
							
							 
							
							... 
							
							
							
							Getting free pages not reserves them, so you don't have to hold
the page table lock :) 
							
						 
						
							2023-08-02 22:09:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								926df2b276 
								
							 
						 
						
							
							
								
								Kernel: PageTable now supports reserved pages  
							
							 
							
							... 
							
							
							
							You can now map pages as reserved, so that they will not be given
from get_free_page() or get_free_contiguous_pages(). 
							
						 
						
							2023-08-01 16:35:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								217dbca7b7 
								
							 
						 
						
							
							
								
								Kernel: Cleanup returns from any kind on interrupts  
							
							 
							
							
							
						 
						
							2023-08-01 14:23:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								679d47131d 
								
							 
						 
						
							
							
								
								BuildSystem: Edit build flags regarding sse and warnings  
							
							 
							
							
							
						 
						
							2023-07-31 22:31:17 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8b1bccb79b 
								
							 
						 
						
							
							
								
								Kernel: store/load sse/mmx/fpu state on isr/irq/syscall  
							
							 
							
							... 
							
							
							
							I haven't tested this yet but should be fine. This will be optimized
to only save state from threads that are using it 
							
						 
						
							2023-07-31 22:28:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e86e755c51 
								
							 
						 
						
							
							
								
								Kernel: Generally improve signals  
							
							 
							
							
							
						 
						
							2023-07-31 22:28:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								08cdf88586 
								
							 
						 
						
							
							
								
								Kernel: Cleanup signal trampoline  
							
							 
							
							
							
						 
						
							2023-07-30 15:58:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6f7d97cf94 
								
							 
						 
						
							
							
								
								Kernel: Remove is_in_syscall from Thread  
							
							 
							
							
							
						 
						
							2023-07-30 14:49:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5e434f5131 
								
							 
						 
						
							
							
								
								Kernel: Hardware exceptions  now sends signals to userspace  
							
							 
							
							
							
						 
						
							2023-07-30 14:34:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a152d0aac5 
								
							 
						 
						
							
							
								
								Kernel: raise() now force sends signal  
							
							 
							
							
							
						 
						
							2023-07-30 14:17:07 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								879706e6e9 
								
							 
						 
						
							
							
								
								Kernel: Signals are not queued anymore  
							
							 
							
							... 
							
							
							
							Posix doesn't require signal queing if you don't use sigqueue() which
we don't support. Process also has its own pending signal mask. 
							
						 
						
							2023-07-29 16:54:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a5813f9ba5 
								
							 
						 
						
							
							
								
								Kernel: TTY now sends SIGINT on ^C to foreground process  
							
							 
							
							
							
						 
						
							2023-07-28 18:10:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5652af3384 
								
							 
						 
						
							
							
								
								Kernel: Mark reading section from StorageDevice as terminate critical  
							
							 
							
							
							
						 
						
							2023-07-28 18:09:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								22cd9af8cc 
								
							 
						 
						
							
							
								
								Kernel: Restructure process and thread termination  
							
							 
							
							... 
							
							
							
							When we want to kill a process, we mark its threads as Terminating
or Terminated. If the thread is in critical section that has to be
finished, it will be in Terminating state until done. Once Scheduler
is trying to execute Terminated thread it will instead delete it.
Once processes last thread is marked Terminated, the processes will
turn it into a cleanup thread, that will allow blocks and memory
cleanup to be done. 
							
						 
						
							2023-07-28 18:06:20 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a9cf9bceef 
								
							 
						 
						
							
							
								
								Kernel: Rewrite DiskCache  
							
							 
							
							... 
							
							
							
							We now cache only clean pages since I don't want to think about
syncing the disk later. 
							
						 
						
							2023-07-27 22:22:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6c0f864a6e 
								
							 
						 
						
							
							
								
								Kernel: Locks allow locking after locker is invalid  
							
							 
							
							... 
							
							
							
							SpinLock and RecursiveSpinLock will now allow locking after the initial
locker is invalid. This allows us to kill threads even if they are holding
internal locks 
							
						 
						
							2023-07-27 18:52:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e4509d9482 
								
							 
						 
						
							
							
								
								Kernel: DiskCache uses are now done without interrupts  
							
							 
							
							... 
							
							
							
							This allows disk cache to not be invalid state after partial read/write 
							
						 
						
							2023-07-27 18:52:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0f23e1f0f4 
								
							 
						 
						
							
							
								
								Kernel: Scheduler can now check if tid is valid  
							
							 
							
							... 
							
							
							
							Tid can become invalid if the thread is already terminated 
							
						 
						
							2023-07-27 18:34:06 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								642a6aa4ad 
								
							 
						 
						
							
							
								
								Kernel: Process::exit() unblocks the whole lock before blocking  
							
							 
							
							
							
						 
						
							2023-07-24 22:29:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								432c296b7b 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_GET_PID and SYS_TCSETPGID  
							
							 
							
							... 
							
							
							
							we don't have consept of process groups yet 
							
						 
						
							2023-07-24 22:29:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b576d373c4 
								
							 
						 
						
							
							
								
								Kernel: TTY now stores foreground process pid  
							
							 
							
							... 
							
							
							
							this will be process pgid when we have process groups 
							
						 
						
							2023-07-24 22:29:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								522aa8e762 
								
							 
						 
						
							
							
								
								Kernel: add Thread::queue_signal()  
							
							 
							
							
							
						 
						
							2023-07-24 22:26:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								146802fa4c 
								
							 
						 
						
							
							
								
								Kernel: Scheduler can now block threads based on tid  
							
							 
							
							
							
						 
						
							2023-07-24 22:24:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cc8af25d73 
								
							 
						 
						
							
							
								
								Kernel: remove Semaphore::is_blocked  
							
							 
							
							... 
							
							
							
							this will not mean anything after semaphores can spuriously wake up 
							
						 
						
							2023-07-24 22:23:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f5f4bf58ad 
								
							 
						 
						
							
							
								
								Kernel: add is_tty() to inode  
							
							 
							
							
							
						 
						
							2023-07-24 22:19:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3784da0d18 
								
							 
						 
						
							
							
								
								Kernel: you can now ask process if it is userspace process  
							
							 
							
							
							
						 
						
							2023-07-23 18:54:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9eb72f4392 
								
							 
						 
						
							
							
								
								Kernel: OpenFileDesctiptor can now return inode of fd  
							
							 
							
							
							
						 
						
							2023-07-23 18:52:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f7bf6d5e62 
								
							 
						 
						
							
							
								
								Kernel: Change signal kernel API  
							
							 
							
							... 
							
							
							
							return rsp and rip are now stored per thread 
							
						 
						
							2023-07-23 18:33:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								adb14ba373 
								
							 
						 
						
							
							
								
								Kernel: Userspace signal handlers are now called one at a time  
							
							 
							
							... 
							
							
							
							I added a syscall for telling the kernel when signal execution has
finished. We should send a random hash or id to the signal trampoline
that we would include in the syscall, so validity of signal exit can
be confirmed. 
							
						 
						
							2023-07-23 13:34:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7391d91317 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_SIGNAL/signal()  
							
							 
							
							
							
						 
						
							2023-07-21 20:08:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2149cec29f 
								
							 
						 
						
							
							
								
								Kernel: Make signals more POSIX  
							
							 
							
							
							
						 
						
							2023-07-21 20:01:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ad756c36fc 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							 
							
							
							
						 
						
							2023-07-21 19:27:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b56316e9da 
								
							 
						 
						
							
							
								
								Kernel: Scheduler now sends queued signals  
							
							 
							
							
							
						 
						
							2023-07-21 19:27:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a989c44211 
								
							 
						 
						
							
							
								
								Kernel: Make signals thread specific  
							
							 
							
							
							
						 
						
							2023-07-21 19:00:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								217e5f81cc 
								
							 
						 
						
							
							
								
								Kernel: add default signal actions  
							
							 
							
							
							
						 
						
							2023-07-21 18:02:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5f2549b198 
								
							 
						 
						
							
							
								
								BuildSystem: Strip kernel. We will add the map once we use it  
							
							 
							
							
							
						 
						
							2023-07-21 15:47:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								dcd4d0daeb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add bareboness signals  
							
							 
							
							... 
							
							
							
							You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :) 
							
						 
						
							2023-07-21 15:45:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								faf4220b38 
								
							 
						 
						
							
							
								
								Kernel: kernel memory takes now full pml4e  
							
							 
							
							... 
							
							
							
							This allows flags to work properly 
							
						 
						
							2023-07-21 13:47:05 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								193ddaa2f6 
								
							 
						 
						
							
							
								
								Kernel: remove PAGE_FLAGS_MASK as that was not correct anymore  
							
							 
							
							... 
							
							
							
							After I added NXE bit, the flags mask is no longer valid 
							
						 
						
							2023-07-21 12:01:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								46eb27883a 
								
							 
						 
						
							
							
								
								Kernel: Don't map kernel executable memory as writable  
							
							 
							
							
							
						 
						
							2023-07-21 11:17:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2db7cdb71e 
								
							 
						 
						
							
							
								
								Kernel: Syscalls now get the interrupt stack  
							
							 
							
							
							
						 
						
							2023-07-21 11:04:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f8a1a10897 
								
							 
						 
						
							
							
								
								Kernel: add NullDevice to /dev/null  
							
							 
							
							
							
						 
						
							2023-07-20 00:06:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								adbe13938e 
								
							 
						 
						
							
							
								
								Kernel: move Device.h to its own directory  
							
							 
							
							
							
						 
						
							2023-07-19 23:55:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4d5b14753d 
								
							 
						 
						
							
							
								
								Kernel: cleanup sys_exec()  
							
							 
							
							... 
							
							
							
							We now scope everyting so desctructors get called 
							
						 
						
							2023-07-19 23:20:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ba9fa00947 
								
							 
						 
						
							
							
								
								Kernel: fix memory leak in PageTable  
							
							 
							
							... 
							
							
							
							PageTable used to leak 2 pages on creation and other two on deletion 
							
						 
						
							2023-07-19 23:17:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								98cedf155c 
								
							 
						 
						
							
							
								
								Kernel: FixedWidthAllocator creation can now fail  
							
							 
							
							
							
						 
						
							2023-07-19 18:07:24 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								88e3998664 
								
							 
						 
						
							
							
								
								Kernel: VirtualRange creation can fail  
							
							 
							
							
							
						 
						
							2023-07-19 17:56:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c0c0bbc1bf 
								
							 
						 
						
							
							
								
								Kernel: SYS_FORK can now fail instead of panicing on error  
							
							 
							
							
							
						 
						
							2023-07-19 17:47:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								650e1b4fc5 
								
							 
						 
						
							
							
								
								Kernel: Fix bug which made bochs unbootable  
							
							 
							
							... 
							
							
							
							We could not boot if ATABus did not have valid primary device. 
							
						 
						
							2023-07-13 15:53:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6c1ada8d0a 
								
							 
						 
						
							
							
								
								Kernel: Enable global bit on kernel pages  
							
							 
							
							
							
						 
						
							2023-07-13 15:23:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7d00c2670f 
								
							 
						 
						
							
							
								
								Kernel: Support execute disable bit  
							
							 
							
							... 
							
							
							
							We will now map executable memory explicitly as executable. 
							
						 
						
							2023-07-13 14:28:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bca7e9a1e8 
								
							 
						 
						
							
							
								
								Kernel: CPUID can detect wether cpu supports nxe bit  
							
							 
							
							
							
						 
						
							2023-07-13 14:24:58 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3748f0304f 
								
							 
						 
						
							
							
								
								Kernel: Fix multiple bugs with terminal  
							
							 
							
							
							
						 
						
							2023-07-13 13:09:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2576bdbd14 
								
							 
						 
						
							
							
								
								Kernel: Fix ATA disk and partition numbering  
							
							 
							
							
							
						 
						
							2023-07-13 12:12:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								72041a52e8 
								
							 
						 
						
							
							
								
								Kernel: Ext2Inode::create_file actually sets the inode data  
							
							 
							
							... 
							
							
							
							We used to just create inode without touching its memory. 
							
						 
						
							2023-07-13 10:20:56 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								74c79c7eff 
								
							 
						 
						
							
							
								
								Kernel: Rewrite whole device structure  
							
							 
							
							... 
							
							
							
							We now have DevFileSystem which is derived from RamFileSystem. All
devices are RamInodes. We don't have separate DeviceManager anymore.
To iterate over devices, you can loop througn every inode in devfs. 
							
						 
						
							2023-07-10 23:17:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5a5656b2d3 
								
							 
						 
						
							
							
								
								Kenrel: RamInode now implements truncate()  
							
							 
							
							
							
						 
						
							2023-07-10 16:07:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1a1e584cba 
								
							 
						 
						
							
							
								
								Kernel: OpenFileDescriptors can now store more than 8 bits of flags  
							
							 
							
							
							
						 
						
							2023-07-10 16:06:36 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								65fa05f998 
								
							 
						 
						
							
							
								
								Kernel: add O_TRUNC  
							
							 
							
							... 
							
							
							
							this is not supported by anything yet 
							
						 
						
							2023-07-10 15:48:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2276fc95b8 
								
							 
						 
						
							
							
								
								Kernel: creat() mode now has to be access mode  
							
							 
							
							... 
							
							
							
							We provide the S_IFREG in creat 
							
						 
						
							2023-07-10 15:34:41 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1e173c178d 
								
							 
						 
						
							
							
								
								Kernel: Ext2 fill now return ENOTSUP on write  
							
							 
							
							... 
							
							
							
							We used to crash the kernel 
							
						 
						
							2023-07-10 15:34:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								773747cf9c 
								
							 
						 
						
							
							
								
								Kernel: O_APPEND is now supported  
							
							 
							
							
							
						 
						
							2023-07-10 15:11:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4972284dde 
								
							 
						 
						
							
							
								
								Kernel: open() and openat() now take mode as parameter  
							
							 
							
							... 
							
							
							
							O_CREAT now tries to create file if O_CREAT is specified 
							
						 
						
							2023-07-10 15:08:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								45789fda08 
								
							 
						 
						
							
							
								
								Kernel: You can now read/write to RamInodes  
							
							 
							
							... 
							
							
							
							RamFS should be stored on physical pages and not in kmalloc, but
that will be implemented later :) 
							
						 
						
							2023-07-10 14:09:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3b5bc63d1b 
								
							 
						 
						
							
							
								
								Kernel: Inode::create_file() now takes uid and gid as parameters  
							
							 
							
							
							
						 
						
							2023-07-10 13:32:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f1089e2b8a 
								
							 
						 
						
							
							
								
								Kernel: start work on ram file system  
							
							 
							
							
							
						 
						
							2023-07-10 13:26:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								363c325c79 
								
							 
						 
						
							
							
								
								Kenrel: Fix inode comparison  
							
							 
							
							... 
							
							
							
							We should not compare rdevs 
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								583504ebe0 
								
							 
						 
						
							
							
								
								Kernel: Inode rename directory functions  
							
							 
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b354b77f8b 
								
							 
						 
						
							
							
								
								Kernel: Mark Ext2 classes final  
							
							 
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								19dab08275 
								
							 
						 
						
							
							
								
								Kernel: add more functionality to PCI  
							
							 
							
							
							
						 
						
							2023-07-09 23:04:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3840fbf957 
								
							 
						 
						
							
							
								
								Kernel: Edit lock scopes and make string copy able to fail  
							
							 
							
							
							
						 
						
							2023-07-07 23:12:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								78c091f7f8 
								
							 
						 
						
							
							
								
								Kernel: Move open file descriptors to their own class  
							
							 
							
							... 
							
							
							
							This simplifies code a lot :) 
							
						 
						
							2023-07-07 23:11:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a549336530 
								
							 
						 
						
							
							
								
								Kernel/LibC: add basic dup2  
							
							 
							
							
							
						 
						
							2023-07-06 23:17:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4eb95c963d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add basic pipe() syscall and command  
							
							 
							
							... 
							
							
							
							You can now create pipes :) 
							
						 
						
							2023-07-06 22:16:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								af30d537da 
								
							 
						 
						
							
							
								
								Kernel: TTY now unblocks semaphore after read  
							
							 
							
							... 
							
							
							
							This allows concurrent reads not fully reading the buffer not block
indefinately. 
							
						 
						
							2023-07-06 21:32:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f1bd26fb92 
								
							 
						 
						
							
							
								
								Kernel: Add O_CLOEXEC  
							
							 
							
							
							
						 
						
							2023-07-06 20:00:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5c6bbcb62f 
								
							 
						 
						
							
							
								
								Kernel: Remove spammy process/thread exit printing  
							
							 
							
							
							
						 
						
							2023-07-06 10:34:46 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3c068aa0ae 
								
							 
						 
						
							
							
								
								Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC  
							
							 
							
							... 
							
							
							
							This gets the number of milliseconds since boot 
							
						 
						
							2023-07-06 00:38:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								86df258365 
								
							 
						 
						
							
							
								
								Kernel: rework the whole PageTable structure  
							
							 
							
							... 
							
							
							
							We now have page table structure for kernel memory which is shared
between all processes. 
							
						 
						
							2023-07-05 23:41:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0d620f3e0f 
								
							 
						 
						
							
							
								
								Kernel: Rewrite and optimize DiskCache  
							
							 
							
							... 
							
							
							
							DiskCache now consists of PageCaches which are caches of contiguous
sectors. This allows the disk cache to be ordered and faster traversal.
We seem to have a problem somewhere during reading. The stack gets
corrupted. 
							
						 
						
							2023-06-19 10:31:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5e123031aa 
								
							 
						 
						
							
							
								
								Kernel: kmalloc has now somewhat dynamic storage  
							
							 
							
							... 
							
							
							
							Allocations bigger than PAGE_SIZE and those not forced to be identity
mapped are now done on a GeneralAllocator. This allows us to use kmalloc
for big allocations; bigger than the fixed 1 MiB storage.
This is still a hack and the whole kmalloc will have to be rewritten at
some point, but for now this does the job :D 
							
						 
						
							2023-06-18 23:27:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								388f530edd 
								
							 
						 
						
							
							
								
								Kernel: Add GeneralAllocator::paddr_of  
							
							 
							
							... 
							
							
							
							Yoy can now query physical address of a virtual address for general
allocator allocation 
							
						 
						
							2023-06-18 23:25:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d354cccd37 
								
							 
						 
						
							
							
								
								Kernel: Add enum for ISR name to number  
							
							 
							
							
							
						 
						
							2023-06-18 23:24:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								714305ef56 
								
							 
						 
						
							
							
								
								Kernel: General allocator takes first valid vaddr as parameter  
							
							 
							
							
							
						 
						
							2023-06-17 22:23:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f83ae1e9c6 
								
							 
						 
						
							
							
								
								Kernel: Move print during boot  
							
							 
							
							
							
						 
						
							2023-06-12 23:45:36 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								32e1473c94 
								
							 
						 
						
							
							
								
								Kernel: Make disk IO blocking thread safe  
							
							 
							
							... 
							
							
							
							This was causing a lot of deadlocks on vms without kvm accel 
							
						 
						
							2023-06-12 18:57:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bf617036c7 
								
							 
						 
						
							
							
								
								Kernel: Rework syscall calling  
							
							 
							
							... 
							
							
							
							I removed the intermediate function when calling syscalls. Now syscall
handler calls the current process automatically. Only exception is
sys_fork, since it needs a assembly trampoline for the new thread. 
							
						 
						
							2023-06-12 14:16:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ce55422a24 
								
							 
						 
						
							
							
								
								Kernel: Remove Shell from kernel  
							
							 
							
							... 
							
							
							
							This is now obsolete since we have a userspace Shell. 
							
						 
						
							2023-06-12 02:04:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0f63cfa43f 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd  
							
							 
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								537780ee1e 
								
							 
						 
						
							
							
								
								Kernel: allocate thread stacks from 0x300000 onwards  
							
							 
							
							... 
							
							
							
							I had a problem where thread stack was overlapping with elf loading 
							
						 
						
							2023-06-12 01:02:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4ca99fcb4e 
								
							 
						 
						
							
							
								
								Kernel: Fix bug in elf loading  
							
							 
							
							... 
							
							
							
							We were allocating one extra page 
							
						 
						
							2023-06-12 00:59:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b254ade69b 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_GET_{,E}{UID,GID}  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ef4ebaa969 
								
							 
						 
						
							
							
								
								Kernel: Add syscalls for set{,e,re}{uid,gid}  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								51eb44bf40 
								
							 
						 
						
							
							
								
								Kernel/Userspace: Add basic init process  
							
							 
							
							... 
							
							
							
							This process parses /etc/passwd and promps login screen.
When an username is entered, it will launch that users shell 
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c62e820bcf 
								
							 
						 
						
							
							
								
								Kernel: Add basic Credentials for the system  
							
							 
							
							... 
							
							
							
							Now filesystem access/open, etc confirm that you have access for rwxs 
							
						 
						
							2023-06-11 20:06:06 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								46c34db6cb 
								
							 
						 
						
							
							
								
								Kernel: GeneralAllocator and FixedWidth allocator invalidate TLB caches  
							
							 
							
							... 
							
							
							
							We were getting random exceptions when reallocating same addressess and
this fixes that problem :) 
							
						 
						
							2023-06-11 15:57:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8be28012ee 
								
							 
						 
						
							
							
								
								LibC: Reorder some syscalls  
							
							 
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00