c5119cda97 
								
							 
						 
						
							
							
								
								Userspace: Add meminfo command that parses /proc/{pid}/meminfo  
							
							
							
						 
						
							2023-09-30 21:20:53 +03:00  
				
					
						
							
							
								 
						
							
								6304388100 
								
							 
						 
						
							
							
								
								Shell: Quick fix to not freeze for multiple seconds  
							
							... 
							
							
							
							When sync is writing to disk, it reserves whole disk to itself.
This commit makes Shell to read username only once from getpwuid().
We used to get username every time prompt was printed. 
							
						 
						
							2023-09-29 19:20:48 +03:00  
				
					
						
							
							
								 
						
							
								96b1186c19 
								
							 
						 
						
							
							
								
								Userspace: Implement basic test for MAP_SHARED  
							
							
							
						 
						
							2023-09-29 18:59:37 +03:00  
				
					
						
							
							
								 
						
							
								b57811b371 
								
							 
						 
						
							
							
								
								Userspace: Implement cat-mmap  
							
							... 
							
							
							
							This behaves exactly as cat, but uses mmap to read the file. 
							
						 
						
							2023-09-29 17:24:55 +03:00  
				
					
						
							
							
								 
						
							
								6eda65eea6 
								
							 
						 
						
							
							
								
								Kernel/LibC/Userspace: Add SYS_POWEROFF + cli tool  
							
							... 
							
							
							
							You can now shutdown/reboot banan-os with the poweroff cli tool.
Reboot doesn't seem to work on qemu. 
							
						 
						
							2023-09-28 12:36:47 +03:00  
				
					
						
							
							
								 
						
							
								4a01e4c3b4 
								
							 
						 
						
							
							
								
								Userspace: Use printf length modifiers when printing  
							
							
							
						 
						
							2023-09-28 11:49:31 +03:00  
				
					
						
							
							
								 
						
							
								399d5338c6 
								
							 
						 
						
							
							
								
								Shell: String leading and trailing whitespace from commands  
							
							... 
							
							
							
							This fixes a bug of inserting empty argument if command had trailing
whitespace 
							
						 
						
							2023-09-28 10:28:49 +03:00  
				
					
						
							
							
								 
						
							
								b573701625 
								
							 
						 
						
							
							
								
								Sync: Add some argument parsing to sync(1)  
							
							... 
							
							
							
							You can specify --block to make the program wait until sync is
complete. 
							
						 
						
							2023-09-27 00:37:23 +03:00  
				
					
						
							
							
								 
						
							
								3ba15b41a3 
								
							 
						 
						
							
							
								
								Kernel/LibC: remove PATH resoltion from kernel  
							
							... 
							
							
							
							I have no idea why I had made PATH environment variable parsing
to be part of the kernel. Now the shell does the parsing and
environment syscall is no longer needed. 
							
						 
						
							2023-09-23 03:08:14 +03:00  
				
					
						
							
							
								 
						
							
								63dc2b6aa6 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_SYNC and add sync executable to userspace  
							
							... 
							
							
							
							You can (and have to) manually sync disk after writes to it. 
							
						 
						
							2023-09-11 01:26:27 +03:00  
				
					
						
							
							
								 
						
							
								9ebf29991d 
								
							 
						 
						
							
							
								
								Kernel: Add basic dd command  
							
							... 
							
							
							
							This only supports if, of, bs, count and status=progress 
							
						 
						
							2023-09-10 01:19:47 +03:00  
				
					
						
							
							
								 
						
							
								921d95d18f 
								
							 
						 
						
							
							
								
								All: Clear lines with only whitspace in them  
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								41757b5f6c 
								
							 
						 
						
							
							
								
								Shell: Clean exit on ^D and use getchar()  
							
							... 
							
							
							
							Use getchar() instead of fread(&ch, 1, sizeof(char), stdin). This
is much cleaner. 
							
						 
						
							2023-09-07 15:51:05 +03:00  
				
					
						
							
							
								 
						
							
								c33c7f8b3b 
								
							 
						 
						
							
							
								
								Init: use read instead of fread()  
							
							... 
							
							
							
							This allows actually correct behaviour. My fread implementation is
