Bananymous 
							
						 
						
							
								45b4b33a3d 
								
							 
						 
						
							
							
								
								LibC: Add definitions for some integer sizes to limits.h  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c453a8e2dc 
								
							 
						 
						
							
							
								
								LibC: Implement poll() using select  
							
							
							
						 
						
							2024-08-22 15:10:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								72f3fe0b12 
								
							 
						 
						
							
							
								
								LibC: Add empty files sys/param.h and sys/file.h  
							
							... 
							
							
							
							For some reason some ports include these files even when they detect
that they are not available 
							
						 
						
							2024-08-22 14:47:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								46b34817d2 
								
							 
						 
						
							
							
								
								snake: Remove random goto statements when regenerating apple's position  
							
							
							
						 
						
							2024-08-16 17:36:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								723e458bd7 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Update terminal color themes and fix TTY bright/dark  
							
							
							
						 
						
							2024-08-12 21:15:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								25a47f0df3 
								
							 
						 
						
							
							
								
								LibC: Implement ungetc()  
							
							... 
							
							
							
							I didn't really test this, but I think this implementation does what it
needs to :) 
							
						 
						
							2024-08-12 19:14:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd7b86e60 
								
							 
						 
						
							
							
								
								Terminal: Implement cursor blinking  
							
							... 
							
							
							
							This looks much nicer than the old static cursor 
							
						 
						
							2024-08-12 14:24:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								18e7cf2069 
								
							 
						 
						
							
							
								
								Terminal: Add cursor rendering  
							
							... 
							
							
							
							Cursor is now shown at the current position. It can be hidden (or shown)
with the ansi `\033[?25h` or `\033[?25l` 
							
						 
						
							2024-08-12 00:50:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60b4d90608 
								
							 
						 
						
							
							
								
								LibGUI: Add Window::get_pixel()  
							
							... 
							
							
							
							This is fine as its not reading from video memory 
							
						 
						
							2024-08-12 00:49:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5197000124 
								
							 
						 
						
							
							
								
								LibC: Fix qsort for types bigger than 64 bytes  
							
							
							
						 
						
							2024-08-11 18:00:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e79ef2a91 
								
							 
						 
						
							
							
								
								Terminal: Use pseudo terminal instead of pipes  
							
							... 
							
							
							
							Terminal can now send signals from keyboard (ctrl+c) to programs running
in the terminal! 
							
						 
						
							2024-08-11 01:02:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5a097fa4a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add initial pseudo terminal support  
							
							... 
							
							
							
							This patch implements posix_openpt() and ptsname()
grantpt() and unlockpt() are left in LibC as stubs, as posix_openpt
currently does all of the needed work. 
							
						 
						
							2024-08-11 01:02:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad645f31d0 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add setsid()  
							
							
							
						 
						
							2024-08-11 00:58:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f08d429851 
								
							 
						 
						
							
							
								
								Terminal: Add utf8 parsing for input  
							
							... 
							
							
							
							This patch adds possibility to render multibyte utf8 codepoints! 
							
						 
						
							2024-08-11 00:54:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a12bfe4639 
								
							 
						 
						
							
							
								
								LibC: Don't crash when calling tcflush()  
							
							
							
						 
						
							2024-08-09 17:03:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6cda639869 
								
							 
						 
						
							
							
								
								LibC: Add stubs for tmpfile, mktemp and fchmod  
							
							
							
						 
						
							2024-08-09 17:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2797fe116f 
								
							 
						 
						
							
							
								
								LibC: Add stubs for some functions in {dlfcn,ftw,utime,wchar}.h  
							
							
							
						 
						
							2024-08-09 17:01:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e768cd53fb 
								
							 
						 
						
							
							
								
								LibC: Add definition for SIGWINCH  
							
							... 
							
							
							
							This is actually not yet sent, but programs can install signal handlers
for it! 
							
						 
						
							2024-08-09 17:00:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								83e2ad40d6 
								
							 
						 
						
							
							
								
								LibC: Implement gai_strerror and add stubs for {get,free}addrinfo  
							
							
							
						 
						
							2024-08-09 16:59:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7ebd0699e3 
								
							 
						 
						
							
							
								
								LibC: Add _PC* definitions to unistd.h  
							
							... 
							
							
							
							These are not used for anything yet 
							
						 
						
							2024-08-09 16:58:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								46b1d4d194 
								
							 
						 
						
							
							
								
								LibC: Remove cxx abi stuff from libc  
							
							... 
							
							
							
							These will cause multiple definitions when linking with libstdc++ 
							
						 
						
							2024-08-09 16:58:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f60e265397 
								
							 
						 
						
							
							
								
								LibC: Add ldexp to math.cpp  
							
							
							
						 
						
							2024-08-09 16:57:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2e642327ea 
								
							 
						 
						
							
							
								
								LibC: Implement localeconv()  
							
							
							
						 
						
							2024-08-09 16:56:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a87ce41030 
								
							 
						 
						
							
							
								
								LibC: rename fd_set internal variable  
							
							... 
							
							
							
							binutils seems to need access to the internal type and uses this name
for lookup. 
							
						 
						
							2024-08-09 16:55:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c8cae4cc3 
								
							 
						 
						
							
							
								
								LibC: Move ioctl to <sys/ioctl.h>  
							
							... 
							
							
							
							Some ports seem to be assuming that ioctl exists there and not in
