1ef0534b69 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								b9dd1895bb 
								
							 
						 
						
							
							
								
								Kernel: add Thread::queue_signal()  
							
							
							
						 
						
							2023-07-24 22:26:10 +03:00  
				
					
						
							
							
								 
						
							
								be47743dfa 
								
							 
						 
						
							
							
								
								Kernel: Scheduler can now block threads based on tid  
							
							
							
						 
						
							2023-07-24 22:24:21 +03:00  
				
					
						
							
							
								 
						
							
								57798e5d76 
								
							 
						 
						
							
							
								
								Kernel: remove Semaphore::is_blocked  
							
							... 
							
							
							
							this will not mean anything after semaphores can spuriously wake up 
							
						 
						
							2023-07-24 22:23:13 +03:00  
				
					
						
							
							
								 
						
							
								cd64c1cfec 
								
							 
						 
						
							
							
								
								Kernel: add is_tty() to inode  
							
							
							
						 
						
							2023-07-24 22:19:59 +03:00  
				
					
						
							
							
								 
						
							
								f76d921e25 
								
							 
						 
						
							
							
								
								Kernel: you can now ask process if it is userspace process  
							
							
							
						 
						
							2023-07-23 18:54:10 +03:00  
				
					
						
							
							
								 
						
							
								a2bf474013 
								
							 
						 
						
							
							
								
								Kernel: OpenFileDesctiptor can now return inode of fd  
							
							
							
						 
						
							2023-07-23 18:52:33 +03:00  
				
					
						
							
							
								 
						
							
								9729e5a05b 
								
							 
						 
						
							
							
								
								Kernel: Change signal kernel API  
							
							... 
							
							
							
							return rsp and rip are now stored per thread 
							
						 
						
							2023-07-23 18:33:10 +03:00  
				
					
						
							
							
								 
						
							
								2dce0a0415 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								d560137ae6 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_SIGNAL/signal()  
							
							
							
						 
						
							2023-07-21 20:08:13 +03:00  
				
					
						
							
							
								 
						
							
								c12f4fb40f 
								
							 
						 
						
							
							
								
								Kernel: Make signals more POSIX  
							
							
							
						 
						
							2023-07-21 20:01:12 +03:00  
				
					
						
							
							
								 
						
							
								10169d773d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							
							
						 
						
							2023-07-21 19:27:38 +03:00  
				
					
						
							
							
								 
						
							
								b78596dcf4 
								
							 
						 
						
							
							
								
								Kernel: Scheduler now sends queued signals  
							
							
							
						 
						
							2023-07-21 19:27:10 +03:00  
				
					
						
							
							
								 
						
							
								40f7c6b8fa 
								
							 
						 
						
							
							
								
								Kernel: Make signals thread specific  
							
							
							
						 
						
							2023-07-21 19:00:59 +03:00  
				
					
						
							
							
								 
						
							
								8063700d7b 
								
							 
						 
						
							
							
								
								Kernel: add default signal actions  
							
							
							
						 
						
							2023-07-21 18:02:35 +03:00  
				
					
						
							
							
								 
						
							
								70f89ed1fc 
								
							 
						 
						
							
							
								
								BuildSystem: Strip kernel. We will add the map once we use it  
							
							
							
						 
						
							2023-07-21 15:47:31 +03:00  
				
					
						
							
							
								 
						
							
								c2cf98e32f 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								a1db032ba9 
								
							 
						 
						
							
							
								
								Kernel: kernel memory takes now full pml4e  
							
							... 
							
							
							
							This allows flags to work properly 
							
						 
						
							2023-07-21 13:47:05 +03:00  
				
					
						
							
							
								 
						
							
								5babd7b4f2 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								c0029a2fa2 
								
							 
						 
						
							
							
								
								Kernel: Don't map kernel executable memory as writable  
							
							
							
						 
						
							2023-07-21 11:17:39 +03:00  
				
					
						
							
							
								 
						
							
								4e35b8b49d 
								
							 
						 
						
							
							
								
								Kernel: Syscalls now get the interrupt stack  
							
							
							
						 
						
							2023-07-21 11:04:16 +03:00  
				
					
						
							
							
								 
						
							
								21c6135ae2 
								
							 
						 
						
							
							
								
								BAN: Fix function call in Optional  
							
							
							
						 
						
							2023-07-21 10:57:46 +03:00  
				
					
						
							
							
								 
						
							
								b02c486ad0 
								
							 
						 
						
							
							
								
								Kernel: add NullDevice to /dev/null  
							
							
							
						 
						
							2023-07-20 00:06:22 +03:00  
				
					
						
							
							
								 
						
							
								08cd285ca6 
								
							 
						 
						
							
							
								
								Kernel: move Device.h to its own directory  
							
							
							
						 
						
							2023-07-19 23:55:38 +03:00  
				
					
						
							
							
								 
						
							
								94af856db0 
								
							 
						 
						
							
							
								
								Kernel: cleanup sys_exec()  
							
							... 
							
							
							
							We now scope everyting so desctructors get called 
							
						 
						
							2023-07-19 23:20:39 +03:00  
				
					
						
							
							
								 
						
							
								bf5d74b8bc 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								fd9210ba9e 
								
							 
						 
						
							
							
								
								Kernel: FixedWidthAllocator creation can now fail  
							
							
							
						 
						
							2023-07-19 18:07:24 +03:00  
				
					
						
							
							
								 
						
							
								66d9260257 
								
							 
						 
						
							
							
								
								Kernel: VirtualRange creation can fail  
							
							
							
						 
						
							2023-07-19 17:56:26 +03:00  
				
					
						
							
							
								 
						
							
								5d2bfc858e 
								
							 
						 
						
							
							
								
								Kernel: SYS_FORK can now fail instead of panicing on error  
							
							
							
						 
						
							2023-07-19 17:47:12 +03:00  
				
					
						
							
							
								 
						
							
								8b34880064 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								98c698d9ec 
								
							 
						 
						
							
							
								
								Kernel: Enable global bit on kernel pages  
							
							
							
						 
						
							2023-07-13 15:23:25 +03:00  
				
					
						
							
							
								 
						
							
								9ea2c1d932 
								
							 
						 
						
							
							
								
								Kernel: Support execute disable bit  
							
							... 
							
							
							
							We will now map executable memory explicitly as executable. 
							
						 
						
							2023-07-13 14:28:53 +03:00  
				
					
						
							
							
								 
						
							
								297e65f19a 
								
							 
						 
						
							
							
								
								Kernel: CPUID can detect wether cpu supports nxe bit  
							
							
							
						 
						
							2023-07-13 14:24:58 +03:00  
				
					
						
							
							
								 
						
							
								65559a3e44 
								
							 
						 
						
							
							
								
								Kernel: Fix multiple bugs with terminal  
							
							
							
						 
						
							2023-07-13 13:09:52 +03:00  
				
					
						
							
							
								 
						
							
								c3a71e94a9 
								
							 
						 
						
							
							
								
								Kernel: Fix ATA disk and partition numbering  
							
							
							
						 
						
							2023-07-13 12:12:47 +03:00  
				
					
						
							
							
								 
						
							
								fb4b363a16 
								
							 
						 
						
							
							
								
								Init: Use the new pwd.h api for user parsing  
							
							
							
						 
						
							2023-07-13 12:01:41 +03:00  
				
					
						
							
							
								 
						
							
								4154f43b49 
								
							 
						 
						
							
							
								
								LibC: add getpwname() and getpwuid()  
							
							
							
						 
						
							2023-07-13 12:01:16 +03:00  
				
					
						
							
							
								 
						
							
								b1fcb0b58f 
								
							 
						 
						
							
							
								
								LibC: implement endpwent(), getpwent() and setpwent()  
							
							
							
						 
						
							2023-07-13 11:22:09 +03:00  
				
					
						
							
							
								 
						
							
								00409ffa60 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								16acd50559 
								
							 
						 
						
							
							
								
								BAN: Iterators are now single general type with CONST template  
							
							... 
							
							
							
							This allows us to use the same base class for iterator and
