84ecf861cd 
								
							 
						 
						
							
							
								
								Userspace: Shell now processes $ arguments  
							
							
							
						 
						
							2023-06-19 01:39:24 +03:00  
				
					
						
							
							
								 
						
							
								46a6daccfe 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parsing now appriciates quotes  
							
							
							
						 
						
							2023-06-19 01:07:00 +03:00  
				
					
						
							
							
								 
						
							
								3df3c37bad 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parse now results in BAN::String  
							
							
							
						 
						
							2023-06-19 00:34:44 +03:00  
				
					
						
							
							
								 
						
							
								191a24110a 
								
							 
						 
						
							
							
								
								Userspace: Shell now sets SHELL environment variable  
							
							
							
						 
						
							2023-06-18 23:35:51 +03:00  
				
					
						
							
							
								 
						
							
								275a730485 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								9a7b2587af 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								09c824b90e 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								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