stropts.h 
							
						 
						
							2024-08-09 16:54:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c67b5e812 
								
							 
						 
						
							
							
								
								Kernel: Fix wait syscall to report status of exited children  
							
							
							
						 
						
							2024-08-09 16:52:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6fedf06150 
								
							 
						 
						
							
							
								
								LibC: Implement {sig,_,}{longjmp,setjmp}  
							
							
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91d513a672 
								
							 
						 
						
							
							
								
								2000th COMMIT: userspace: Implement basic fetch program bananfetch  
							
							... 
							
							
							
							This patch adds a obligatory fetch program to banan-os!
This program (`bananfetch`) fetches some basic information about the
operating system and the hardware its running on! 
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								44f0ec601f 
								
							 
						 
						
							
							
								
								Kernel: Expose /proc/meminfo and fix /proc/<pid>/meminfo  
							
							... 
							
							
							
							Thread was unconditionally calling <stack>->size() without validating
that the stack actually exists 
							
						 
						
							2024-08-09 15:58:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a659a9d03 
								
							 
						 
						
							
							
								
								BuildSystem: Fix enable sse definition  
							
							... 
							
							
							
							__enable_sse was never actually defined for any targets. This also adds
__arch definition for libc (so `utsname` works). 
							
						 
						
							2024-08-09 15:52:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3b23458ecc 
								
							 
						 
						
							
							
								
								LibC: Start work on locales  
							
							... 
							
							
							
							This patch adds 2 locales, POSIX locale and UTF8 locale.
functions `mbstowcs()` and `strcoll()` use locales to do convertions and
comparison respectively. 
							
						 
						
							2024-08-09 15:52:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7afdfb150f 
								
							 
						 
						
							
							
								
								LibC: Rewrite sigprocmask in terms of pthread_sigmask  
							
							... 
							
							
							
							Also don't fail SYS_SIGPROCMASK if how is invalid and set is NULL. 
							
						 
						
							2024-08-07 17:01:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe94d6cf89 
								
							 
						 
						
							
							
								
								LibC: Implement dummy rename() so vim can save files  
							
							... 
							
							
							
							vim calls rename when saving a file. This patch adds dummy
implementation that only works for regular files and does a copy instead
of proper rename. 
							
						 
						
							2024-08-05 20:16:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d96ae56ac 
								
							 
						 
						
							
							
								
								LibC: Add stubs for ungetc(), tcflush() and symlink()  
							
							
							
						 
						
							2024-08-05 01:48:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adadb10b15 
								
							 
						 
						
							
							
								
								LibC: Fix strsignal() and implement psignal()  
							
							
							
						 
						
							2024-08-05 00:59:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a749b9806e 
								
							 
						 
						
							
							
								
								LibC: Add definition for h_errno  
							
							... 
							
							
							
							Nothing uses this yet, but linking will succeed 
							
						 
						
							2024-08-05 00:58:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								615d9d4abe 
								
							 
						 
						
							
							
								
								LibC: Add INADDR_LOOPBACK  
							
							... 
							
							
							
							Some port was using this. Loopback addresses are not supported, but they
will be 127.0.0.1. 
							
						 
						
							2024-08-05 00:56:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa03274093 
								
							 
						 
						
							
							
								
								LibC: Remove O_DIRECTORY from opendir()  
							
							... 
							
							
							
							opendir() did not work on symlinks after with this flag... 
							
						 
						
							2024-08-05 00:55:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e7a06979ec 
								
							 
						 
						
							
							
								
								LibC: Implement usleep()  
							
							... 
							
							
							
							This is not a POSIX function, but some ports seem to be using it either
way 
							
						 
						
							2024-08-05 00:54:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3651306f57 
								
							 
						 
						
							
							
								
								LibC: Implement strto{u,i}max()  
							
							
							
						 
						
							2024-08-05 00:53:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dce4e6aea 
								
							 
						 
						
							
							
								
								LibC: Implement strftime()  
							
							... 
							
							
							
							I did not test this at all, this might very well be broken 
							
						 
						
							2024-08-05 00:49:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1d9041f2aa 
								
							 
						 
						
							
							
								
								LibC: make opendir() fail if path is not a directory  
							
							
							
						 
						
							2024-08-01 22:57:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a578527012 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement ioctl(TIOCGWINSZ)  
							
							... 
							
							
							
							This allows ncurses to get the window size! 
							
						 
						
							2024-08-01 22:56:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a33b63d066 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement alarm() and setitimer()  
							
							... 
							
							
							
							This makes vim able to start! 
							
						 
						
							2024-08-01 21:09:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6de350ce9d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Cleanup, fix and implement a lot of signal code  
							
							... 
							
							
							
							This patch implements sigsets and some of their usages 
							
						 
						
							2024-08-01 17:01:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								401b460d75 
								
							 
						 
						
							
							
								
								LibC: Implement setbuf() and setvbuf()  
							
							
							
						 
						
							2024-08-01 01:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c440204fa5 
								
							 
						 
						
							
							
								
								LibC: Implement dummy strcoll()  
							
							
							
						 
						
							2024-07-31 23:58:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adf50dffd8 
								
							 
						 
						
							
							
								
								LibC: Implement uname()  
							
							
							
						 
						
							2024-07-31 23:54:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20d38ed28c 
								
							 
						 
						
							
							
								
								LibC/Shell: Implement gethostname() and shell uses it for hostname  
							
							
							
						 
						
							2024-07-31 23:53:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								edc30cd71d 
								
							 
						 
						
							
							
								
								LibC: Compile without exceptions  
							
							... 
							
							
							
							This allows libc to not require __gxx_personality_v0. I can maybe add
