c9e09b840e 
								
							 
						 
						
							
							
								
								Kernel: Add LAI as a dependency  
							
							... 
							
							
							
							I did not feel like implementing AML interpreter now, and wanted
everything AML has to offer. I will be writing my own AML interperter
at some point. 
							
						 
						
							2023-09-22 17:20:35 +03:00  
				
					
						
							
							
								 
						
							
								8136248a67 
								
							 
						 
						
							
							
								
								Kernel: Fix timer includes  
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
				
					
						
							
							
								 
						
							
								0d67e46041 
								
							 
						 
						
							
							
								
								Kernel: Add config read/write api to PCI  
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
				
					
						
							
							
								 
						
							
								bc1087f5a7 
								
							 
						 
						
							
							
								
								Kernel: Add pointer validation API to page table  
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
				
					
						
							
							
								 
						
							
								7774f56ab6 
								
							 
						 
						
							
							
								
								Kernel: PCI devices can now create region for BAR  
							
							... 
							
							
							
							This creates either MEM or IO region for read/write access to PCI
device. 
							
						 
						
							2023-09-22 17:20:35 +03:00  
				
					
						
							
							
								 
						
							
								14a608effd 
								
							 
						 
						
							
							
								
								1000th COMMIT: Kernel: Add basic E1000 driver  
							
							... 
							
							
							
							This driver is only capable to read mac address and enable and read
link status 
							
						 
						
							2023-09-22 17:20:28 +03:00  
				
					
						
							
							
								 
						
							
								5fae3cec2a 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_SYNC and add sync executable to userspace  
							
							... 
							
							
							
							You can (and have to) manually sync disk after writes to it. 
							
						 
						
							2023-09-11 01:26:27 +03:00  
				
					
						
							
							
								 
						
							
								b0c22b61ec 
								
							 
						 
						
							
							
								
								Kernel: Writes to disk are not synchronous anymore  
							
							... 
							
							
							
							Implement "proper" DiskCache syncing 
							
						 
						
							2023-09-11 01:25:16 +03:00  
				
					
						
							
							
								 
						
							
								82b049204d 
								
							 
						 
						
							
							
								
								Kernel: Print stack trace on isr  
							
							
							
						 
						
							2023-09-11 01:20:55 +03:00  
				
					
						
							
							
								 
						
							
								aa59142bfa 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 file write  
							
							
							
						 
						
							2023-09-11 01:20:39 +03:00  
				
					
						
							
							
								 
						
							
								202c38a65a 
								
							 
						 
						
							
							
								
								Kernel: Improve open() POSIX compatability  
							
							... 
							
							
							
							Also rename Process::sys_creat -> create_file since it is not
actually a syscall and only used by open as a healper. 
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								720bc418a6 
								
							 
						 
						
							
							
								
								All: Clear lines with only whitspace in them  
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								d77f455065 
								
							 
						 
						
							
							
								
								Kernel: Add basic ZeroDevice to /dev/zero  
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								7e08f0fb66 
								
							 
						 
						
							
							
								
								Kernel: Start work on making inodes more thread safe  
							
							... 
							
							
							
							All inode operations are now locked and thread blocked 
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								9e4a87021c 
								
							 
						 
						
							
							
								
								Kernel: Fix directory permissions  
							
							... 
							
							
							
							We did not care about X bit in directories and instead used only the
R bit for search/read. 
							
						 
						
							2023-09-08 11:46:53 +03:00  
				
					
						
							
							
								 
						
							
								5887f6bcaa 
								
							 
						 
						
							
							
								
								Kernel: Ext2 directories can allocate new blocks if needed  
							
							
							
						 
						
							2023-09-08 10:29:26 +03:00  
				
					
						
							
							
								 
						
							
								5d67559e33 
								
							 
						 
						
							
							
								
								Kernel: Fix bug in disk writing  
							
							... 
							
							
							
							I have used two weeks in locating a bug in my ext2 implementation