const_iterator which were practically the same code. 
							
						 
						
							2023-07-12 13:35:21 +03:00  
				
					
						
							
							
								 
						
							
								5df48804e1 
								
							 
						 
						
							
							
								
								BAN: add either_or and either_or_t  
							
							... 
							
							
							
							This allows you to select type depending on constexpr evaluatable
boolean 
							
						 
						
							2023-07-12 13:34:31 +03:00  
				
					
						
							
							
								 
						
							
								9eab6710ce 
								
							 
						 
						
							
							
								
								BAN: Implement ConstIteratorDouble and add it to HashMap  
							
							... 
							
							
							
							This is same as IteratorDouble except it uses const_iterator and does
not return non-const references. 
							
						 
						
							2023-07-12 11:41:05 +03:00  
				
					
						
							
							
								 
						
							
								65424a6769 
								
							 
						 
						
							
							
								
								BAN: Generalize HashMapIterator to IteratorDouble  
							
							... 
							
							
							
							This iterator should be able to iterate any container within container
with type iterator defined.
This also fixed bug if first entry in outer container is empty container. 
							
						 
						
							2023-07-12 09:29:05 +03:00  
				
					
						
							
							
								 
						
							
								12d53ac233 
								
							 
						 
						
							
							
								
								Base: add empty directories with .gitkeep to base/  
							
							
							
						 
						
							2023-07-11 08:02:28 +03:00  
				
					
						
							
							
								 
						
							
								9bcfb34524 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								f88b9ae4f2 
								
							 
						 
						
							
							
								
								BAN: Add iterators to HashMap  
							
							
							
						 
						
							2023-07-10 23:16:41 +03:00  
				
					
						
							
							
								 
						
							
								8cd91f5a6a 
								
							 
						 
						
							
							
								
								Userspace: add basic 'touch' command  
							
							
							
						 
						
							2023-07-10 16:38:15 +03:00  
				
					
						
							
							
								 
						
							
								f65e5f4190 
								
							 
						 
						
							
							
								
								tee: indent with tabs  
							
							
							
						 
						
							2023-07-10 16:18:08 +03:00  
				
					
						
							
							
								 
						
							
								f521a98157 
								
							 
						 
						
							
							
								
								Userspace: Add basic tee command  
							
							
							
						 
						
							2023-07-10 16:07:53 +03:00  
				
					
						
							
							
								 
						
							
								ee4ef6638c 
								
							 
						 
						
							
							
								
								Kenrel: RamInode now implements truncate()  
							
							
							
						 
						
							2023-07-10 16:07:09 +03:00