C++ back to libc... :D I don't know why I did not research earlier what
this symbols was used for 
							
						 
						
							2024-07-31 23:33:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								10ce03a1e7 
								
							 
						 
						
							
							
								
								LibC: Implement ctime() and asctime()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fca5c774a 
								
							 
						 
						
							
							
								
								LibC: Implement umask()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fc6c39e670 
								
							 
						 
						
							
							
								
								LibC: Implement gettimeofday()  
							
							
							
						 
						
							2024-07-31 23:26:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e52dac3b25 
								
							 
						 
						
							
							
								
								LibC: Implement tmpnam()  
							
							... 
							
							
							
							This implementation is not really spec compliant as rand() does not
guarantee TMP_MAX different outputs + seeding 
							
						 
						
							2024-07-30 12:02:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								62db9a8ef3 
								
							 
						 
						
							
							
								
								LibC: Implement C++ static guards  
							
							
							
						 
						
							2024-07-30 12:02:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0be4f86a6 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement access  
							
							
							
						 
						
							2024-07-30 11:51:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5bb843059 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname  
							
							
							
						 
						
							2024-07-30 11:41:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca774dfeb5 
								
							 
						 
						
							
							
								
								LibC: Implement setlocale() for C locale  
							
							
							
						 
						
							2024-07-30 11:33:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								681d8327f5 
								
							 
						 
						
							
							
								
								LibC/Kernel: Cleanup termios code  
							
							... 
							
							
							
							This is still not correct, but much better than it used to be 
							
						 
						
							2024-07-30 11:10:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e00efca170 
								
							 
						 
						
							
							
								
								Userspace: Pprogram template and loadfont mark install as optional  
							
							
							
						 
						
							2024-07-21 17:41:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ab1214012 
								
							 
						 
						
							
							
								
								LibC: Fix _toupper and _tolower definitions  
							
							... 
							
							
							
							They were using C++ global namespace, which of course does not exist for
C targets. 
							
						 
						
							2024-07-18 01:10:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61f0043cd8 
								
							 
						 
						
							
							
								
								resolver: Fix infinite debug printing loop, if client disconnects  
							
							
							
						 
						
							2024-07-16 15:05:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5b8fdbc82d 
								
							 
						 
						
							
							
								
								LibC: Don't expose math.h in stdlib.h  
							
							
							
						 
						
							2024-07-16 12:47:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5cb4057f9 
								
							 
						 
						
							
							
								
								Kernel: Implement unified input files for device hot-plugging support  
							
							... 
							
							
							
							/dev/keyboard and /dev/mouse can be read for events from any attached
keyboard or mouse respectively. This makes device hot-plugging support
pretty much automatic for TTY, GUI, and whatever takes input. 
							
						 
						
							2024-07-15 22:11:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								442ea8a692 
								
							 
						 
						
							
							
								
								BAN: Remove Optional emplace constructor  
							
							... 
							
							
							
							This was kind breaking some initializations. Emplacing is still possible
through Optional::emplace 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a97a574718 
								
							 
						 
						
							
							
								
								Kernel: Rewrite the whole input system  
							
							... 
							
							
							
							PS/2 code is now kind of messed up, but it works. Keyboards and mice are
now an abstract class that is automatically exposed to userspace. This
will make adding USB input much nicer. 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ddab05ed3 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup userspace directory layout  
							
							... 
							
							
							
							userspace programs are now in userspace/programs
userspace tests are now in userspace/tests
This makes listing userspace projects much cleaner. Libraries were
already separated to their own directory, so other programs should also. 
							
						 
						
							2024-07-03 09:18:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dc441c4af 
								
							 
						 
						
							
							
								
								Kernel/userspace: Implement KD_LOADFONT and loadfont program  
							
							
							
						 
						
							2024-07-03 09:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d58a569660 
								
							 
						 
						
							
							
								
								WindowServer: Limit msync to 60 Hz and only sync necessary pages  
							
							... 
							
							
							
							This speeds up GUI a lot. I can now run GUI on real hardware at almost
60 Hz. 
							
						 
						
							2024-06-29 19:00:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c645ba867 
								
							 
						 
						
							
							
								
								LibGUI: Window now uses double buffering  
							
							... 
							
							
							
							This allows data in shared memory object be always up to date. With this
change window server can update lazily, and not necessarily on all
invalidate calls 
							
						 
						
							2024-06-27 00:39:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f538dd5276 
								
							 
						 
						
							
							
								
								test-tcp: Fix printing of "connection reset" when tcp connection closed  
							
							
							
						 
						
							2024-06-27 00:39:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								66905fcc08 
								
							 
						 
						
							
							
								
								http-server: Make http-server actually usable  
							
							... 
							
							
							
							http-server now implements basic static content from a specified
directory. 
							
						 
						
							2024-06-25 19:36:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af4b138094 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement realpath  
							
							... 
							
							
							
							realpath is implemented as a syscall. This is not really required but it
was the easiest way to get it working as there is already path
canonicalization at kernel level. 
							
						 
						
							2024-06-25 19:32:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								95681a7a05 
								
							 
						 
						
							
							
								
								LibImage: Cleanup bicubic calculations  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								67dfe0bcf3 
								
							 
						 
						
							
							
								
								BAN: Allow String::formatted to fail  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61aa1ea11f 
								
							 
						 
						
							
							
								
								sudo: Fix installation permissions  
							
							... 
							
							
							
							I had accudentally removed SETUID bit from sudo. This required to
