57e59d998f 
								
							 
						 
						
							
							
								
								Kernel: Add enum for ISR name to number  
							
							
							
						 
						
							2023-06-18 23:24:27 +03:00  
				
					
						
							
							
								 
						
							
								44fb3945df 
								
							 
						 
						
							
							
								
								Kernel: General allocator takes first valid vaddr as parameter  
							
							
							
						 
						
							2023-06-17 22:23:34 +03:00  
				
					
						
							
							
								 
						
							
								95c4e608de 
								
							 
						 
						
							
							
								
								Kernel: Move print during boot  
							
							
							
						 
						
							2023-06-12 23:45:36 +03:00  
				
					
						
							
							
								 
						
							
								b9603d9d23 
								
							 
						 
						
							
							
								
								BAN: Optional can be constructed inplace  
							
							
							
						 
						
							2023-06-12 23:45:36 +03:00  
				
					
						
							
							
								 
						
							
								16e5f96b1d 
								
							 
						 
						
							
							
								
								BAN: Add operator-> and operator* to Optional  
							
							
							
						 
						
							2023-06-12 22:25:14 +03:00  
				
					
						
							
							
								 
						
							
								d0a0e3bdef 
								
							 
						 
						
							
							
								
								Userspace: Add u8sum  
							
							... 
							
							
							
							This program caluculates the sum of bytes in file mod 256 
							
						 
						
							2023-06-12 20:36:16 +03:00  
				
					
						
							
							
								 
						
							
								5dcc53bcf2 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								23543b15ca 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								2253c45feb 
								
							 
						 
						
							
							
								
								Kernel: Remove Shell from kernel  
							
							... 
							
							
							
							This is now obsolete since we have a userspace Shell. 
							
						 
						
							2023-06-12 02:04:52 +03:00  
				
					
						
							
							
								 
						
							
								9f9a70713e 
								
							 
						 
						
							
							
								
								Base: add home directories for root and user  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								cd57adc856 
								
							 
						 
						
							
							
								
								BuildSystem: every file except /home/* is now owned by root  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								b4b892148c 
								
							 
						 
						
							
							
								
								Userspace: Shell processes PS1 '\~' as cwd and implement cd  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								048183ddb5 
								
							 
						 
						
							
							
								
								Userspace: init now sets HOME environment variable and cd's into HOME  
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
				
					
						
							
							
								 
						
							
								f09b82c4b5 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd  
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
				
					
						
							
							
								 
						
							
								7aeb8e4d36 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								58ec4d6a31 
								
							 
						 
						
							
							
								
								Kernel: Fix bug in elf loading  
							
							... 
							
							
							
							We were allocating one extra page 
							
						 
						
							2023-06-12 00:59:19 +03:00  
				
					
						
							
							
								 
						
							
								25f8343269 
								
							 
						 
						
							
							
								
								Userspace: init now default logins as user  
							
							
							
						 
						
							2023-06-12 00:46:07 +03:00  
				
					
						
							
							
								 
						
							
								e9cb844c28 
								
							 
						 
						
							
							
								
								Userspace: Shell now uses PS1 as prompt if set  
							
							
							
						 
						
							2023-06-12 00:45:47 +03:00  
				
					
						
							
							
								 
						
							
								30ac046232 
								
							 
						 
						
							
							
								
								Userspace: Add color to ls  
							
							
							
						 
						
							2023-06-11 23:00:19 +03:00  
				
					
						
							
							
								 
						
							
								f67f8ccbe0 
								
							 
						 
						
							
							
								
								Userspace: init now sets user and group ids before running their shell  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								e9217b3484 
								
							 
						 
						
							
							
								
								Userspace: Add basic id that prints {,e}{uid,gid} of the current proc  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								11b68f6a53 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_GET_{,E}{UID,GID}  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								3fe67e4882 
								
							 
						 
						
							
							
								
								Kernel: Add syscalls for set{,e,re}{uid,gid}  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								9288537949 
								
							 
						 
						
							
							
								
								LibC: gid_t and id_t are now signed types  
							
							... 
							
							
							
							I have no idea why I had made them unisigned 
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								78536f9678 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								cce2f3e19a 
								
							 
						 
						
							
							
								
								BAN: Add basic Optional  
							
							
							
						 
						
							2023-06-11 21:00:25 +03:00  
				
					
						
							
							
								 
						
							
								297141f321 
								
							 
						 
						
							
							
								
								LibC: add strchrnul()  
							
							... 
							
							
							
							this is a gnu libc extension 
							
						 
						
							2023-06-11 20:18:03 +03:00  
				
					
						
							
							
								 
						
							
								c7ec19c25c 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								3181ea7b4d 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								1cf464d5c7 
								
							 
						 
						
							
							
								
								Userspace: add basic ls command  
							
							
							
						 
						
							2023-06-11 03:38:44 +03:00  
				
					
						
							
							
								 
						
							
								83a6e6f637 
								
							 
						 
						
							
							
								
								LibC: Reorder some syscalls  
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								64890bb640 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_OPENAT  
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								caca6dc701 
								
							 
						 
						
							
							
								
								Kernel: Exceptions will now enable interrupts before calling exit()  
							
							... 
							
							
							
							this allows scheduler verification on reschedule() not panic 
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								68ec443e07 
								
							 
						 
						
							
							
								
								LibC: implement close  
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								aa86125f2b 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_FSTAT  
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								c423164066 
								
							 
						 
						
							
							
								
								LibC: Implement basic dirent functionality  
							
							... 
							
							
							
							We don't currently support seeking 
							
						 
						
							2023-06-11 03:29:22 +03:00  
				
					
						
							
							
								 
						
							
								14aeb8de10 
								
							 
						 
						
							
							
								
								Kernel: we don't panic anymore on unrecognized syscall  
							
							
							
						 
						
							2023-06-11 00:18:48 +03:00  
				
					
						
							
							
								 
						
							
								691b17e0cc 
								
							 
						 
						
							
							
								
								Kernel: allow open() call with O_SEARCH  
							
							
							
						 
						
							2023-06-11 00:18:34 +03:00  
				
					
						
							
							
								 
						
							
								eae6119039 
								
							 
						 
						
							
							
								
								Kernel: Add syscall for reading directory entries  
							
							
							
						 
						
							2023-06-11 00:18:08 +03:00  
				
					
						
							
							
								 
						
							
								30f81e1696 
								
							 
						 
						
							
							
								
								LibC: add missing O_EXEC and O_SEARCH  
							
							
							
						 
						
							2023-06-11 00:17:18 +03:00  
				
					
						
							
							
								 
						
							
								01311b470f 
								
							 
						 
						
							
							
								
								Kernel: Rewrite directory listing so it can be integrated to libc  
							
							
							
						 
						
							2023-06-11 00:17:18 +03:00  
				
					
						
							
							
								 
						
							
								223d2ac3a6 
								
							 
						 
						
							
							
								
								Userspace: fix return values of cat and echo  
							
							
							
						 
						
							2023-06-10 17:34:10 +03:00  
				
					
						
							
							
								 
						
							
								4cdeb98897 
								
							 
						 
						
							
							
								
								Kernel: We now store the  processes exit code  
							
							
							
						 
						
							2023-06-10 17:31:56 +03:00  
				
					
						
							
							
								 
						
							
								47c69e9def 
								
							 
						 
						
							
							
								
								Userspace: add exit to shell  
							
							
							
						 
						
							2023-06-09 01:51:23 +03:00  
				
					
						
							
							
								 
						
							
								9728947d5d 
								
							 
						 
						
							
							
								
								Userspace: add echo  
							
							
							
						 
						
							2023-06-09 01:50:18 +03:00  
				
					
						
							
							
								 
						
							
								66fe48e94b 
								
							 
						 
						
							
							
								
								Userspace: add ^L support for shell  
							
							
							
						 
						
							2023-06-09 01:24:33 +03:00  
				
					
						
							
							
								 
						
							
								c0fe4756cb 
								
							 
						 
						
							
							
								
								Kernel: SpinLocks now reschedule if they cannot aquire the lock  
							
							... 
							
							
							
							This allows us to not actually spin doing nothing while waiting for
another (not executing) to release the lock. This api won't probably
work when we get to SMP 
							
						 
						
							2023-06-09 00:53:32 +03:00  
				
					
						
							
							
								 
						
							
								5032e79be3 
								
							 
						 
						
							
							
								
								Kernel: Process::exit() now uses the new Scheduler::reschedule()  
							
							... 
							
							
							
							We use this new function while waiting for all blocking threads to
resume execution 
							
						 
						
							2023-06-09 00:49:19 +03:00  
				
					
						
							
							
								 
						
							
								1aec3fcedd 
								
							 
						 
						
							
							
								
								Kernel: Scheduler now has reschedule()  
							
							... 
							
							
							
							This can be called from anywhere and just causes the scheduler to
schedule the next thread. This is more efficient and verbose version
of Scheduler::set_current_thread_sleeping(0), since we don't have
to wake other threads or do other verifications. 
							
						 
						
							2023-06-09 00:47:17 +03:00  
				
					
						
							
							
								 
						
							
								aec63081e2 
								
							 
						 
						
							
							
								
								Kenrel: Rename Scheduler::reschedule -> Scheduler::timer_reschedule  
							
							
							
						 
						
							2023-06-09 00:41:43 +03:00