Bananymous 
							
						 
						
							
								775c77c0fa 
								
							 
						 
						
							
							
								
								Shell: Get default backspace key from c_cc[VERASE]  
							
							
							
						 
						
							2025-06-02 15:55:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb466b5af7 
								
							 
						 
						
							
							
								
								Kernel: use termios c_cc values instead of hardcoded characters  
							
							
							
						 
						
							2025-06-02 15:54:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e473118ec8 
								
							 
						 
						
							
							
								
								userspace: Add nologin "shell"  
							
							
							
						 
						
							2025-06-02 12:26:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								755d41ca4e 
								
							 
						 
						
							
							
								
								LibC: Add pw_passwd and pw_gecos to passwd structure  
							
							... 
							
							
							
							This information is available in /etc/passwd either way so why not
expose it to the user. Practically all UNIX-likes have these either way 
							
						 
						
							2025-06-02 12:23:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bbff9f89b0 
								
							 
						 
						
							
							
								
								BuildSystem: Don't invoke ninja directly, but use cmake --build  
							
							
							
						 
						
							2025-06-02 11:45:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdcb38ac1f 
								
							 
						 
						
							
							
								
								Shell: Accept '\r' as enter  
							
							... 
							
							
							
							This happens with some terminals and i don't want to bother with fixing
my termios :D 
							
						 
						
							2025-06-02 11:42:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fac742c038 
								
							 
						 
						
							
							
								
								test-sort: Add qsort test  
							
							
							
						 
						
							2025-06-02 11:41:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5a6b43fc90 
								
							 
						 
						
							
							
								
								LibC: Remove debug printing from getnameinfo  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								317f413746 
								
							 
						 
						
							
							
								
								LibC: Implement very hacky posix_memalign  
							
							... 
							
							
							
							I did not even test this and i know the code is super hacky. I could not
bother with writing proper code for this xD 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								895909b7fa 
								
							 
						 
						
							
							
								
								LibC: Add CMSG_* definitions to sys/socket.h  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2ee8b6c8b4 
								
							 
						 
						
							
							
								
								LibC: Add more definitions to netinet/in.h  
							
							... 
							
							
							
							These are non-standard but a lot of UNIX-likes have them networking
software attempts to use them 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								022bb69782 
								
							 
						 
						
							
							
								
								LibC: Implement inet_aton  
							
							... 
							
							
							
							This is not POSIX but IMO it makes sense to have the counter part to
inet_ntoa 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								be6da3e0db 
								
							 
						 
						
							
							
								
								BuildSystem: Compile gcc with threading support  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1f07e02298 
								
							 
						 
						
							
							
								
								BuildSystem: Fix cmake toolchain file processor  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7a645b8555 
								
							 
						 
						
							
							
								
								Kernel: Add SMP message StackTrace  
							
							... 
							
							
							
							This event is sent when user presses ctrl+{F1-F12} and it will dump the
corresponding processor's stack trace. This is really helpful for
detecting deadlocks in the system 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c5b0d0235f 
								
							 
						 
						
							
							
								
								Kenrel: Allow Processor::send_smp_message to send event to current CPU  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b7948551ff 
								
							 
						 
						
							
							
								
								userspace: Add empty libm and libpthread  
							
							... 
							
							
							
							These making porting stuff easier. I could not find a way to tell CMake
that the system does not have threads library 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e109b5cff6 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary locks from Pipe  
							
							... 
							
							
							
							Inode already locks its own mutex when read/write is called there is no
need to explicitly lock them in read_impl/write_impl 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9883fb7bf6 
								
							 
						 
						
							
							
								
								Kernel: Rewrite epoll notifying system  
							
							... 
							
							
							
							This removes the need to lock epoll's mutex when notifying epoll. This
prevents a ton of deadlocks when epoll is notified from an interrupt
handler or otherwise with interrupts disabled 
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e9f8471a28 
								
							 
						 
						
							
							
								
								BAN: Return UTF::invalid from byte_length instead of 0  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4656b11256 
								
							 
						 
						
							
							
								
								LibC: actually use ATEXIT_MAX for atexit limit  
							
							
							
						 
						
							2025-06-02 10:43:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f2ccab2df7 
								
							 
						 
						
							
							
								
								ports/openssl: Fix openssl  
							
							... 
							
							
							
							New unistd.h definitions (or something) makes openssl think recvmsg is
available, disable it manually. 
							
						 
						
							2025-06-01 19:51:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b2e3aefa72 
								
							 
						 
						
							
							
								
								Kernel: Don't crash when terminating process with signal  
							
							
							
						 
						
							2025-06-01 16:59:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b48933f29 
								
							 
						 
						
							
							
								
								LibC: Implement all functions from complex.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4ac6cbe70e 
								
							 
						 
						
							
							
								
								LibC: Add some missing wchar.h functions  
							
							... 
							
							
							
							isw* functions are just wrappers to is*