elevate the permissions. 
							
						 
						
							2024-06-24 15:00:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20aa7c79d1 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files should be installed always before userpace programs are
linked. 
							
						 
						
							2024-06-22 17:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22548a3f4a 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files for userspace are now a dependency of libc, which means that
everytime libc gets installed, crt files will also install.
This fixes the problem when building libc 
							
						 
						
							2024-06-21 17:10:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e1b5cbaab 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup CMake code to allow libc only installation  
							
							... 
							
							
							
							There was no way to just install libc which is required for stdlibc++ 
							
						 
						
							2024-06-21 01:45:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1488ec5a03 
								
							 
						 
						
							
							
								
								Userspace: Implement the most basic http server  
							
							... 
							
							
							
							This server just responds with static http "hello world" to every
incoming request 
							
						 
						
							2024-06-20 13:29:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad6d95ba52 
								
							 
						 
						
							
							
								
								BuildSystem: Rework the whole cmake build system  
							
							... 
							
							
							
							Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously 
							
						 
						
							2024-06-19 09:40:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								318ce5dec8 
								
							 
						 
						
							
							
								
								All: Fix a lot of compiler warnings from header files  
							
							... 
							
							
							
							While reworking build system, header files started to report warnings. 
							
						 
						
							2024-06-18 23:02:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c69919738b 
								
							 
						 
						
							
							
								
								BuildSystem: Move all userpace libraries under the userspace directory  
							
							... 
							
							
							
							As the number of libraries is increasing, root directory starts to
expand. This adds better organization for libraries 
							
						 
						
							2024-06-18 13:14:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aaf7a249c6 
								
							 
						 
						
							
							
								
								image: Add nicer error message if image could not be parsed  
							
							
							
						 
						
							2024-06-17 22:58:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dd64e2060e 
								
							 
						 
						
							
							
								
								WindowServer: Add support for background images  
							
							... 
							
							
							
							WindowServer now looks in _$HOME/.config/WindowServer.conf_ for a
configuration file that can specify a background image.
Also add default background image /usr/share/images/sample.ppm to the
base sysroot provided in the git repo. 
							
						 
						
							2024-06-16 00:28:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								157e05f57c 
								
							 
						 
						
							
							
								
								image: Implement --scale argument to scale image to framebuffer  
							
							... 
							
							
							
							Also fix bug where red and blue channels were flipped 
							
						 
						
							2024-06-15 17:24:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								672ce40618 
								
							 
						 
						
							
							
								
								LibImage: Move userspace image parsing to its own library  
							
							... 
							
							
							
							The image utility now uses this tool instead of parsing images on its
own. 
							
						 
						
							2024-06-14 11:05:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a9b0bfa740 
								
							 
						 
						
							
							
								
								LibC: Make ino_t always 64 bit  
							
							
							
						 
						
							2024-06-14 00:18:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								843a6851c4 
								
							 
						 
						
							
							
								
								Userspace: Start work on a terminal emulator  
							
							... 
							
							
							
							Terminal is still missing some ANSI codes, cursor and pseudo terminal
support.
Shell's builtin start-gui now launches a Terminal instead of test
windows. 
							
						 
						
							2024-06-03 18:04:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								234051d6bc 
								
							 
						 
						
							
							
								
								Shell: Optimize drawing characters at the end of a command  
							
							
							
						 
						
							2024-06-03 18:03:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								981c0eb8bc 
								
							 
						 
						
							
							
								
								Shell: Only set terminal properties if STDIN is a TTY  
							
							
							
						 
						
							2024-06-03 18:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6346d1b6c7 
								
							 
						 
						
							
							
								
								Shell: Add builtin command for starting window server and test windows  
							
							
							
						 
						
							2024-06-02 17:27:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								05ee242b80 
								
							 
						 
						
							
							
								
								WindowServer: Add window title to title bar and send close events  
							
							
							
						 
						
							2024-06-02 17:27:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ae3ae6fd0e 
								
							 
						 
						
							
							
								
								WindowServer: Fix partial invalidation over cursor  
							
							
							
						 
						
							2024-05-31 03:20:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								011a5f57e1 
								
							 
						 
						
							
							
								
								WindowServer: Add title bars and clean up code  
							
							
							
						 
						
							2024-05-31 03:02:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c2b6ba0d5a 
								
							 
						 
						
							
							
								
								Userspace: Start work on GUI and WindowServer  
							
							... 
							
							
							
							Current implementation can create custom windows and each window has
its own framebuffer. When window wants to write its framebuffer to the
screen it will send a message to the WindowServer using unix sockets. 
							
						 
						
							2024-05-29 16:00:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8bc6c2eb20 
								
							 
						 
						
							
							
								
								Kernel: Move KeyEvent/MouseEvent from kernel to LibInput  
							
							
							
						 
						
							2024-05-28 23:30:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc2cc2849e 
								
							 
						 
						
							
							
								
								Whoami: Rewrite whoami using getlogin  
							
							
							
						 
						
							2024-05-23 15:44:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								06f4b0b29a 
								
							 
						 
						
							
							
								
								BAN: Make String and StringView header only  
							
							... 
							
							
							
							This allows linking with libc without having to link ban 
							
						 
						
							2024-05-23 15:43:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								967f9a9174 
								
							 
						 
						
							
							
								
								Shell: Ignore tab as that just fucks up formatting  
							
							
							
						 
						
							2024-05-07 14:16:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								414f0f6cd9 
								
							 
						 
						
							
							
								
								Userspace: Don't link with libc  
							
							... 
							
							
							
							This fixes bug where sometimes cmake does not find libc from sysroot
