Bananymous 
							
						 
						
							
								abf7c8e68a 
								
							 
						 
						
							
							
								
								LibC: Implement `difftime`  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a38d0c31e 
								
							 
						 
						
							
							
								
								LibC: Add g/G modifiers to printf  
							
							
							
						 
						
							2025-05-04 13:42:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9ff9d679e9 
								
							 
						 
						
							
							
								
								Kernel: Fix text mode cursor  
							
							... 
							
							
							
							Apparently text mode renders cursor in the *foreground* color. My
current clear function used the same color for foreground and background
making the cursor effectively invisible.
Also cursor hiding is now done by moving the cursor off bounds (0, height)
some website I read said this to be valid even on VGA compatible cards
without disable bit.
http://www.osdever.net/FreeVGA/vga/textcur.htm  
							
						 
						
							2025-04-25 02:31:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9f3f8f950a 
								
							 
						 
						
							
							
								
								Kernel: Add better panic message for failed shutdown  
							
							... 
							
							
							
							ACPI shutdown does not work on the web emulator and running `poweroff`
crashes on `ASSERT_NOT_REACHED()`. 
							
						 
						
							2025-04-25 01:52:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								006a196e4a 
								
							 
						 
						
							
							
								
								LibC: optimize strpbrk, str{,c}spn, strtok{,_r}  
							
							... 
							
							
							
							These matches are now detected with bitmasks instead of looping over the
second string 
							
						 
						
							2025-04-24 01:39:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								418678466c 
								
							 
						 
						
							
							
								
								Kernel: Fix text mode palette  
							
							... 
							
							
							
							ANSI and text mode color indices are not in the same order 
							
						 
						
							2025-04-23 23:07:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9f4cb5c4dd 
								
							 
						 
						
							
							
								
								Kernel: Make pseudo terminals not overwrite old data  
							
							... 
							
							
							
							If pseudo terminal buffer was filled, old implementation would overwrite
old data. This is bad if producer is capable of producing more data than
consumer can handle. 
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73f9de6635 
								
							 
						 
						
							
							
								
								Terminal: Add support for ANSI SGR 8bit and 24bit  
							
							
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12b9c82086 
								
							 
						 
						
							
							
								
								Terminal: Don't wrap cursor right after x == cols  
							
							... 
							
							
							
							This prevents scrolling when bottom right scroll is written to 
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a8edb8870e 
								
							 
						 
						
							
							
								
								Kernel: Add support for 8bit and 24bit ANSI SGR  
							
							
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dabc3c6cc4 
								
							 
						 
						
							
							
								
								Kernel: Don't wrap cursor immediatly at cols()  
							
							... 
							
							
							
							This prevents unwanted scrolling when writing to bottom right cell 
							
						 
						
							2025-04-23 22:03:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc7c1ad30d 
								
							 
						 
						
							
							
								
								Kernel: Add per terminal palette for TerminalDriver  
							
							... 
							
							
							
							This allows better color approximation on text mode and in future will
allow user to possibly change the palette 
							
						 
						
							2025-04-23 18:44:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d840a8d9a 
								
							 
						 
						
							
							
								
								BAN: Make Array more constexpr  
							
							
							
						 
						
							2025-04-23 18:40:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								95a80bfe81 
								
							 
						 
						
							
							
								
								ports: Add tinygb port  
							
							... 
							
							
							
							This is awesome! 
							
						 
						
							2025-04-23 13:19:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								53e9eab0cd 
								
							 
						 
						
							
							
								
								ports/tcc: Fix building on 32 bit  
							
							
							
						 
						
							2025-04-23 08:43:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								35b3c3c98c 
								
							 
						 
						
							
							
								
								Kernel: Fix scheduler load balancing  
							
							... 
							
							
							
							I was not updating the current queue of the thread which lead to blocked
threads think they were in run queue 
							
						 
						
							2025-04-23 08:09:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20e17a28cf 
								
							 
						 
						
							
							
								
								Kernel: Fix \b handling  
							
							... 
							
							
							
							Don't clear the character, only move cursor backwards 
							
						 
						
							2025-04-23 06:33:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28bf2d6374 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Add support for ANSI DSR  
							
							
							
						 
						
							2025-04-23 06:14:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a00b53050 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix ANSI SGR m for multiple values  
							
							
							
						 
						
							2025-04-23 05:29:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8834241417 
								
							 
						 
						
							
							
								
								LibC: Fix scanf %n modifier  
							
							... 
							
							
							
							Old code was always returning off by one 
							
						 
						
							2025-04-22 09:55:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96740d6be4 
								
							 
						 
						
							
							
								
								LibC: Make `inet_addr` spec compliant  
							
							... 
							
							
							
							I was not doing any error checking, basically i validated anything that
started with atleast a single digit. 
							
						 
						
							2025-04-22 09:40:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b853d29992 
								
							 
						 
						
							
							
								
								Kernel: Fix unix domain socket close detection  
							
							
							
						 
						
							2025-04-22 08:36:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								33a0f562d3 
								
							 
						 
						
							
							
								
								resolver: Add support for CNAME  
							
							... 
							
							
							
							Also rework resolver's send format and convert test-tcp and nslookup to
use getaddrinfo 
							
						 
						
							2025-04-22 08:36:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f8e3ae0525 
								
							 
						 
						
							
							
								
								Kernel: Fix deadlock caused by multithreading  
							
							... 
							
							
							
							This allows multiple threads to concurrently call the most common