tow* functions are just wrappers to to* 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc07c3df94 
								
							 
						 
						
							
							
								
								LibC: Add basic strxfrm{,_l}  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								31bcad2535 
								
							 
						 
						
							
							
								
								LibC: Implement truncate  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b75970958e 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement unlinkat  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								91756c057e 
								
							 
						 
						
							
							
								
								LibC: Add all of the missing POSIX definitions in unistd.h and limits.h  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df7f245cf8 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_atfork  
							
							... 
							
							
							
							Again this code is not tested but *feels* right :D 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dbdefa0f4a 
								
							 
						 
						
							
							
								
								LibC: Implement pthread cancelation  
							
							... 
							
							
							
							This code is not tested at all but it looks correct xD 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56fdf6002c 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_kill  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c957f1ddca 
								
							 
						 
						
							
							
								
								LibC: Cleanup pthread code and add some pthread_attr functions  
							
							... 
							
							
							
							errno, pthread cleanup and pthread id are now stored in uthread. This
allows using these without TLS 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								423386a052 
								
							 
						 
						
							
							
								
								LibC: Add memory.h that just includes string.h  
							
							... 
							
							
							
							There are a lot of ports trying to include memory.h. This is not posix
but glibc just includes string.h. I think this is just to privide mem*
functionss...? 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c882ea361 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't print TODOs on PT_GNU_ headers  
							
							... 
							
							
							
							These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b1065fa01d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add ppoll syscall and fix poll  
							
							... 
							
							
							
							poll is now using its own syscall instead of wrapping aroung pselect.
This adds less overhead on top of poll and adds support for POLLHUP 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ff9c030bf 
								
							 
						 
						
							
							
								
								Kernel: Add better termios support  
							
							... 
							
							
							
							I'm not sure if this is correct but at least it's better than before :) 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9b875fb930 
								
							 
						 
						
							
							
								
								Kernel: Make epoll work with different fds pointing to same inode  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								857bac4b78 
								
							 
						 
						
							
							
								
								Kernel: Disable unused interrupt methods in PCI devices  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								30074c290d 
								
							 
						 
						
							
							
								
								Kernel: Add more descriptive names to sockets types  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60d1c26114 
								
							 
						 
						
							
							
								
								Kernel: Fix race condition in FileBackedRegion creation  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								692ba43182 
								
							 
						 
						
							
							
								
								Kernel: Fix spinlock bugs found by the new spinlock security  
							
							
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6542a037df 
								
							 
						 
						
							
							
								
								Kernel: Make spinlocks more safe  
							
							... 
							
							
							
							Kernel now makes sure thread is not holding any spinlocks when it tries
to lock a mutex or yield. Spinlocks are supposed to be only used for
short times without the possibility of yielding 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9f4b451501 
								
							 
						 
						
							
							
								
								Kernel: Fix epoll deadlock  
							
							... 
							
							
							
							If epoll_wait and epoll_notify were called at the same time, there was a
possible deadlock when epoll was confirming the event from the inode 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bd454b8fd 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement utime* family functions  
							
							... 
							
							
							
							This patch adds *working*
 - utime
 - utimes
 - utimensat
 - futimens 
							
						 
						
							2025-06-01 13:48:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8392472bac 
								
							 
						 
						
							
							
								
								ports: Add git port  
							
							... 
							
							
							
							This commit is pushed from banan-os :D 
							
						 
						
							2025-05-29 00:31:40 +00:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cd5b351ce4 
								
							 
						 
						
							
							
								
								Kernel: Fix fchmodat mode handling  
							
							... 
							
							
							
							Ignore file type bits instead of returning EINVAL if they are set 
							
						 
						
							2025-05-29 03:24:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50024fbf8b 
								
							 
						 
						
							
							
								
								ports/vim: Set EDITOR=vim in .shellrc  
							
							
							
						 
						
							2025-05-29 01:20:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d4fb3b6ec 
								
							 
						 
						
							
							
								
								Kernel: Cleanup and fix pipe  
							
							... 
							
							
							
							pipe now sends SIGPIPE and returns EPIPE when writing and no readers are
open 
							
						 
						
							2025-05-29 01:02:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								37dea8aee7 
								
							 
						 
						
							
							
								
								userspace: Implement basic `less` program  
							
							... 
							
							
							
							This is very simple and only supports couple of flags and scrolling 
							
						 
						
							2025-05-29 01:00:28 +03:00