LibC is linked per program in its own CMakeLists.txt 
							
						 
						
							2024-04-03 14:46:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dbe51a52e 
								
							 
						 
						
							
							
								
								Userspace: Update printf formats to compile on 32 bit  
							
							
							
						 
						
							2024-03-26 03:03:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7f5c850744 
								
							 
						 
						
							
							
								
								Userspace: Add us keymap and make it default  
							
							
							
						 
						
							2024-03-19 12:30:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b979023b9d 
								
							 
						 
						
							
							
								
								Shell: Add test cases for stroul and strod in builtin `test-strtox`  
							
							
							
						 
						
							2024-02-16 15:35:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c469d9b3ff 
								
							 
						 
						
							
							
								
								Shell: Add builtin test for strtol `test-strtol`  
							
							
							
						 
						
							2024-02-14 22:38:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1f467580ee 
								
							 
						 
						
							
							
								
								Userspace: Add test for popen  
							
							
							
						 
						
							2024-02-14 17:23:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7eb5d220fd 
								
							 
						 
						
							
							
								
								Userspace: Implement getopt for testing libc getopt()  
							
							
							
						 
						
							2024-02-14 15:01:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								420a7b60ca 
								
							 
						 
						
							
							
								
								resolver: use select for client communication  
							
							
							
						 
						
							2024-02-12 23:47:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ccde8148a7 
								
							 
						 
						
							
							
								
								Userspace: Implement basic udp test program  
							
							
							
						 
						
							2024-02-12 04:45:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b9bbf42538 
								
							 
						 
						
							
							
								
								Userspace: Implement basic test program for tcp connection  
							
							
							
						 
						
							2024-02-12 04:45:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f117027175 
								
							 
						 
						
							
							
								
								resolver: dump errors to debug output  
							
							
							
						 
						
							2024-02-08 18:34:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5a939cf252 
								
							 
						 
						
							
							
								
								Userspace: Add simple test for unix domain sockets  
							
							
							
						 
						
							2024-02-08 13:18:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								065ee9004c 
								
							 
						 
						
							
							
								
								Userspace: Add DNS cache to resolver  
							
							... 
							
							
							
							Also the format of resolver reply is now just sockaddr_storage with
family set and address in the storage field. 
							
						 
						
							2024-02-08 12:06:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2424f38a62 
								
							 
						 
						
							
							
								
								Userspace: Implement super simple DNS resolver in userspace  
							
							... 
							
							
							
							You connect to this service using unix domain sockets and send the
asked domain name. It will respond with ip address or 'unavailable'
There is no DNS cache implemented so all calls ask the nameserver. 
							
						 
						
							2024-02-08 03:14:00 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								40e341b0ee 
								
							 
						 
						
							
							
								
								BAN: Remove unstable hash map and set  
							
							... 
							
							
							
							These can now be implemented safely with new linked list api 
							
						 
						
							2024-02-06 17:35:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f804e87f7d 
								
							 
						 
						
							
							
								
								Kernel: Implement basic gateway for network interfaces  
							
							
							
						 
						
							2024-02-05 18:18:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b2291ce162 
								
							 
						 
						
							
							
								
								Kernel/BAN: Fix network strucute endianness  
							
							
							
						 
						
							2024-02-05 18:18:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								89805fb092 
								
							 
						 
						
							
							
								
								dhcp-client: Use dprintln for debug printing  
							
							
							
						 
						
							2024-02-05 01:24:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								692cec8458 
								
							 
						 
						
							
							
								
								Kernel/Userspace/LibC: Implement basic dprintln for userspace  
							
							
							
						 
						
							2024-02-05 01:24:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								79897e77dc 
								
							 
						 
						
							
							
								
								dhcp-client: Remove packet send test :D  
							
							
							
						 
						
							2024-02-03 18:04:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2138eeb87f 
								
							 
						 
						
							
							
								
								Userspace: Implement super simple DHCP client  
							
							
							
						 
						
							2024-02-03 02:41:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7cb71ec6fb 
								
							 
						 
						
							
							
								
								test-sort: Test more algorithms and cleanup output format  
							
							
							
						 
						
							2024-02-01 15:22:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9213dd13bc 
								
							 
						 
						
							
							
								
								dd: Improve output format  
							
							... 
							
							
							
							Include written bytes and speed with units 
							
						 
						
							2024-02-01 00:06:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								210b24b6e3 
								
							 
						 
						
							
							
								
								AOC2023: Delete file that should not be committed...  
							
							
							
						 
						
							2024-01-24 15:53:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dfe5a2d665 
								
							 
						 
						
							
							
								
								All: Cleanup all files  
							
							... 
							
							
							
							Add newline to end of files and remove whitespace from end of lines 
							
						 
						
							2024-01-24 15:53:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64a63fa4be 
								
							 
						 
						
							
							
								
								Userspace: Add loadkeys program to change keymap  
							
							
							
						 
						
							2024-01-10 14:57:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51214ea1bf 
								
							 
						 
						
							
							
								
								Kernel: Add load_keymap syscall and load Finnish keymap in init  
							
							
							
						 
						
							2024-01-10 14:46:29 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								40f55be587 
								
							 
						 
						
							
							
								
								Userspace: Write simple mouse test program  
							
							... 
							
							
							
							This program draws circle on framebuffer, that you can move with
