b354b77f8b 
								
							 
						 
						
							
							
								
								Kernel: Mark Ext2 classes final  
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
				
					
						
							
							
								 
						
							
								74af46cb4a 
								
							 
						 
						
							
							
								
								BAN: RefPtr can be constructed from other types  
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
				
					
						
							
							
								 
						
							
								19dab08275 
								
							 
						 
						
							
							
								
								Kernel: add more functionality to PCI  
							
							
							
						 
						
							2023-07-09 23:04:11 +03:00  
				
					
						
							
							
								 
						
							
								3840fbf957 
								
							 
						 
						
							
							
								
								Kernel: Edit lock scopes and make string copy able to fail  
							
							
							
						 
						
							2023-07-07 23:12:19 +03:00  
				
					
						
							
							
								 
						
							
								78c091f7f8 
								
							 
						 
						
							
							
								
								Kernel: Move open file descriptors to their own class  
							
							... 
							
							
							
							This simplifies code a lot :) 
							
						 
						
							2023-07-07 23:11:37 +03:00  
				
					
						
							
							
								 
						
							
								274ecbba78 
								
							 
						 
						
							
							
								
								LibC: limits.h now defined OPEN_MAX  
							
							
							
						 
						
							2023-07-07 23:08:49 +03:00  
				
					
						
							
							
								 
						
							
								683c2a68cd 
								
							 
						 
						
							
							
								
								Shell: $(...) expansion works now :)  
							
							
							
						 
						
							2023-07-06 23:22:57 +03:00  
				
					
						
							
							
								 
						
							
								ad98181069 
								
							 
						 
						
							
							
								
								Shell: you can call Shell -c ... to invoke the shell as interpreter  
							
							
							
						 
						
							2023-07-06 23:22:49 +03:00  
				
					
						
							
							
								 
						
							
								a549336530 
								
							 
						 
						
							
							
								
								Kernel/LibC: add basic dup2  
							
							
							
						 
						
							2023-07-06 23:17:54 +03:00  
				
					
						
							
							
								 
						
							
								4eb95c963d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add basic pipe() syscall and command  
							
							... 
							
							
							
							You can now create pipes :) 
							
						 
						
							2023-07-06 22:16:26 +03:00  
				
					
						
							
							
								 
						
							
								22caacd2a9 
								
							 
						 
						
							
							
								
								LibC: add read() and write() to unistd  
							
							
							
						 
						
							2023-07-06 22:15:55 +03:00  
				
					
						
							
							
								 
						
							
								af30d537da 
								
							 
						 
						
							
							
								
								Kernel: TTY now unblocks semaphore after read  
							
							... 
							
							
							
							This allows concurrent reads not fully reading the buffer not block
indefinately. 
							
						 
						
							2023-07-06 21:32:34 +03:00  
				
					
						
							
							
								 
						
							
								f1bd26fb92 
								
							 
						 
						
							
							
								
								Kernel: Add O_CLOEXEC  
							
							
							
						 
						
							2023-07-06 20:00:33 +03:00  
				
					
						
							
							
								 
						
							
								5c6bbcb62f 
								
							 
						 
						
							
							
								
								Kernel: Remove spammy process/thread exit printing  
							
							
							
						 
						
							2023-07-06 10:34:46 +03:00  
				
					
						
							
							
								 
						
							
								21bd87bb07 
								
							 
						 
						
							
							
								
								Userspace: Shell now has 'env' for printing environment  
							
							
							
						 
						
							2023-07-06 10:32:43 +03:00  
				
					
						
							
							
								 
						
							
								79450df04c 
								
							 
						 
						
							
							
								
								Userspace: Shell imporove 'time' command  
							
							
							
						 
						
							2023-07-06 09:45:04 +03:00  
				
					
						
							
							
								 
						
							
								7f8b7b811e 
								
							 
						 
						
							
							
								
								Userspace: Shell now has time builtin  
							
							
							
						 
						
							2023-07-06 00:39:04 +03:00  
				
					
						
							
							
								 
						
							
								3c068aa0ae 
								
							 
						 
						
							
							
								
								Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC  
							
							... 
							
							
							
							This gets the number of milliseconds since boot 
							
						 
						
							2023-07-06 00:38:29 +03:00  
				
					
						
							
							
								 
						
							
								86df258365 
								
							 
						 
						
							
							
								
								Kernel: rework the whole PageTable structure  
							
							... 
							
							
							
							We now have page table structure for kernel memory which is shared
between all processes. 
							
						 
						
							2023-07-05 23:41:35 +03:00  
				
					
						
							
							
								 
						
							
								d99e704728 
								
							 
						 
						
							
							
								
								LibC: Fix syscall SYS_READ and SYS_WRITE arguments  
							
							
							
						 
						
							2023-06-19 10:38:29 +03:00  
				
					
						
							
							
								 
						
							
								0d620f3e0f 
								
							 
						 
						
							
							
								
								Kernel: Rewrite and optimize DiskCache  
							
							... 
							
							
							
							DiskCache now consists of PageCaches which are caches of contiguous
