4648f6718e 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TTY::read()  
							
							
							
						 
						
							2023-09-07 15:27:21 +03:00  
				
					
						
							
							
								 
						
							
								b30af0edca 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								5e1725abb2 
								
							 
						 
						
							
							
								
								Kernel: Remove bitmap debug printing from ext2 inode allocation  
							
							
							
						 
						
							2023-09-06 01:25:09 +03:00  
				
					
						
							
							
								 
						
							
								6ad2f23259 
								
							 
						 
						
							
							
								
								Kernel: Correct inode links count  
							
							
							
						 
						
							2023-09-05 14:46:56 +03:00  
				
					
						
							
							
								 
						
							
								ba7e1b9ca5 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								f0772e385c 
								
							 
						 
						
							
							
								
								Kernel: Implement basic RamSymlinkInode  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								3fd94b1acb 
								
							 
						 
						
							
							
								
								Kernel: You can now read serial output from the /dev/ttyS*  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								93c5755012 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								323de3c866 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								52b9fddfd7 
								
							 
						 
						
							
							
								
								Kernel: Make serial devices to their own class  
							
							
							
						 
						
							2023-09-04 14:57:05 +03:00  
				
					
						
							
							
								 
						
							
								04cfbca336 
								
							 
						 
						
							
							
								
								Kernel: Add ANSI support for hiding/showing cursor to TTY  
							
							
							
						 
						
							2023-09-04 14:30:09 +03:00  
				
					
						
							
							
								 
						
							
								9901f95d78 
								
							 
						 
						
							
							
								
								Kernel: Add basic nanosleep, only millisecond percision  
							
							
							
						 
						
							2023-09-04 12:59:50 +03:00  
				
					
						
							
							
								 
						
							
								b2139c0b1e 
								
							 
						 
						
							
							
								
								Kernel: Add basic support for O_NONBLOCK (only for tty)  
							
							
							
						 
						
							2023-09-04 12:57:52 +03:00  
				
					
						
							
							
								 
						
							
								6f002c926a 
								
							 
						 
						
							
							
								
								Kernel: add basic fcntl() with couple of commands and no validation  
							
							
							
						 
						
							2023-09-04 12:57:09 +03:00  
				
					
						
							
							
								 
						
							
								a711462ef4 
								
							 
						 
						
							
							
								
								Kernel: Split ext2 implementation to multiple files  
							
							
							
						 
						
							2023-09-01 15:10:23 +03:00  
				
					
						
							
							
								 
						
							
								f31c6b847f 
								
							 
						 
						
							
							
								
								Kernel: Start work on writable ext2 filesystem  
							
							
							
						 
						
							2023-08-31 23:40:31 +03:00  
				
					
						
							
							
								 
						
							
								195ccf4f53 
								
							 
						 
						
							
							
								
								Kernel: Add missing ififo() to Inode::Mode  
							
							
							
						 
						
							2023-08-31 21:38:31 +03:00  
				
					
						
							
							
								 
						
							
								073edd0b8e 
								
							 
						 
						
							
							
								
								Kernel: Stack trace dumping validates pointers before using them  
							
							
							
						 
						
							2023-08-31 21:36:23 +03:00  
				
					
						
							
							
								 
						
							
								250789aa20 
								
							 
						 
						
							
							
								
								Kernel: better handle kernel errors  
							
							
							
						 
						
							2023-08-29 00:13:21 +03:00  
				
					
						
							
							
								 
						
							
								8032824054 
								
							 
						 
						
							
							
								
								BuildSystem: use -a with rsync  
							
							... 
							
							
							
							This allows cmake to not rebuild whole project every time 
							
						 
						
							2023-08-28 11:38:17 +03:00  
				
					
						
							
							
								 
						
							
								80e7a89f67 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								38e72019c7 
								
							 
						 
						
							
							
								
								Kernel: kill() with negative pid actually matches pgid  
							
							
							
						 
						
							2023-08-22 14:54:15 +03:00  
				
					
						
							
							
								 
						
							
								d745fca86a 
								
							 
						 
						
							
							
								
								Kernel: Process keeps track if forked process has called exec*()  
							
							
							
						 
						
							2023-08-22 14:53:46 +03:00  
				
					
						
							
							
								 
						
							
								60a2185ee6 
								
							 
						 
						
							
							
								
								Kernel/LibC: implement proper getpgid and setpgid  
							
							
							
						 
						
							2023-08-22 14:53:12 +03:00  
				
					
						
							
							
								 
						
							
								d634fec8dc 
								
							 
						 
						
							
							
								
								Kernel: Add function to enumerate processes in session  
							
							
							
						 
						
							2023-08-22 14:52:28 +03:00  
				
					
						
							
							
								 
						
							
								c9243f0d1e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add {get,set}pgrp()  
							
							
							
						 
						
							2023-08-22 11:36:33 +03:00  
				
					
						
							
							
								 
						
							
								0f6c19a1b7 
								
							 
						 
						
							
							
								
								Kernel: Barebones implementation sessions and process groups  
							
							
							
						 
						
							2023-08-22 11:35:40 +03:00  
				
					
						
							
							
								 
						
							
								79f3aa5419 
								
							 
						 
						
							
							
								
								Kernel/LibC: add dup() syscall and function  
							
							
							
						 
						
							2023-08-17 12:03:29 +03:00  
				
					
						
							
							
								 
						
							
								871c792976 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								8480ffe108 
								
							 
						 
						
							
							
								
								Kernel: open() now validates file access mode  
							
							
							
						 
						
							2023-08-11 11:53:38 +03:00  
				
					
						
							
							
								 
						
							
								e1400f9680 
								
							 
						 
						
							
							
								
								Kernel: Remove unused syscall  
							
							
							
						 
						
							2023-08-11 11:43:48 +03:00  
				
					
						
							
							
								 
						
							
								6e5bce3c57 
								
							 
						 
						
							
							
								
								Kernel: Zero initialize threads sse_storage  
							
							
							
						 
						
							2023-08-11 00:26:43 +03:00  
				
					
						
							
							
								 
						
							
								f75adab9d8 
								
							 
						 
						
							
							
								
								Kernel: Move structures in boot.S to .data section  
							
							
							
						 
						
							2023-08-11 00:26:12 +03:00  
				
					
						
							
							
								 
						
							
								5d0a6e7b08 
								
							 
						 
						
							
							
								
								Kernel: HPET is now used in legacy mode when PIC is forced  
							
							
							
						 
						
							2023-08-10 22:01:30 +03:00  
				
					
						
							
							
								 
						
							
								b0c8a9cdc4 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ebe0adb3b5 
								
							 
						 
						
							
							
								
								Kernel: HPET doesn't use the legacy mapping anymore  
							
							
							
						 
						
							2023-08-10 21:08:32 +03:00  
				
					
						
							
							
								 
						
							
								4842d5e2b9 
								
							 
						 
						
							
							
								
								Kernel: APIC now uses MMIO namespace functions for mmio  
							
							
							
						 
						
							2023-08-10 21:07:23 +03:00  
				
					
						
							
							
								 
						
							
								0b8396b1a6 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								55ef793a74 
								
							 
						 
						
							
							
								
								Kernel: Validate HPET tick period  
							
							
							
						 
						
							2023-08-09 09:50:38 +03:00  
				
					
						
							
							
								 
						
							
								96c0ad0d3d 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								6fcb191ca0 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								3df97c36e6 
								
							 
						 
						
							
							
								
								Kerne: SystemTimer can now output the current real time  
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
				
					
						
							
							
								 
						
							
								c732297623 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ca5a097ef5 
								
							 
						 
						
							
							
								
								Kernel: Add function to retrieve boot time as timespec  
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
				
					
						
							
							
								 
						
							
								1f8a5f0ce5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								1fa7a1cac4 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ea4a70c3b3 
								
							 
						 
						
							
							
								
								Kernel: Move sleep() implementation to TimerHandler  
							
							
							
						 
						
							2023-08-04 15:15:00 +03:00  
				
					
						
							
							
								 
						
							
								aa0929614a 
								
							 
						 
						
							
							
								
								Kernel: Add more structures to ACPI  
							
							
							
						 
						
							2023-08-04 15:13:47 +03:00  
				
					
						
							
							
								 
						
							
								3c31fc9c4b 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								7eb2c140fe 
								
							 
						 
						
							
							
								
								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