mouse, resize with scroll, and recolor with mouse buttons. 
							
						 
						
							2024-01-04 19:50:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								753de3d9f0 
								
							 
						 
						
							
							
								
								ls: Write group name instead of gid in list mode  
							
							
							
						 
						
							2024-01-03 00:15:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd33e76e5 
								
							 
						 
						
							
							
								
								cat/cat-mmap: print newline if file doesn't end in one  
							
							
							
						 
						
							2024-01-02 23:27:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96d831c31a 
								
							 
						 
						
							
							
								
								Kernel/LibC/Userspace: Implement chown and set tty owner on login  
							
							
							
						 
						
							2024-01-02 22:19:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8b5e437936 
								
							 
						 
						
							
							
								
								AOC2023: Implement day25 part1  
							
							... 
							
							
							
							7 starts missing + partly broken day22. I might finish these soon... 
							
						 
						
							2023-12-26 20:04:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d87fa1a7ea 
								
							 
						 
						
							
							
								
								AOC2023: Implement day24 part1  
							
							
							
						 
						
							2023-12-26 14:10:49 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								910a57089b 
								
							 
						 
						
							
							
								
								AOC2023: Implement day23 part1  
							
							... 
							
							
							
							My day22 implementation is off by couple of bricks... 
							
						 
						
							2023-12-26 00:56:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36590fb5c7 
								
							 
						 
						
							
							
								
								AOC2023: Implement day21 part1  
							
							
							
						 
						
							2023-12-24 14:58:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ce990c3026 
								
							 
						 
						
							
							
								
								AOC2023: Implement day20 part1  
							
							
							
						 
						
							2023-12-24 13:39:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4146f2777b 
								
							 
						 
						
							
							
								
								AOC2023: Implement 10 hour solution to day19 part2  
							
							
							
						 
						
							2023-12-23 20:53:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64323c51e6 
								
							 
						 
						
							
							
								
								AOC2023: Implement day19 part 1  
							
							
							
						 
						
							2023-12-23 18:47:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a0200a7b10 
								
							 
						 
						
							
							
								
								AOC2023: Implement day18 part 1  
							
							
							
						 
						
							2023-12-23 18:47:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8add759b5d 
								
							 
						 
						
							
							
								
								AOC2023: Implement day17 part1  
							
							
							
						 
						
							2023-12-23 18:46:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2faf90bc2b 
								
							 
						 
						
							
							
								
								AOC2023: Add script to create day template and download input  
							
							
							
						 
						
							2023-12-23 18:46:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								762d575d70 
								
							 
						 
						
							
							
								
								AOC2023: Add program to run all days  
							
							
							
						 
						
							2023-12-23 18:45:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3b21cc90ae 
								
							 
						 
						
							
							
								
								AOC2023: Add helper for downloading puzzle input  
							
							
							
						 
						
							2023-12-19 22:22:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4e900804b8 
								
							 
						 
						
							
							
								
								AOC2023: Implement day16  
							
							
							
						 
						
							2023-12-19 22:22:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9ec733904f 
								
							 
						 
						
							
							
								
								AOC2023: Implement day15  
							
							
							
						 
						
							2023-12-19 21:42:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f46240e879 
								
							 
						 
						
							
							
								
								AOC2023: Implement day14  
							
							
							
						 
						
							2023-12-19 02:49:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								68627995f8 
								
							 
						 
						
							
							
								
								AOC2023: Implement day13  
							
							
							
						 
						
							2023-12-19 01:25:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d273c5e77c 
								
							 
						 
						
							
							
								
								rm: Use remove instead of unlink for removing files  
							
							
							
						 
						
							2023-12-14 11:03:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8344f2f9ab 
								
							 
						 
						
							
							
								
								AOC2023: Fix day3 implementation  
							
							... 
							
							
							
							I accidently broke my day3 when messing with signed/unsigned integers 
							
						 
						
							2023-12-14 11:03:19 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								862993398d 
								
							 
						 
						
							
							
								
								AOC2023: Implement day12  
							
							... 
							
							
							
							There seems to be a problem with my malloc so the hash map is not
working. This code worked fine on my linux with actually working
malloc :D 
							
						 
						
							2023-12-14 10:51:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								225c7c6ab4 
								
							 
						 
						
							
							
								
								AOC2023: Implement day11  
							
							
							
						 
						
							2023-12-11 14:36:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								58633ca373 
								
							 
						 
						
							
							
								
								AOC2023: Remove unnecessary loop  
							
							
							
						 
						
							2023-12-10 20:18:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								00d57d783e 
								
							 
						 
						
							
							
								
								LibC+userspace: Make everything compile with -Wall -Wextra -Werror  
							
							... 
							
							
							
							I added -Wall -Wextra -Werror as public compile flags to libc. Now
everything in userspace in compiled using these flags. I made all
necessary changes to allow compilation to work.
Only exception is execvp which has a large stack usage. Maybe it
should use malloc for the buffer but posix allows ENOMEM only when
kernel is out of memory... This can be fixed when fexecve is
implemented and there is no need for absolute path. 
							
						 
						
							2023-12-10 19:20:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f077e17b2a 
								
							 
						 
						
							
							
								
								AOC2023: Implement day10  
							
							
							
						 
						
							2023-12-10 18:28:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6bfbbf655 
								
							 
						 
						
							
							
								
								ls: Rewrite whole program for cleaner output  
							
							... 
							
							
							
							ls -l now sorts elements and aligns them by columns. 
							
						 
						
							2023-12-10 01:05:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c273bf98c9 
								
							 
						 
						
							
							
								
								ls+stat: show setuid, setgid and sticky bits  
							
							
							
						 
						
							2023-12-09 19:43:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								99a5b6e2ef 
								
							 
						 
						
							
							
								
								AOC2023: Cleanup day9 code  
							
							... 
							
							
							
							Move tree building to its own function. Both parts can use the same
