Bananymous 
							
						 
						
							
								f0820e6f24 
								
							 
						 
						
							
							
								
								Shell: Fix parsing $ with unknown character  
							
							
							
						 
						
							2023-10-12 22:24:27 +03:00  
				
					
						
							
							
								 
						
							
								7ce8e2d57b 
								
							 
						 
						
							
							
								
								cat: Use write() instead of puts to print file contents  
							
							... 
							
							
							
							This allows printing files that contain null bytes behave more like
you would expect 
							
						 
						
							2023-10-04 22:16:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e780eaa45f 
								
							 
						 
						
							
							
								
								meminfo: Print allocated physical memory percentage  
							
							
							
						 
						
							2023-10-03 10:39:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44cb0af64f 
								
							 
						 
						
							
							
								
								Shell: source $HOME/.shellrc if found on Shell startup  
							
							
							
						 
						
							2023-10-03 10:39:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bb0989fdef 
								
							 
						 
						
							
							
								
								Shell: Implement sourcing scripts  
							
							
							
						 
						
							2023-10-03 10:24:10 +03:00  
				
					
						
							
							
								 
						
							
								f0b6844feb 
								
							 
						 
						
							
							
								
								meminfo: Add process command line to the output  
							
							
							
						 
						
							2023-09-30 23:17:31 +03:00  
				
					
						
							
							
								 
						
							
								797ca65c66 
								
							 
						 
						
							
							
								
								Kernel: Add physical memory info to /proc/{pid}/meminfo  
							
							
							
						 
						
							2023-09-30 22:11:45 +03:00  
				
					
						
							
							
								 
						
							
								762b7a4276 
								
							 
						 
						
							
							
								
								Userspace: Add meminfo command that parses /proc/{pid}/meminfo  
							
							
							
						 
						
							2023-09-30 21:20:53 +03:00  
				
					
						
							
							
								 
						
							
								94ce2c97be 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								3f164c6b82 
								
							 
						 
						
							
							
								
								Userspace: Implement basic test for MAP_SHARED  
							
							
							
						 
						
							2023-09-29 18:59:37 +03:00  
				
					
						
							
							
								 
						
							
								7a5bb6a56b 
								
							 
						 
						
							
							
								
								Userspace: Implement cat-mmap  
							
							... 
							
							
							
							This behaves exactly as cat, but uses mmap to read the file. 
							
						 
						
							2023-09-29 17:24:55 +03:00  
				
					
						
							
							
								 
						
							
								79851394b3 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								85b1252b9e 
								
							 
						 
						
							
							
								
								Userspace: Use printf length modifiers when printing  
							
							
							
						 
						
							2023-09-28 11:49:31 +03:00  
				
					
						
							
							
								 
						
							
								c84b66d078 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ec2baeb276 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								fc953df281 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								5fae3cec2a 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								9b4e2e1e21 
								
							 
						 
						
							
							
								
								Kernel: Add basic dd command  
							
							... 
							
							
							
							This only supports if, of, bs, count and status=progress 
							
						 
						
							2023-09-10 01:19:47 +03:00  
				
					
						
							
							
								 
						
							
								720bc418a6 
								
							 
						 
						
							
							
								
								All: Clear lines with only whitspace in them  
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
				
					
						
							
							
								 
						
							
								afe95be42f 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								14ac1c9904 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								4363118d9d 
								
							 
						 
						
							
							
								
								Snake render grid lines without extra space after last '#'  
							
							
							
						 
						
							2023-09-05 14:35:53 +03:00  
				
					
						
							
							
								 
						
							
								f46f5b2050 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ddd36af0f1 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
				
					
						
							
							
								 
						
							
								2e2a913412 
								
							 
						 
						
							
							
								
								Userspace: Implement basic snake game :)  
							
							
							
						 
						
							2023-09-04 14:30:45 +03:00  
				
					
						
							
							
								 
						
							
								b05cf9ef09 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								a74eb357a1 
								
							 
						 
						
							
							
								
								Shell: hostname is not parsed from /etc/hostname  
							
							
							
						 
						
							2023-08-23 10:38:21 +03:00  
				
					
						
							
							
								 
						
							
								8eb71084f0 
								
							 
						 
						
							
							
								
								Shell: use process groups more properly  
							
							
							
						 
						
							2023-08-22 14:54:50 +03:00  
				
					
						
							
							
								 
						
							
								6ada36d3cb 
								
							 
						 
						
							
							
								
								Shell/init: We now use pgrp instead of pid and init open terminal  
							
							
							
						 
						
							2023-08-22 11:37:04 +03:00  
				
					
						
							
							
								 
						
							
								30463c9082 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								eb98d70a0b 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								5bd7099b96 
								
							 
						 
						
							
							
								
								Shell: add basic printf test  
							
							
							
						 
						
							2023-08-16 10:49:34 +03:00  
				
					
						
							
							
								 
						
							
								5806a6484f 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								0fa5401800 
								
							 
						 
						
							
							
								
								Shell: $? returns last return value  
							
							
							
						 
						
							2023-08-15 09:17:46 +03:00  
				
					
						
							
							
								 
						
							
								b30f4cbfb5 
								
							 
						 
						
							
							
								
								Userspace: Add basic whoami command  
							
							
							
						 
						
							2023-08-15 09:03:51 +03:00  
				
					
						
							
							
								 
						
							
								ba37183c9c 
								
							 
						 
						
							
							
								
								Shell: '\u' in PS1 is replaced with username corresponding to euid  
							
							
							
						 
						
							2023-08-14 14:55:23 +03:00  
				
					
						
							
							
								 
						
							
								2f298a1979 
								
							 
						 
						
							
							
								
								Shell: ^A moves cursor to the beginning of line  
							
							
							
						 
						
							2023-08-14 12:26:22 +03:00  
				
					
						
							
							
								 
						
							
								313b00b11f 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								9fe878bbec 
								
							 
						 
						
							
							
								
								Shell: Print if the process exited because of a signal  
							
							
							
						 
						
							2023-08-01 14:24:36 +03:00  
				
					
						
							
							
								 
						
							
								679d47131d 
								
							 
						 
						
							
							
								
								BuildSystem: Edit build flags regarding sse and warnings  
							
							
							
						 
						
							2023-07-31 22:31:17 +03:00  
				
					
						
							
							
								 
						
							
								5e434f5131 
								
							 
						 
						
							
							
								
								Kernel: Hardware exceptions  now sends signals to userspace  
							
							
							
						 
						
							2023-07-30 14:34:15 +03:00  
				
					
						
							
							
								 
						
							
								00f1f30a08 
								
							 
						 
						
							
							
								
								Kernel: Userspace sets the foreground process and Shell handles ^C  
							
							
							
						 
						
							2023-07-28 18:10:36 +03:00  
				
					
						
							
							
								 
						
							
								adb14ba373 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								ad756c36fc 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							
							
						 
						
							2023-07-21 19:27:38 +03:00  
				
					
						
							
							
								 
						
							
								dcd4d0daeb 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								e341a36287 
								
							 
						 
						
							
							
								
								Init: Use the new pwd.h api for user parsing  
							
							
							
						 
						
							2023-07-13 12:01:41 +03:00  
				
					
						
							
							
								 
						
							
								5c94a583bc 
								
							 
						 
						
							
							
								
								Userspace: add basic 'touch' command  
							
							
							
						 
						
							2023-07-10 16:38:15 +03:00  
				
					
						
							
							
								 
						
							
								6e1fc2766f 
								
							 
						 
						
							
							
								
								tee: indent with tabs  
							
							
							
						 
						
							2023-07-10 16:18:08 +03:00  
				
					
						
							
							
								 
						
							
								d3bb00cb55 
								
							 
						 
						
							
							
								
								Userspace: Add basic tee command  
							
							
							
						 
						
							2023-07-10 16:07:53 +03:00  
				
					
						
							
							
								 
						
							
								683c2a68cd 
								
							 
						 
						
							
							
								
								Shell: $(...) expansion works now :)  
							
							
							
						 
						
							2023-07-06 23:22:57 +03:00