dddfa308d7 
								
							 
						 
						
							
							
								
								Shell: Print if the process exited because of a signal  
							
							
							
						 
						
							2023-08-01 14:24:36 +03:00  
				
					
						
							
							
								 
						
							
								2a851b52f1 
								
							 
						 
						
							
							
								
								BuildSystem: Edit build flags regarding sse and warnings  
							
							
							
						 
						
							2023-07-31 22:31:17 +03:00  
				
					
						
							
							
								 
						
							
								1d7795e22c 
								
							 
						 
						
							
							
								
								Kernel: Hardware exceptions  now sends signals to userspace  
							
							
							
						 
						
							2023-07-30 14:34:15 +03:00  
				
					
						
							
							
								 
						
							
								925df39107 
								
							 
						 
						
							
							
								
								Kernel: Userspace sets the foreground process and Shell handles ^C  
							
							
							
						 
						
							2023-07-28 18:10:36 +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  
				
					
						
							
							
								 
						
							
								10169d773d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							
							
						 
						
							2023-07-21 19:27:38 +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  
				
					
						
							
							
								 
						
							
								fb4b363a16 
								
							 
						 
						
							
							
								
								Init: Use the new pwd.h api for user parsing  
							
							
							
						 
						
							2023-07-13 12:01: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  
				
					
						
							
							
								 
						
							
								404b3dd44c 
								
							 
						 
						
							
							
								
								Shell: $(...) expansion works now :)  
							
							
							
						 
						
							2023-07-06 23:22:57 +03:00  
				
					
						
							
							
								 
						
							
								d04b031e30 
								
							 
						 
						
							
							
								
								Shell: you can call Shell -c ... to invoke the shell as interpreter  
							
							
							
						 
						
							2023-07-06 23:22:49 +03:00  
				
					
						
							
							
								 
						
							
								f19dc114d6 
								
							 
						 
						
							
							
								
								Userspace: Shell now has 'env' for printing environment  
							
							
							
						 
						
							2023-07-06 10:32:43 +03:00  
				
					
						
							
							
								 
						
							
								d2aabb669b 
								
							 
						 
						
							
							
								
								Userspace: Shell imporove 'time' command  
							
							
							
						 
						
							2023-07-06 09:45:04 +03:00  
				
					
						
							
							
								 
						
							
								9c3f4039a5 
								
							 
						 
						
							
							
								
								Userspace: Shell now has time builtin  
							
							
							
						 
						
							2023-07-06 00:39:04 +03:00  
				
					
						
							
							
								 
						
							
								328d67f551 
								
							 
						 
						
							
							
								
								Userspace: u8sum fix error message  
							
							
							
						 
						
							2023-06-19 10:31:23 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d0a0e3bdef 
								
							 
						 
						
							
							
								
								Userspace: Add u8sum  
							
							... 
							
							
							
							This program caluculates the sum of bytes in file mod 256 
							
						 
						
							2023-06-12 20:36:16 +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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								1cf464d5c7 
								
							 
						 
						
							
							
								
								Userspace: add basic ls command  
							
							
							
						 
						
							2023-06-11 03:38:44 +03:00  
				
					
						
							
							
								 
						
							
								223d2ac3a6 
								
							 
						 
						
							
							
								
								Userspace: fix return values of cat and echo  
							
							
							
						 
						
							2023-06-10 17:34:10 +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  
				
					
						
							
							
								 
						
							
								55ea5c5488 
								
							 
						 
						
							
							
								
								Kernel: add basic support for environment variables  
							
							... 
							
							
							
							exec functions will search files from PATH 
							
						 
						
							2023-06-05 22:51:02 +03:00  
				
					
						
							
							
								 
						
							
								357081346e 
								
							 
						 
						
							
							
								
								Shell: load old termios for process execution  
							
							
							
						 
						
							2023-06-05 21:12:08 +03:00  
				
					
						
							
							
								 
						
							
								73c11c3d29 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								5af77dcfb9 
								
							 
						 
						
							
							
								
								Shell: we now support left/right arrows  
							
							
							
						 
						
							2023-06-05 18:24:41 +03:00  
				
					
						
							
							
								 
						
							
								d1ad38c8d4 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_STAT and stat(), lstat()  
							
							
							
						 
						
							2023-06-05 14:37:14 +03:00  
				
					
						
							
							
								 
						
							
								4c40aa6b38 
								
							 
						 
						
							
							
								
								Userspace: Start work on proper shell  
							
							
							
						 
						
							2023-06-05 01:42:57 +03:00  
				
					
						
							
							
								 
						
							
								d201e65810 
								
							 
						 
						
							
							
								
								BuildSystem: remove sse and sse2 from userspace  
							
							
							
						 
						
							2023-06-03 16:05:32 +03:00  
				
					
						
							
							
								 
						
							
								3a5d6914ba 
								
							 
						 
						
							
							
								
								Userspace: create_program creates proper cmake files again  
							
							
							
						 
						
							2023-06-02 18:42:25 +03:00  
				
					
						
							
							
								 
						
							
								e96efea2fb 
								
							 
						 
						
							
							
								
								BuildSystem: all scripts have now bash shebang  
							
							... 
							
							
							
							I could not use the scripts on debian 
							
						 
						
							2023-06-02 18:41:45 +03:00  
				
					
						
							
							
								 
						
							
								2df7f8a1e5 
								
							 
						 
						
							
							
								
								BuildSystem: add rule to build libstdc++  
							
							... 
							
							
							
							We can now build libstdc++ and actually link with g++ 
							
						 
						
							2023-06-02 18:39:42 +03:00  
				
					
						
							
							
								 
						
							
								a378e59432 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								a75a3f7a5f 
								
							 
						 
						
							
							
								
								Userspace: make test program link against libc on change  
							
							
							
						 
						
							2023-05-31 22:36:47 +03:00  
				
					
						
							
							
								 
						
							
								0f412e570c 
								
							 
						 
						
							
							
								
								LibC: add execl  
							
							
							
						 
						
							2023-05-31 22:36:26 +03:00  
				
					
						
							
							
								 
						
							
								24a190d1f7 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_EXEC syscall  
							
							
							
						 
						
							2023-05-31 20:57:33 +03:00  
				
					
						
							
							
								 
						
							
								5bb1f2a48c 
								
							 
						 
						
							
							
								
								Kernel: Rename MMU to PageTable  
							
							... 
							
							
							
							This is more descriptive name for what it actually represents 
							
						 
						
							2023-05-29 21:06:09 +03:00  
				
					
						
							
							
								 
						
							
								09666adc53 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocations through FixedWidthAllocator  
							
							
							
						 
						
							2023-05-28 21:34:35 +03:00  
				
					
						
							
							
								 
						
							
								f04399c3a0 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocation done through GeneralAllocator  
							
							
							
						 
						
							2023-05-28 20:37:39 +03:00  
				
					
						
							
							
								 
						
							
								f2d767b799 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness fork() function  
							
							
							
						 
						
							2023-05-28 18:08:49 +03:00  
				
					
						
							
							
								 
						
							
								a2ee543fa1 
								
							 
						 
						
							
							
								
								Shell: we now link BAN (we can't use it though)  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								27147790fd 
								
							 
						 
						
							
							
								
								Userspace: Start work on shell  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								82dcec9576 
								
							 
						 
						
							
							
								
								Buildsystem: Fix userspace link order  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								e0a72defa2 
								
							 
						 
						
							
							
								
								Kernel: Add argc and argv to process entry  
							
							
							
						 
						
							2023-05-16 00:27:49 +03:00  
				
					
						
							
							
								 
						
							
								bbaf1223f3 
								
							 
						 
						
							
							
								
								BuildSystem: add helper to create userspace programs  
							
							
							
						 
						
							2023-05-11 18:10:06 +03:00  
				
					
						
							
							
								 
						
							
								177b205c48 
								
							 
						 
						
							
							
								
								BuildSystem: userspace has cmake target  
							
							
							
						 
						
							2023-05-11 16:19:53 +03:00  
				
					
						
							
							
								 
						
							
								ff2e2937a5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								512be884ed 
								
							 
						 
						
							
							
								
								Kernel: Add barebones GeneralAllocator for >4096B  
							
							
							
						 
						
							2023-05-08 22:10:49 +03:00  
				
					
						
							
							
								 
						
							
								b0ec0f1a1a 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								12e42f40c5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								bcfd838131 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								c20ba3064d 
								
							 
						 
						
							
							
								
								Userspace: Simple stdio test  
							
							
							
						 
						
							2023-04-25 14:50:26 +03:00  
				
					
						
							
							
								 
						
							
								cd74b2167d 
								
							 
						 
						
							
							
								
								LibC: Write mostly functioning stdio  
							
							
							
						 
						
							2023-04-23 14:32:37 +03:00  
				
					
						
							
							
								 
						
							
								fadce063a7 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								998ae511a3 
								
							 
						 
						
							
							
								
								LibELF: Start implementing elf library  
							
							
							
						 
						
							2023-04-18 10:18:15 +03:00