tree. This also decreaseas memory usage by one element by row :D 
							
						 
						
							2023-12-09 19:08:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c3e5980d6 
								
							 
						 
						
							
							
								
								AOC2023: Implement day9  
							
							
							
						 
						
							2023-12-09 16:22:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b927b9729 
								
							 
						 
						
							
							
								
								BAN: Restructure sort functions and namespaces  
							
							
							
						 
						
							2023-12-08 18:58:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b523ccb893 
								
							 
						 
						
							
							
								
								AOC2023: Implement day8  
							
							... 
							
							
							
							Second part was kinda weird. You are supposted to assume something
of the input, which necessarily is not true. 
							
						 
						
							2023-12-08 17:13:20 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7bb3172591 
								
							 
						 
						
							
							
								
								AOC2023: Use the default sort algorithm  
							
							
							
						 
						
							2023-12-08 00:10:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3bc7113cc5 
								
							 
						 
						
							
							
								
								sudo: fix some typos  
							
							
							
						 
						
							2023-12-07 14:05:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								24243268a6 
								
							 
						 
						
							
							
								
								Shell: do path resolution only if command doesn't contain '/'  
							
							
							
						 
						
							2023-12-07 13:34:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								669d55707e 
								
							 
						 
						
							
							
								
								AOC2023: Use quick sort in solution  
							
							
							
						 
						
							2023-12-07 11:55:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6caa9b6f95 
								
							 
						 
						
							
							
								
								BAN: implement quick sort and test for it  
							
							
							
						 
						
							2023-12-07 11:55:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								43458cc74f 
								
							 
						 
						
							
							
								
								BAN: implement exchange sort and test for it  
							
							
							
						 
						
							2023-12-07 11:55:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								536bb74d53 
								
							 
						 
						
							
							
								
								AOC2023: optimize hand score calculation  
							
							
							
						 
						
							2023-12-07 09:26:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								efd8be8207 
								
							 
						 
						
							
							
								
								AOC2023: implement day7  
							
							
							
						 
						
							2023-12-07 07:56:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								06a84da844 
								
							 
						 
						
							
							
								
								Userspace: Implement barebones sudo  
							
							... 
							
							
							
							This doesn't do any password checking or anything. Just sets uid and
gid before execvp() 
							
						 
						
							2023-12-06 18:15:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ff8b3be8dc 
								
							 
						 
						
							
							
								
								Userspace: implement basic sleep command  
							
							
							
						 
						
							2023-12-06 13:05:53 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56008869d6 
								
							 
						 
						
							
							
								
								Shell: Handle keyboard input that was interrupted by signal  
							
							
							
						 
						
							2023-12-06 13:04:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								531211e09d 
								
							 
						 
						
							
							
								
								AOC2023: implement day6  
							
							
							
						 
						
							2023-12-06 07:27:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82cb2ea20b 
								
							 
						 
						
							
							
								
								AOC2023: implement day5  
							
							
							
						 
						
							2023-12-05 09:13:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								622007f2ee 
								
							 
						 
						
							
							
								
								Shell: Verify that command exists before executing it  
							
							... 
							
							
							
							This prevents page fault somewhere when executing non-existing
commands. 
							
						 
						
							2023-12-04 22:57:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf76d2e7d9 
								
							 
						 
						
							
							
								
								AOC2023: remove unnecessary loop  
							
							
							
						 
						
							2023-12-04 17:54:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								41f8974080 
								
							 
						 
						
							
							
								
								AOC2023: implement day4  
							
							
							
						 
						
							2023-12-04 17:51:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ed25425a3 
								
							 
						 
						
							
							
								
								AOC2023: implement day3  
							
							... 
							
							
							
							Solution to second puzzle is not optimal, it definately should be
O(1) space, but I didn't want to think about it. 
							
						 
						
							2023-12-03 17:07:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								49f8c4268f 
								
							 
						 
						
							
							
								
								AOC2023: implement day2  
							
							
							
						 
						
							2023-12-02 16:10:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								70c224d8ea 
								
							 
						 
						
							
							
								
								AOC2023: Cleanup day1 code  
							
							
							
						 
						
							2023-12-01 13:31:55 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6a7335e5c9 
								
							 
						 
						
							
							
								
								AOC2023: implement day1  
							
							
							
						 
						
							2023-12-01 12:38:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3aaa755c51 
								
							 
						 
						
							
							
								
								AOC2023: update buildsystem  
							
							
							
						 
						
							2023-12-01 12:38:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dabd79afa7 
								
							 
						 
						
							
							
								
								Userspace: Prepare aoc2023 environment :)  
							
							
							
						 
						
							2023-12-01 01:22:53 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6ccb1bbbf9 
								
							 
						 
						
							
							
								
								init: set default termios on every username prompt  
							
							... 
							
							
							
							Before if e.g. Shell crashed init would have broken termios 
							
						 
						
							2023-12-01 01:22:53 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8564b59e14 
								
							 
						 
						
							
							
								
								image: Remove inheritance from Netbpm  
							
							... 
							
							
							
							This inheritance made no sense 
							
						 
						
							2023-11-29 20:56:05 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								327b330338 
								
							 
						 
						
							
							
								
								Kernel: Make internal framebuffer bpp constexpr defined in libc  
							
							
							
						 
						
							2023-11-29 20:07:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7090388c70 
								
							 
						 
						
							
							
								
								cp: allow copying all files except directories  
							
							... 
							
							
							
							The old condition seemed odd. This allows taking screen shots by