flawed. It should not return on '\n' 
							
						 
						
							2023-09-07 15:47:59 +03:00  
				
					
						
							
							
								 
						
							
								0d725f68e3 
								
							 
						 
						
							
							
								
								Snake render grid lines without extra space after last '#'  
							
							
							
						 
						
							2023-09-05 14:35:53 +03:00  
				
					
						
							
							
								 
						
							
								c13b5aecfe 
								
							 
						 
						
							
							
								
								Snake: Reorder apple generation/snake body update  
							
							... 
							
							
							
							If new apple was generated to heads previous position after update,
it would not render. 
							
						 
						
							2023-09-05 14:30:30 +03:00  
				
					
						
							
							
								 
						
							
								ba7e1b9ca5 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								e4041ce5ec 
								
							 
						 
						
							
							
								
								Userspace: Implement basic snake game :)  
							
							
							
						 
						
							2023-09-04 14:30:45 +03:00  
				
					
						
							
							
								 
						
							
								80e7a89f67 
								
							 
						 
						
							
							
								
								BuildSystem: Base sysroot is now distributed as a tar ball  
							
							... 
							
							
							
							This allows file and directory permissions work as intended.
cmake is now filled with 'sudo' but with sudo timeout this should be
fine. 
							
						 
						
							2023-08-23 10:38:21 +03:00  
				
					
						
							
							
								 
						
							
								b780df8be0 
								
							 
						 
						
							
							
								
								Shell: hostname is not parsed from /etc/hostname  
							
							
							
						 
						
							2023-08-23 10:38:21 +03:00  
				
					
						
							
							
								 
						
							
								c4210b5810 
								
							 
						 
						
							
							
								
								Shell: use process groups more properly  
							
							
							
						 
						
							2023-08-22 14:54:50 +03:00  
				
					
						
							
							
								 
						
							
								2dcd4ed131 
								
							 
						 
						
							
							
								
								Shell/init: We now use pgrp instead of pid and init open terminal  
							
							
							
						 
						
							2023-08-22 11:37:04 +03:00  
				
					
						
							
							
								 
						
							
								c1d82282d9 
								
							 
						 
						
							
							
								
								Id: Print username corresponding to uid/euid  
							
							... 
							
							
							
							Also print euid and egid if they differ from uid or gid. 
							
						 
						
							2023-08-18 15:36:51 +03:00  
				
					
						
							
							
								 
						
							
								089da2608c 
								
							 
						 
						
							
							
								
								Shell: command execution and parsing support piped commands  
							
							... 
							
							
							
							There is still problems with "blocking" builtin commands (time),
return value, ... 
							
						 
						
							2023-08-17 12:05:38 +03:00  
				
					
						
							
							
								 
						
							
								ed5f4d64a8 
								
							 
						 
						
							
							
								
								Shell: add basic printf test  
							
							
							
						 
						
							2023-08-16 10:49:34 +03:00  
				
					
						
							
							
								 
						
							
								a09232a555 
								
							 
						 
						
							
							
								
								cat: use 1025 buffer. this allows reads to be 1024 byte  
							
							... 
							
							
							
							reading from disk currently returns ENOTSUP if buffer size is not
multiple of sector size. 
							
						 
						
							2023-08-16 09:33:14 +03:00  
				
					
						
							
							
								 
						
							
								5a94818210 
								
							 
						 
						
							
							
								
								Shell: $? returns last return value  
							
							
							
						 
						
							2023-08-15 09:17:46 +03:00  
				
					
						
							
							
								 
						
							
								2441f208c6 
								
							 
						 
						
							
							
								
								Userspace: Add basic whoami command  
							
							
							
						 
						
							2023-08-15 09:03:51 +03:00  
				
					
						
							
							
								 
						
							
								db2eca697e 
								
							 
						 
						
							
							
								
								Shell: '\u' in PS1 is replaced with username corresponding to euid  
							
							
							
						 
						
							2023-08-14 14:55:23 +03:00  
				
					
						
							
							
								 
						
							
								81d79cca61 
								
							 
						 
						
							
							
								
								Shell: ^A moves cursor to the beginning of line  
							
							
							
						 
						
							2023-08-14 12:26:22 +03:00  
				
					
						
							
							
								 
						
							
								77ff585248 
								
							 
						 
						
							
							
								
								Userspace: implement basic stat  
							
							... 
							
							
							
							I tried to format the output pretty much how linux does, except for
uid and git -> name resolution which is not implemented 
							
						 
						
							2023-08-11 10:30:50 +03:00  
				
					
						
							
							
								 
						
							
								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