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