copying the /dev/fb0. 
							
						 
						
							2023-11-29 16:13:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ff550785a7 
								
							 
						 
						
							
							
								
								Userspace: Implement basic image rendering for Netbpm  
							
							... 
							
							
							
							You can now render Netbpm (P6) format image to framebuffer using
`image` command. I added basic test image to
/usr/share/images/sample.ppm 
							
						 
						
							2023-11-29 16:11:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								056586486d 
								
							 
						 
						
							
							
								
								Shell: make clear use \e[2J instead of \e[J  
							
							... 
							
							
							
							This makes kernel to actually clear the full screen. If framebuffer
did not fit font exactly last row would be left partially uncleared 
							
						 
						
							2023-11-28 23:55:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								42a1d26d5b 
								
							 
						 
						
							
							
								
								Userspace: Implement basic test for framebuffer mmap  
							
							
							
						 
						
							2023-11-28 23:52:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4c3da66c92 
								
							 
						 
						
							
							
								
								mmap-shared-test: Add test case for msync  
							
							
							
						 
						
							2023-11-22 22:45:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bfe6d60e9e 
								
							 
						 
						
							
							
								
								ls: print link targets when listing files  
							
							
							
						 
						
							2023-11-11 23:17:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								613d6640fe 
								
							 
						 
						
							
							
								
								meminfo: better format for files without permissions  
							
							
							
						 
						
							2023-11-07 02:41:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f6c312a6b3 
								
							 
						 
						
							
							
								
								BuildSystem: using sysroot doesn't need root privileges anymore!  
							
							... 
							
							
							
							Sysroot is now created with fakeroot. This allows root access to be
only needed for disk image creation, since it uses loopback devices. 
							
						 
						
							2023-11-04 17:50:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a63006afaf 
								
							 
						 
						
							
							
								
								Userspace: Add quick test for global ctors and dtors  
							
							
							
						 
						
							2023-10-30 11:11:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ea0d7156a4 
								
							 
						 
						
							
							
								
								rm: add option to remove recursively  
							
							
							
						 
						
							2023-10-26 02:32:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								81228d3401 
								
							 
						 
						
							
							
								
								Userspace: implement basic rm command  
							
							
							
						 
						
							2023-10-25 21:45:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6ee4d10651 
								
							 
						 
						
							
							
								
								Kernel/LibC/Userspace: Implement mkdir and creat  
							
							... 
							
							
							
							Touch now uses creat insteadd of open with O_CREAT flag 
							
						 
						
							2023-10-25 21:07:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c445ea6266 
								
							 
						 
						
							
							
								
								cp: abort copy if write fails  
							
							
							
						 
						
							2023-10-25 02:43:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e685f38fd1 
								
							 
						 
						
							
							
								
								Userspace: Add basic chmod command  
							
							
							
						 
						
							2023-10-25 02:37:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								657f95d3f0 
								
							 
						 
						
							
							
								
								Userspace: Implement basic cp  
							
							... 
							
							
							
							This does not support any meaningful command line arguments but
is a good start. 
							
						 
						
							2023-10-25 00:07:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								07f8c972b3 
								
							 
						 
						
							
							
								
								Shell: Set get old termios earlier  
							
							... 
							
							
							
							I sourced the config file before getting old termios. Sourcing
updated the termios so old_termios was always in non canonical, non
echoing mode. 
							
						 
						
							2023-10-24 19:10:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f6ccbfa04 
								
							 
						 
						
							
							
								
								meminfo: fix g++ warning for oob write  
							
							... 
							
							
							
							g++ doesn't realize that read can only return -1 
							
						 
						
							2023-10-24 16:50:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8c792f9c6d 
								
							 
						 
						
							
							
								
								Shell: Fix parsing $ with unknown character  
							
							
							
						 
						
							2023-10-12 22:24:27 +03:00  
				
					
						
							
							
								 
						
							
								bc4d272c4f 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								57605c2b3e 
								
							 
						 
						
							
							
								
								meminfo: Print allocated physical memory percentage  
							
							
							
						 
						
							2023-10-03 10:39:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cd99631e1 
								
							 
						 
						
							
							
								
								Shell: source $HOME/.shellrc if found on Shell startup  
							
							
							
						 
						
							2023-10-03 10:39:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f67ed9a66e 
								
							 
						 
						
							
							
								
								Shell: Implement sourcing scripts  
							
							
							
						 
						
							2023-10-03 10:24:10 +03:00  
				
					
						
							
							
								 
						
							
								6c11dac113 
								
							 
						 
						
							
							
								
								meminfo: Add process command line to the output  
							
							
							
						 
						
							2023-09-30 23:17:31 +03:00  
				
					
						
							
							
								 
						
							
								5ee3506474 
								
							 
						 
						
							
							
								
								Kernel: Add physical memory info to /proc/{pid}/meminfo  
							
							
							
						 
						
							2023-09-30 22:11:45 +03:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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