sectors. This allows the disk cache to be ordered and faster traversal.
We seem to have a problem somewhere during reading. The stack gets
corrupted. 
							
						 
						
							2023-06-19 10:31:47 +03:00  
				
					
						
							
							
								 
						
							
								4dce0f9074 
								
							 
						 
						
							
							
								
								Userspace: u8sum fix error message  
							
							
							
						 
						
							2023-06-19 10:31:23 +03:00  
				
					
						
							
							
								 
						
							
								54f89cba33 
								
							 
						 
						
							
							
								
								Userspace: Shell now processes $ arguments  
							
							
							
						 
						
							2023-06-19 01:39:24 +03:00  
				
					
						
							
							
								 
						
							
								de88f60d1a 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parsing now appriciates quotes  
							
							
							
						 
						
							2023-06-19 01:07:00 +03:00  
				
					
						
							
							
								 
						
							
								f7060970e6 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parse now results in BAN::String  
							
							
							
						 
						
							2023-06-19 00:34:44 +03:00  
				
					
						
							
							
								 
						
							
								e7a98ac6cc 
								
							 
						 
						
							
							
								
								Userspace: Shell now sets SHELL environment variable  
							
							
							
						 
						
							2023-06-18 23:35:51 +03:00  
				
					
						
							
							
								 
						
							
								10544db52e 
								
							 
						 
						
							
							
								
								LibELF: We use BAN::Vector<uint8_t> as elf storage  
							
							... 
							
							
							
							This is made possible by the dynamic kmalloc 
							
						 
						
							2023-06-18 23:29:23 +03:00  
				
					
						
							
							
								 
						
							
								5e123031aa 
								
							 
						 
						
							
							
								
								Kernel: kmalloc has now somewhat dynamic storage  
							
							... 
							
							
							
							Allocations bigger than PAGE_SIZE and those not forced to be identity
mapped are now done on a GeneralAllocator. This allows us to use kmalloc
for big allocations; bigger than the fixed 1 MiB storage.
This is still a hack and the whole kmalloc will have to be rewritten at
some point, but for now this does the job :D 
							
						 
						
							2023-06-18 23:27:00 +03:00  
				
					
						
							
							
								 
						
							
								388f530edd 
								
							 
						 
						
							
							
								
								Kernel: Add GeneralAllocator::paddr_of  
							
							... 
							
							
							
							Yoy can now query physical address of a virtual address for general
allocator allocation 
							
						 
						
							2023-06-18 23:25:51 +03:00  
				
					
						
							
							
								 
						
							
								d354cccd37 
								
							 
						 
						
							
							
								
								Kernel: Add enum for ISR name to number  
							
							
							
						 
						
							2023-06-18 23:24:27 +03:00  
				
					
						
							
							
								 
						
							
								714305ef56 
								
							 
						 
						
							
							
								
								Kernel: General allocator takes first valid vaddr as parameter  
							
							
							
						 
						
							2023-06-17 22:23:34 +03:00  
				
					
						
							
							
								 
						
							
								f83ae1e9c6 
								
							 
						 
						
							
							
								
								Kernel: Move print during boot  
							
							
							
						 
						
							2023-06-12 23:45:36 +03:00  
				
					
						
							
							
								 
						
							
								c38e8de6b5 
								
							 
						 
						
							
							
								
								BAN: Optional can be constructed inplace  
							
							
							
						 
						
							2023-06-12 23:45:36 +03:00  
				
					
						
							
							
								 
						
							
								97638f7ade 
								
							 
						 
						
							
							
								
								BAN: Add operator-> and operator* to Optional  
							
							
							
						 
						
							2023-06-12 22:25:14 +03:00  
				
					
						
							
							
								 
						
							
								326a30d1af 
								
							 
						 
						
							
							
								
								Userspace: Add u8sum  
							
							... 
							
							
							
							This program caluculates the sum of bytes in file mod 256 
							
						 
						
							2023-06-12 20:36:16 +03:00  
				
					
						
							
							
								 
						
							
								32e1473c94 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								bf617036c7 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ce55422a24 
								
							 
						 
						
							
							
								
								Kernel: Remove Shell from kernel  
							
							... 
							
							
							
							This is now obsolete since we have a userspace Shell. 
							
						 
						
							2023-06-12 02:04:52 +03:00  
				
					
						
							
							
								 
						
							
								388cc7c3bb 
								
							 
						 
						
							
							
								
								Base: add home directories for root and user  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								37f9404d93 
								
							 
						 
						
							
							
								
								BuildSystem: every file except /home/* is now owned by root  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								38dff41e25 
								
							 
						 
						
							
							
								
								Userspace: Shell processes PS1 '\~' as cwd and implement cd  
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
				
					
						
							
							
								 
						
							
								d360340b9e 
								
							 
						 
						
							
							
								
								Userspace: init now sets HOME environment variable and cd's into HOME  
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
				
					
						
							
							
								 
						
							
								0f63cfa43f 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd  
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
				
					
						
							
							
								 
						
							
								537780ee1e 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								4ca99fcb4e 
								
							 
						 
						
							
							
								
								Kernel: Fix bug in elf loading  
							
							... 
							
							
							
							We were allocating one extra page 
							
						 
						
							2023-06-12 00:59:19 +03:00  
				
					
						
							
							
								 
						
							
								eb7ee13f43 
								
							 
						 
						
							
							
								
								Userspace: init now default logins as user  
							
							
							
						 
						
							2023-06-12 00:46:07 +03:00  
				
					
						
							
							
								 
						
							
								b2de706693 
								
							 
						 
						
							
							
								
								Userspace: Shell now uses PS1 as prompt if set  
							
							
							
						 
						
							2023-06-12 00:45:47 +03:00  
				
					
						
							
							
								 
						
							
								6a8180470d 
								
							 
						 
						
							
							
								
								Userspace: Add color to ls  
							
							
							
						 
						
							2023-06-11 23:00:19 +03:00  
				
					
						
							
							
								 
						
							
								12d56be5cc 
								
							 
						 
						
							
							
								
								Userspace: init now sets user and group ids before running their shell  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
				
					
						
							
							
								 
						
							
								bb4d81a4fa 
								
							 
						 
						
							
							
								
								Userspace: Add basic id that prints {,e}{uid,gid} of the current proc  
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00