Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								95fc894303 
								
							 
						 
						
							
							
								
								LibC: fix fgets when reading empty line  
							
							 
							
							
							
						 
						
							2023-12-05 07:46:14 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								327b330338 
								
							 
						 
						
							
							
								
								Kernel: Make internal framebuffer bpp constexpr defined in libc  
							
							 
							
							
							
						 
						
							2023-11-29 20:07:33 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								d86ecf4f61 
								
							 
						 
						
							
							
								
								Kernel: Reading from negative offset in fb dev gives out info  
							
							 
							
							
							
						 
						
							2023-11-28 23:50:11 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								09b7cb2f33 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pread()  
							
							 
							
							
							
						 
						
							2023-11-28 23:47:30 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								60e755210c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement very basic msync  
							
							 
							
							
							
						 
						
							2023-11-22 22:44:06 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								c084ce8b01 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement readlink and readlinkat  
							
							 
							
							
							
						 
						
							2023-11-11 23:16:52 +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 
							
						 
						
							 
							
							
							
							
								
							
							
								7c6832cee4 
								
							 
						 
						
							
							
								
								LibC: implement and call __cxa_finalize() on exit()  
							
							 
							
							... 
							
							
							
							This allows global destructors to be actually called 
							
						 
						
							2023-10-30 11:10:08 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								0b5fcb3f88 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add crt* files to LibC and remove crt0 from kernel  
							
							 
							
							... 
							
							
							
							There was no reason for libc get crt0 from kernel. 
							
						 
						
							2023-10-30 11:06:13 +02:00  
						
					 
				
					
						
							
							
								
								Bananymous 
							
						 
						
							 
							
							
							
							
								
							
							
								87ff38664a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add syscall and wrapper for unlink  
							
							 
							
							
							
						 
						
							2023-10-25 21:45:04 +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 
							
						 
						
							 
							
							
							
							
								
							
							
								627b8cc140 
								
							 
						 
						
							
							
								
								Kernel/LibC: implement chmod syscall + libc wrapper  
							
							 
							
							
							
						 
						
							2023-10-25 02:35:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5ee3506474 
								
							 
						 
						
							
							
								
								Kernel: Add physical memory info to /proc/{pid}/meminfo  
							
							 
							
							
							
						 
						
							2023-09-30 22:11:45 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								785de5f9b9 
								
							 
						 
						
							
							
								
								Kernel: /proc/{pid}/meminfo now reports per process memory usage  
							
							 
							
							
							
						 
						
							2023-09-30 21:20:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d7a00e8cc2 
								
							 
						 
						
							
							
								
								LibC: Implement stpcpy since gcc seems to need it  
							
							 
							
							... 
							
							
							
							gcc seems to optimize some calls to strcpy to stpcpy 
							
						 
						
							2023-09-30 20:58:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9f0797047f 
								
							 
						 
						
							
							
								
								Kernel/LibC: dirent now contains file type  
							
							 
							
							
							
						 
						
							2023-09-30 20:46:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								23f429e23b 
								
							 
						 
						
							
							
								
								LibC: Fix mmap()  
							
							 
							
							... 
							
							
							
							mmap() did not pass fildes to the syscall structure. 
							
						 
						
							2023-09-29 17:24:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								48096b18c2 
								
							 
						 
						
							
							
								
								LibC: mmap returns MAP_FAILED instead of NULL  
							
							 
							
							
							
						 
						
							2023-09-29 10:38:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								15cd59b8ce 
								
							 
						 
						
							
							
								
								LibC: Fix a bug in malloc  
							
							 
							
							... 
							
							
							
							You could not allocate with size equal to one of the pool sizes. 
							
						 
						
							2023-09-28 21:05:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1abf787596 
								
							 
						 
						
							
							
								
								LibC: Add errno for unknown error  
							
							 
							
							
							
						 
						
							2023-09-28 12:06:17 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								61694268e2 
								
							 
						 
						
							
							
								
								LibC: Implement length modifiers to printf  
							
							 
							
							
							
						 
						
							2023-09-28 11:42:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cb76f1ea75 
								
							 
						 
						
							
							
								
								Kernel: Add some functionality to disable TTY input/output  
							
							 
							
							... 
							
							
							
							Userspace programs can call tty_ctrl() to disable/enable tty from
handling input and displaying output.
This API is probably going to change in the future to ioctl calls
but I'm not sure how ioctl is used and what functionality should it
have. I decided to create whole new function and syscall for now.
Next I will expose framebuffer in /dev/fb0 and then I can start work
on graphical environment! :D 
							
						 
						
							2023-09-27 15:44:05 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a69e5fb288 
								
							 
						 
						
							
							
								
								LibC: add syncsync() to unistd.h  
							
							 
							
							... 
							
							
							
							This is my own WELL NAMED (:D) function that takes a paramemeter
to make the sync operation synchronous. 
							
						 
						
							2023-09-27 00:35:36 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7a7c5e433e 
								
							 
						 
						
							
							
								
								Kernel/LibC: add flag to enable/disable sse support  
							
							 
							
							... 
							
							
							
							SSE support is very experimental and causes GP. I decided to make