while the bug was actually in disk write. If you called write_sectors
on disk it would write the first sector_size bytes repeatedly to all
asked sectors and this corrupted the disk... 
							
						 
						
							2023-09-08 02:43:08 +03:00  
				
					
						
							
							
								 
						
							
								e631eb7a7a 
								
							 
						 
						
							
							
								
								Kernel: Fix possible out-of-bounds disk access in ext2  
							
							
							
						 
						
							2023-09-08 02:42:53 +03:00  
				
					
						
							
							
								 
						
							
								7c11ea3694 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TTY::read()  
							
							
							
						 
						
							2023-09-07 15:27:21 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								0deab1be51 
								
							 
						 
						
							
							
								
								Kernel: Remove bitmap debug printing from ext2 inode allocation  
							
							
							
						 
						
							2023-09-06 01:25:09 +03:00  
				
					
						
							
							
								 
						
							
								5a623adaa6 
								
							 
						 
						
							
							
								
								Kernel: Correct inode links count  
							
							
							
						 
						
							2023-09-05 14:46:56 +03:00  
				
					
						
							
							
								 
						
							
								ddd36af0f1 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								35fd30ee29 
								
							 
						 
						
							
							
								
								Kernel: Implement basic RamSymlinkInode  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								4a0652684c 
								
							 
						 
						
							
							
								
								Kernel: You can now read serial output from the /dev/ttyS*  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9b47603a1d 
								
							 
						 
						
							
							
								
								Kernel: Make serial devices to their own class  
							
							
							
						 
						
							2023-09-04 14:57:05 +03:00  
				
					
						
							
							
								 
						
							
								42b85dc33b 
								
							 
						 
						
							
							
								
								Kernel: Add ANSI support for hiding/showing cursor to TTY  
							
							
							
						 
						
							2023-09-04 14:30:09 +03:00  
				
					
						
							
							
								 
						
							
								044378cfa3 
								
							 
						 
						
							
							
								
								Kernel: Add basic nanosleep, only millisecond percision  
							
							
							
						 
						
							2023-09-04 12:59:50 +03:00  
				
					
						
							
							
								 
						
							
								f1d4d5f995 
								
							 
						 
						
							
							
								
								Kernel: Add basic support for O_NONBLOCK (only for tty)  
							
							
							
						 
						
							2023-09-04 12:57:52 +03:00  
				
					
						
							
							
								 
						
							
								19d0fb6fcd 
								
							 
						 
						
							
							
								
								Kernel: add basic fcntl() with couple of commands and no validation  
							
							
							
						 
						
							2023-09-04 12:57:09 +03:00  
				
					
						
							
							
								 
						
							
								7933265095 
								
							 
						 
						
							
							
								
								Kernel: Split ext2 implementation to multiple files  
							
							
							
						 
						
							2023-09-01 15:10:23 +03:00  
				
					
						
							
							
								 
						
							
								d810644018 
								
							 
						 
						
							
							
								
								Kernel: Start work on writable ext2 filesystem  
							
							
							
						 
						
							2023-08-31 23:40:31 +03:00  
				
					
						
							
							
								 
						
							
								a7bfc1c2ec 
								
							 
						 
						
							
							
								
								Kernel: Add missing ififo() to Inode::Mode  
							
							
							
						 
						
							2023-08-31 21:38:31 +03:00  
				
					
						
							
							
								 
						
							
								65501837b7 
								
							 
						 
						
							
							
								
								Kernel: Stack trace dumping validates pointers before using them  
							
							
							
						 
						
							2023-08-31 21:36:23 +03:00  
				
					
						
							
							
								 
						
							
								cbd2519b9a 
								
							 
						 
						
							
							
								
								Kernel: better handle kernel errors  
							
							
							
						 
						
							2023-08-29 00:13:21 +03:00  
				
					
						
							
							
								 
						
							
								e8a73f9696 
								
							 
						 
						
							
							
								
								BuildSystem: use -a with rsync  
							
							... 
							
							
							
							This allows cmake to not rebuild whole project every time 
							
						 
						
							2023-08-28 11:38:17 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ef1077fd7b 
								
							 
						 
						
							
							
								
								Kernel: kill() with negative pid actually matches pgid  
							
							
							
						 
						
							2023-08-22 14:54:15 +03:00  
				
					
						
							
							
								 
						
							
								f1ba5c7e0f 
								
							 
						 
						
							
							
								
								Kernel: Process keeps track if forked process has called exec*()  
							
							
							
						 
						
							2023-08-22 14:53:46 +03:00  
				
					
						
							
							
								 
						
							
								97ea4986af 
								
							 
						 
						
							
							
								
								Kernel/LibC: implement proper getpgid and setpgid  
							
							
							
						 
						
							2023-08-22 14:53:12 +03:00  
				
					
						
							
							
								 
						
							
								25c021c15b 
								
							 
						 
						
							
							
								
								Kernel: Add function to enumerate processes in session  
							
							
							
						 
						
							2023-08-22 14:52:28 +03:00  
				
					
						
							
							
								 
						
							
								42b90ae76c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add {get,set}pgrp()  
							
							
							
						 
						
							2023-08-22 11:36:33 +03:00  
				
					
						
							
							
								 
						
							
								ccc61cb10c 
								
							 
						 
						
							
							
								
								Kernel: Barebones implementation sessions and process groups  
							
							
							
						 
						
							2023-08-22 11:35:40 +03:00  
				
					
						
							
							
								 
						
							
								8e4216215e 
								
							 
						 
						
							
							
								
								Kernel/LibC: add dup() syscall and function  
							
							
							
						 
						
							2023-08-17 12:03:29 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								8f3348cf2b 
								
							 
						 
						
							
							
								
								Kernel: open() now validates file access mode  
							
							
							
						 
						
							2023-08-11 11:53:38 +03:00  
				
					
						
							
							
								 
						
							
								38c0bc7bae 
								
							 
						 
						
							
							
								
								Kernel: Remove unused syscall  
							
							
							
						 
						
							2023-08-11 11:43:48 +03:00  
				
					
						
							
							
								 
						
							
								a7f37236bf 
								
							 
						 
						
							
							
								
								Kernel: Zero initialize threads sse_storage  
							
							
							
						 
						
							2023-08-11 00:26:43 +03:00