blocking syscalls:
- read
- write
- accept
- connect
- sendto
- recv
- pselect
This prevents a dead lock when for example process is waiting on a pipe,
but unable to write to it since process is locked.
This is the beginning of starting to remove processes own lock from
syscall and locking only necessary parts. 
							
						 
						
							2025-04-22 04:51:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c790bad667 
								
							 
						 
						
							
							
								
								Kernel: Make OpenFileDescriptorSet thread safe  
							
							... 
							
							
							
							Also this allows concurrent calling of read/write/send/recv 
							
						 
						
							2025-04-22 04:31:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d54489bbcb 
								
							 
						 
						
							
							
								
								Kernel: Implement MemoryRegion pinning  
							
							... 
							
							
							
							This allows process to pin a MemoryRegion into users memory space for
syscall duration without allowing user to munmap the region. 
							
						 
						
							2025-04-22 04:30:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								808c97020a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement SA_RESTART  
							
							... 
							
							
							
							I have been thinking how to do this for a long time but I finally
figured out a semi-clean way 
							
						 
						
							2025-04-22 02:42:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								34e680d792 
								
							 
						 
						
							
							
								
								ports/ncurses: Set some needed environment variables  
							
							... 
							
							
							
							ncurses depends on these being set to function properly 
							
						 
						
							2025-04-22 01:56:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								32d543943b 
								
							 
						 
						
							
							
								
								ports: Add lynx port  
							
							... 
							
							
							
							I have had this for a while but apparently never commited :D 
							
						 
						
							2025-04-22 01:44:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2632507980 
								
							 
						 
						
							
							
								
								ports/ca-certificates: Add symlink to /etc/ssl/cert.pem  
							
							... 
							
							
							
							Some ports try to use this file 
							
						 
						
							2025-04-22 01:44:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f467a9a309 
								
							 
						 
						
							
							
								
								resolver: Resolve hostname to loopback address  
							
							... 
							
							
							
							We don't currently support loopback adapters, but some ports were trying
to resolve it. 
							
						 
						
							2025-04-22 00:48:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c9710c78b 
								
							 
						 
						
							
							
								
								LibC: Implement `strcoll_l`  
							
							
							
						 
						
							2025-04-22 00:48:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								107b31a0b5 
								
							 
						 
						
							
							
								
								Kernel: Fix E1000{,E} driver for older qemu versions  
							
							... 
							
							
							
							This patch adds clearing of *Interrupt Cause Registers*, which allows
older qemu versions to send new interrupts. Apparently this is not
needed on newer releases. 
							
						 
						
							2025-04-22 00:31:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								028c7a822f 
								
							 
						 
						
							
							
								
								LibC: Don't define SCHAR_MAX in locale.c  
							
							
							
						 
						
							2025-04-21 22:21:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								18f5f98e62 
								
							 
						 
						
							
							
								
								General: Mark USB hubs done in README  
							
							
							
						 
						
							2025-04-21 22:13:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								543bb3cc4b 
								
							 
						 
						
							
							
								
								LibC: Rework malloc locking add proper realloc  
							
							
							
						 
						
							2025-04-21 20:29:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c44d24b76 
								
							 
						 
						
							
							
								
								Kernel: Fix TCP closing state machine  
							
							
							
						 
						
							2025-04-21 20:02:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5305f962c0 
								
							 
						 
						
							
							
								
								ports/openssl: Make openssl port threaded  
							
							
							
						 
						
							2025-04-21 19:59:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b774f147da 
								
							 
						 
						
							
							
								
								LibC: Implement dummy pthread_attr_{get,set}detachstate  
							
							... 
							
							
							
							detached threads are not yet supported, but this allows implementation
to make sure threads are joinable. 
							
						 
						
							2025-04-21 19:58:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2a5921b9c9 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is not fully working but should be fine for most cases 
							
						 
						
							2025-04-21 19:53:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60cb392e97 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_barrier  
							
							... 
							
							
							
							This is yet another bad sched_yield implementation :D 
							
						 
						
							2025-04-21 19:52:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d012c538c3 
								
							 
						 
						
							
							
								
								LibC: Add PTHREAD_SPIN_INITIALIZER  
							
							... 
							
							
							
							This is not posix, but current implementation allows adding this 
							
						 
						
							2025-04-21 19:47:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c88d0d7f7 
								
							 
						 
						
							
							
								
								LibC: Implement pthread_rwlock  
							
							... 
							
							
							
							This uses the same dumb sched_yield instead of actually blocking :D 
							
						 
						
							2025-04-21 18:48:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								773b8de8ba 
								
							 
						 
						
							
							
								
								LibC: Refactor pthread type definitions  
							
							
							
						 
						
							2025-04-21 14:38:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5d8dd090a9 
								
							 
						 
						
							
							
								
								LibC: Implement `pthread_once`  
							
							
							
						 
						
							2025-04-21 14:17:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2cbfe70a28 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't leak fds  
							
							
							
						 
						
							2025-04-20 18:18:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								16dbfbb267 
								
							 
						 
						
							
							
								
								LibC: Make limits.h `*_MAX` usable in #if comparisons  
							
							
							
						 
						
							2025-04-20 17:15:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								99fc7817c6 
								
							 
						 
						
							
							
								
								Kernel: Cleanup stack alignment assembly  
							
							
							
						 
						
							2025-04-20 16:55:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								265b4c2b22 
								
							 
						 
						
							
							
								
								LibC: Implement `thread_equal`  
							
							
							
						 
						
							2025-04-20 03:27:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								db9db2cc40 
								
							 
						 
						
							
							
								
								LibC: Implement basic pthread mutexes  
							
							... 
							
							
							
							This implementation is just calling sched_yield if it could not get
mutex. This is not optimal as it does not allow the CPU to idle, but it
works for now :)
Also I did not test this code at all, but it feels correct :D 
							
						 
						
							2025-04-20 03:27:16 +03:00