SSE not default until I get to fixing it :) 
							
						 
						
							2023-09-23 02:28:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6bb2c80bdd 
								
							 
						 
						
							
							
								
								Kernel/LibC: userspace malloc now uses mmap to get memory  
							
							 
							
							... 
							
							
							
							We could remove syscalls to allocate more memory. This was not
something the kernel should have done. 
							
						 
						
							2023-09-23 02:26:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								af4af1cae9 
								
							 
						 
						
							
							
								
								Kernel/LibC: add mmap for private anonymous mappings  
							
							 
							
							... 
							
							
							
							This will be used by the userspace to get more memory. Currently
kernel handles all allocations, which is not preferable. 
							
						 
						
							2023-09-22 23:01:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								921d95d18f 
								
							 
						 
						
							
							
								
								All: Clear lines with only whitspace in them  
							
							 
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								39a5c52088 
								
							 
						 
						
							
							
								
								Kernel: Fix directory permissions  
							
							 
							
							... 
							
							
							
							We did not care about X bit in directories and instead used only the
R bit for search/read. 
							
						 
						
							2023-09-08 11:46:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5972c73950 
								
							 
						 
						
							
							
								
								LibC: fix fread implementation  
							
							 
							
							... 
							
							
							
							fread() should read until either size*nitems bytes are read or eof
is reached. 
							
						 
						
							2023-09-07 16:00:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7184514b5d 
								
							 
						 
						
							
							
								
								LibC: add time() implementation  
							
							 
							
							
							
						 
						
							2023-09-04 13:52:58 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								dfb18d38f7 
								
							 
						 
						
							
							
								
								LibC: Add rand() and srand() implementation  
							
							 
							
							... 
							
							
							
							This code is from the wikipedia page for Permuted congruential generator 
							
						 
						
							2023-09-04 13:52:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9901f95d78 
								
							 
						 
						
							
							
								
								Kernel: Add basic nanosleep, only millisecond percision  
							
							 
							
							
							
						 
						
							2023-09-04 12:59:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6f002c926a 
								
							 
						 
						
							
							
								
								Kernel: add basic fcntl() with couple of commands and no validation  
							
							 
							
							
							
						 
						
							2023-09-04 12:57:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8032824054 
								
							 
						 
						
							
							
								
								BuildSystem: use -a with rsync  
							
							 
							
							... 
							
							
							
							This allows cmake to not rebuild whole project every time 
							
						 
						
							2023-08-28 11:38:17 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7aaea786c2 
								
							 
						 
						
							
							
								
								LibC: Don't undef needed values in inttypes.h  
							
							 
							
							
							
						 
						
							2023-08-24 15:48:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								60a2185ee6 
								
							 
						 
						
							
							
								
								Kernel/LibC: implement proper getpgid and setpgid  
							
							 
							
							
							
						 
						
							2023-08-22 14:53:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c9243f0d1e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add {get,set}pgrp()  
							
							 
							
							
							
						 
						
							2023-08-22 11:36:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b5a7246ba7 
								
							 
						 
						
							
							
								
								LibC: make printf buffer only 128 bytes  
							
							 
							
							... 
							
							
							
							Only reason for it to be big is if you want super large zero padding
for your number. This will eventually be handled without the buffer. 
							
						 
						
							2023-08-18 16:49:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0abe30af38 
								
							 
						 
						
							
							
								
								BuildSystem: only apply stack usage warning to libc  
							
							 
							
							
							
						 
						
							2023-08-17 20:49:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								85c6149138 
								
							 
						 
						
							
							
								
								LibC: add fileno() and fdopen()  
							
							 
							
							... 
							
							
							
							fdopen() doesn't currently care about mode and will have same mode
as the underlying file descriptor. 
							
						 
						
							2023-08-17 12:03:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								79f3aa5419 
								
							 
						 
						
							
							
								
								Kernel/LibC: add dup() syscall and function  
							
							 
							
							
							
						 
						
							2023-08-17 12:03:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								569e76a848 
								
							 
						 
						
							
							
								
								LibC: printf handles nan and inf  
							
							 
							
							
							
						 
						
							2023-08-16 10:49:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3a36c30e80 
								
							 
						 
						
							
							
								
								LibC: math.h defines is*() macros and uses builtins for values  
							
							 
							
							
							
						 
						
							2023-08-16 10:41:55 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9ab7e76a3b 
								
							 
						 
						
							
							
								
								LibC: cleanup fstatat  
							
							 
							
							
							
						 
						
							2023-08-11 12:25:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9cb50cba33 
								
							 
						 
						
							
							
								
								LibC: Fix S_IF* macros and add macros for access/type masks  
							
							 
							
							
							
						 
						
							2023-08-11 10:30:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e715d52f80 
								
							 
						 
						
							
							
								
								LibC: fix typo  
							
							 
							
							
							
						 
						
							2023-08-02 22:10:12 +03:00