Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								683c2a68cd 
								
							 
						 
						
							
							
								
								Shell: $(...) expansion works now :)  
							
							 
							
							
							
						 
						
							2023-07-06 23:22:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ad98181069 
								
							 
						 
						
							
							
								
								Shell: you can call Shell -c ... to invoke the shell as interpreter  
							
							 
							
							
							
						 
						
							2023-07-06 23:22:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								21bd87bb07 
								
							 
						 
						
							
							
								
								Userspace: Shell now has 'env' for printing environment  
							
							 
							
							
							
						 
						
							2023-07-06 10:32:43 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								79450df04c 
								
							 
						 
						
							
							
								
								Userspace: Shell imporove 'time' command  
							
							 
							
							
							
						 
						
							2023-07-06 09:45:04 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7f8b7b811e 
								
							 
						 
						
							
							
								
								Userspace: Shell now has time builtin  
							
							 
							
							
							
						 
						
							2023-07-06 00:39:04 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4dce0f9074 
								
							 
						 
						
							
							
								
								Userspace: u8sum fix error message  
							
							 
							
							
							
						 
						
							2023-06-19 10:31:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								54f89cba33 
								
							 
						 
						
							
							
								
								Userspace: Shell now processes $ arguments  
							
							 
							
							
							
						 
						
							2023-06-19 01:39:24 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								de88f60d1a 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parsing now appriciates quotes  
							
							 
							
							
							
						 
						
							2023-06-19 01:07:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f7060970e6 
								
							 
						 
						
							
							
								
								Userspace: Shell argument parse now results in BAN::String  
							
							 
							
							
							
						 
						
							2023-06-19 00:34:44 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e7a98ac6cc 
								
							 
						 
						
							
							
								
								Userspace: Shell now sets SHELL environment variable  
							
							 
							
							
							
						 
						
							2023-06-18 23:35:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								326a30d1af 
								
							 
						 
						
							
							
								
								Userspace: Add u8sum  
							
							 
							
							... 
							
							
							
							This program caluculates the sum of bytes in file mod 256 
							
						 
						
							2023-06-12 20:36:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								38dff41e25 
								
							 
						 
						
							
							
								
								Userspace: Shell processes PS1 '\~' as cwd and implement cd  
							
							 
							
							
							
						 
						
							2023-06-12 02:03:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d360340b9e 
								
							 
						 
						
							
							
								
								Userspace: init now sets HOME environment variable and cd's into HOME  
							
							 
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								eb7ee13f43 
								
							 
						 
						
							
							
								
								Userspace: init now default logins as user  
							
							 
							
							
							
						 
						
							2023-06-12 00:46:07 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b2de706693 
								
							 
						 
						
							
							
								
								Userspace: Shell now uses PS1 as prompt if set  
							
							 
							
							
							
						 
						
							2023-06-12 00:45:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6a8180470d 
								
							 
						 
						
							
							
								
								Userspace: Add color to ls  
							
							 
							
							
							
						 
						
							2023-06-11 23:00:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								12d56be5cc 
								
							 
						 
						
							
							
								
								Userspace: init now sets user and group ids before running their shell  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bb4d81a4fa 
								
							 
						 
						
							
							
								
								Userspace: Add basic id that prints {,e}{uid,gid} of the current proc  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								51eb44bf40 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c62e820bcf 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								25a2a4879c 
								
							 
						 
						
							
							
								
								Userspace: add basic ls command  
							
							 
							
							
							
						 
						
							2023-06-11 03:38:44 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ee8de77a90 
								
							 
						 
						
							
							
								
								Userspace: fix return values of cat and echo  
							
							 
							
							
							
						 
						
							2023-06-10 17:34:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e001eecb7b 
								
							 
						 
						
							
							
								
								Userspace: add exit to shell  
							
							 
							
							
							
						 
						
							2023-06-09 01:51:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7f34d00c95 
								
							 
						 
						
							
							
								
								Userspace: add echo  
							
							 
							
							
							
						 
						
							2023-06-09 01:50:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2c18adbddd 
								
							 
						 
						
							
							
								
								Userspace: add ^L support for shell  
							
							 
							
							
							
						 
						
							2023-06-09 01:24:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								064ce568c2 
								
							 
						 
						
							
							
								
								Kernel: add basic support for environment variables  
							
							 
							
							... 
							
							
							
							exec functions will search files from PATH 
							
						 
						
							2023-06-05 22:51:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3fc2c3529a 
								
							 
						 
						
							
							
								
								Shell: load old termios for process execution  
							
							 
							
							
							
						 
						
							2023-06-05 21:12:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2f2c298c68 
								
							 
						 
						
							
							
								
								Shell: add bareboness utf8 support  
							
							 
							
							... 
							
							
							
							This should work as long as TTY provides only valid utf8.
If the utf is invalid, assertion fails and the shell dies. 
							
						 
						
							2023-06-05 18:55:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								90e48970e6 
								
							 
						 
						
							
							
								
								Shell: we now support left/right arrows  
							
							 
							
							
							
						 
						
							2023-06-05 18:24:41 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9d64dbd5c2 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_STAT and stat(), lstat()  
							
							 
							
							
							
						 
						
							2023-06-05 14:37:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1f36ed0cf9 
								
							 
						 
						
							
							
								
								Userspace: Start work on proper shell  
							
							 
							
							
							
						 
						
							2023-06-05 01:42:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a775a920d0 
								
							 
						 
						
							
							
								
								BuildSystem: remove sse and sse2 from userspace  
							
							 
							
							
							
						 
						
							2023-06-03 16:05:32 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a3f410d1a1 
								
							 
						 
						
							
							
								
								Userspace: create_program creates proper cmake files again  
							
							 
							
							
							
						 
						
							2023-06-02 18:42:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1d19a4bffe 
								
							 
						 
						
							
							
								
								BuildSystem: all scripts have now bash shebang  
							
							 
							
							... 
							
							
							
							I could not use the scripts on debian 
							
						 
						
							2023-06-02 18:41:45 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								271dd91292 
								
							 
						 
						
							
							
								
								BuildSystem: add rule to build libstdc++  
							
							 
							
							... 
							
							
							
							We can now build libstdc++ and actually link with g++ 
							
						 
						
							2023-06-02 18:39:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cb359a05dc 
								
							 
						 
						
							
							
								
								BuildSystem: link libraries when they change  
							
							 
							
							... 
							
							
							
							This also fixed the need for manual linkin on firt build 
							
						 
						
							2023-05-31 23:01:40 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								14982c137a 
								
							 
						 
						
							
							
								
								Userspace: make test program link against libc on change  
							
							 
							
							
							
						 
						
							2023-05-31 22:36:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0acab11620 
								
							 
						 
						
							
							
								
								LibC: add execl  
							
							 
							
							
							
						 
						
							2023-05-31 22:36:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ab61b49aca 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_EXEC syscall  
							
							 
							
							
							
						 
						
							2023-05-31 20:57:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e640344d7a 
								
							 
						 
						
							
							
								
								Kernel: Rename MMU to PageTable  
							
							 
							
							... 
							
							
							
							This is more descriptive name for what it actually represents 
							
						 
						
							2023-05-29 21:06:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								282bf24f65 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocations through FixedWidthAllocator  
							
							 
							
							
							
						 
						
							2023-05-28 21:34:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								636c308993 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocation done through GeneralAllocator  
							
							 
							
							
							
						 
						
							2023-05-28 20:37:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6fdbe6f9c2 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness fork() function  
							
							 
							
							
							
						 
						
							2023-05-28 18:08:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								245dff8027 
								
							 
						 
						
							
							
								
								Shell: we now link BAN (we can't use it though)  
							
							 
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0ab3332ad3 
								
							 
						 
						
							
							
								
								Userspace: Start work on shell  
							
							 
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								496adb61a4 
								
							 
						 
						
							
							
								
								Buildsystem: Fix userspace link order  
							
							 
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f33e78882e 
								
							 
						 
						
							
							
								
								Kernel: Add argc and argv to process entry  
							
							 
							
							
							
						 
						
							2023-05-16 00:27:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fb1bab7c30 
								
							 
						 
						
							
							
								
								BuildSystem: add helper to create userspace programs  
							
							 
							
							
							
						 
						
							2023-05-11 18:10:06 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7eb43990ad 
								
							 
						 
						
							
							
								
								BuildSystem: userspace has cmake target  
							
							 
							
							
							
						 
						
							2023-05-11 16:19:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1cf7ef3de6 
								
							 
						 
						
							
							
								
								Kernel: Remove offset from OpenFileDescriptor  
							
							 
							
							... 
							
							
							
							This is now handled on the libc side. There might be reasons to
have it in kernel side, but for simplicity's sake I'm moving it
to libc for now :) 
							
						 
						
							2023-05-09 20:31:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								812e61ca70 
								
							 
						 
						
							
							
								
								Kernel: Add barebones GeneralAllocator for >4096B  
							
							 
							
							
							
						 
						
							2023-05-08 22:10:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f32d594879 
								
							 
						 
						
							
							
								
								Kernel: We add FixedWidthAllocators on demand  
							
							 
							
							... 
							
							
							
							On SYS_ALLOC we will add a new FixedWidthAllocator if the old ones
are already full or we don't have one with proper size. This allows
arbitary number of allocations as long as you have enough memory
available :)
Next I will be writing a general allocator for allocations larger
than 4096 bytes which should make SYS_ALLOC syscall complete :) 
							
						 
						
							2023-05-07 23:57:01 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2fe9af7165 
								
							 
						 
						
							
							
								
								Kernel/LibC: add free function for FixedWidthAllocator  
							
							 
							
							... 
							
							
							
							I have to rework the syscall API and allocators in process. For
now this works well enough :) 
							
						 
						
							2023-05-07 01:21:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ff5bcd4416 
								
							 
						 
						
							
							
								
								Kernel: Add basic fixed width allocator for userspace  
							
							 
							
							... 
							
							
							
							We have to move process stacks to the general heap and maybe map
kernel to higher half. 
							
						 
						
							2023-05-06 19:58:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7fac2a7526 
								
							 
						 
						
							
							
								
								Userspace: Simple stdio test  
							
							 
							
							
							
						 
						
							2023-04-25 14:50:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b15deb420f 
								
							 
						 
						
							
							
								
								LibC: Write mostly functioning stdio  
							
							 
							
							
							
						 
						
							2023-04-23 14:32:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ec8b9640e2 
								
							 
						 
						
							
							
								
								Kernel: Usespace programs are now ran through ELF files  
							
							 
							
							... 
							
							
							
							only 64 bit elf files are supported for now. 
							
						 
						
							2023-04-22 15:35:32 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								079df39ca8 
								
							 
						 
						
							
							
								
								LibELF: Start implementing elf library  
							
							 
							
							
							
						 
						
							2023-04-18 10:18:15 +03:00