Bananymous 
							
						 
						
							
								e1319a06f2 
								
							 
						 
						
							
							
								
								Kernel: Remove accidentally commited debug prints  
							
							
							
						 
						
							2025-07-02 23:09:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51fd7a607d 
								
							 
						 
						
							
							
								
								Kernel: Fix IDE controller waiting  
							
							... 
							
							
							
							We did not correctly wait until controller is ready to receive data on
write command. Also remove possible kernel panic if controller sends
unexpected interrupts 
							
						 
						
							2025-07-02 22:04:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8aff315c7b 
								
							 
						 
						
							
							
								
								LibC: fflush file in setvbuf before updating the buffer  
							
							
							
						 
						
							2025-07-02 01:54:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8e0d79f301 
								
							 
						 
						
							
							
								
								ports: Fix `make` compilation with new toolchain  
							
							
							
						 
						
							2025-07-02 01:54:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a0269d29e 
								
							 
						 
						
							
							
								
								Kernel: Remove kernel processes  
							
							... 
							
							
							
							Kernel can just use raw threads, pretty muchs the only thing that
process provides is syscalls which kernel threads of course don't
need.
Also this makes init process have pid 1 :D 
							
						 
						
							2025-07-02 01:54:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								892e16dfb1 
								
							 
						 
						
							
							
								
								Kernel: Increase PS2 timeout to 300 ms, load PS2 in separate thread  
							
							... 
							
							
							
							PS/2 seems to hit command timeout sometimes on slow emulation so
increase the timeouts.
Also move PS/2 device initialization to a different thread because
device indentification waits for timeouts. 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								92e4078287 
								
							 
						 
						
							
							
								
								Kernel: Rewrite ThreadBlocker  
							
							... 
							
							
							
							This gets rid of a very old bug where kernel panics when thread is being
woken up and unblocked at the same time on different cores. This
required adding a new lock to SchedulerQueue::Node and adding a cap to
how many threads a threadblocker can simultaneously block. I don't think
I ever block more than five threads on the same ThreadBlocker so this
should be fine. 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								41e1819072 
								
							 
						 
						
							
							
								
								Kernel: Align argv and envp to pointer boundary  
							
							... 
							
							
							
							This bug was found with ubsan 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb7e9719a1 
								
							 
						 
						
							
							
								
								Kernel: Add fast fill method to framebuffer device  
							
							... 
							
							
							
							This makes `clear` much faster when running without kvm! 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c2d09b64ca 
								
							 
						 
						
							
							
								
								Kernel: Drop 24 bpp support from double buffer  
							
							... 
							
							
							
							I don't even know why this was supported, I am not planning on making
the fb anything other than 32 bpp 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1b2aa6c2da 
								
							 
						 
						
							
							
								
								Kernel: Fix unaligned access in AML  
							
							... 
							
							
							
							Found with ubsan 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5b4cee298 
								
							 
						 
						
							
							
								
								Kernel: Load USTAR from a boot module if loading root partition fails  
							
							... 
							
							
							
							This allows banan-os to boot on hardware where we don't have working
storage driver or the storage driver fails (pretty common with my usb
mass storage drivers...) 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								17f1ac10e3 
								
							 
						 
						
							
							
								
								Kernel: Don't ignore modules passed with multiboot2  
							
							
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c67198032f 
								
							 
						 
						
							
							
								
								Kernel: Rewrite TmpFS block and inode allocation  
							
							... 
							
							
							
							This makes creating files and appending to then A LOT faster. Some code
I tested took 40 seconds in the previous implementation and less than a
second on the new one!
This code is really sketcy, I hope I'll never have to touch it again :) 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								107b092982 
								
							 
						 
						
							
							
								
								Kernel: Allow arbitrary sized tmpfs files  
							
							... 
							
							
							
							The 2 block limit started to get annoying :D 
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bac06e45a4 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpSymlinkInode target getting/setting  
							
							
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0e8a68831c 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpInode chmod not preserving file type  
							
							
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5912abd541 
								
							 
						 
						
							
							
								
								Kernel: Add error reporting for readonly mounted filesystems  
							
							
							
						 
						
							2025-07-02 00:17:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								13d33995cb 
								
							 
						 
						
							
							
								
								Kernel: Make sure PageTable::fast_page gets passed page aligned addr  
							
							
							
						 
						
							2025-06-30 01:48:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c8c05f62b4 
								
							 
						 
						
							
							
								
								Kernel: Remove unused FileSystem::dev  
							
							
							
						 
						
							2025-06-29 00:29:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								944b045885 
								
							 
						 
						
							
							
								
								Toolchain: Set CMAKE_STAGING_PREFIX in toolchain file  
							
							
							
						 
						
							2025-06-28 23:34:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								19897ffa26 
								
							 
						 
						
							
							
								
								userspace: Compile test utility :D  
							
							
							
						 
						
							2025-06-28 22:40:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								42a10b21c7 
								
							 
						 
						
							
							
								
								userspace: Implement true and false utilities  
							
							
							
						 
						
							2025-06-28 22:39:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5df0e25c1f 
								
							 
						 
						
							
							
								
								userspace: Implement chown utility  
							
							
							
						 
						
							2025-06-28 21:32:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ebf2b16d09 
								
							 
						 
						
							
							
								
								Kernel: Implement chown to ext2 and tmpfs  
							
							
							
						 
						
							2025-06-28 21:28:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f2eaab6e43 
								
							 
						 
						
							
							
								
								ports: Add tuxracer port  
							
							... 
							
							
							
							THIS IS SUPER SLOW 
							
						 
						
							2025-06-28 20:54:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a847823411 
								
							 
						 
						
							
							
								
								ports: Add tcl port  
							
							
							
						 
						
							2025-06-28 20:54:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe9a8b542a 
								
							 
						 
						
							
							
								
								ports: Add bochs port  
							
							... 
							
							
							
							THIS IS SUPER SLOW 
							
						 
						
							2025-06-28 20:54:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cd101b6844 
								
							 
						 
						
							
							
								
								ports: Add sdl12-compat port  
							
							
							
						 
						
							2025-06-28 20:54:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								69229102c4 
								
							 
						 
						
							
							
								
								ports: Add SDL2 port  
							
							
							
						 
						
							2025-06-28 20:52:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4bc3630d19 
								
							 
						 
						
							
							
								
								ports: Add glu port  
							
							
							
						 
						
							2025-06-28 20:52:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab00686ac9 
								
							 
						 
						
							
							
								
								ports: Add mesa port  
							
							
							
						 
						
							2025-06-28 20:51:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c3004a038f 
								
							 
						 
						
							
							
								
								ports: Add bash port  
							
							
							
						 
						
							2025-06-28 20:48:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9cf9d8847b 
								
							 
						 
						
							
							
								
								ports: Add lua port  
							
							
							
						 
						
							2025-06-28 20:48:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0a3c10566b 
								
							 
						 
						
							
							
								
								ports: vim update to 9.1  
							
							
							
						 
						
							2025-06-28 20:48:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c94243e107 
								
							 
						 
						
							
							
								
								ports: Update some ports to new syntax  
							
							
							
						 
						
							2025-06-28 20:48:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								505388b9fa 
								
							 
						 
						
							
							
								
								ports: Add pre_install and post_install to install.sh  
							
							
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7314cf708c 
								
							 
						 
						
							
							
								
								Kernel: Only restart certain syscalls with SA_RESTART  
							
							... 
							
							
							
							SA_RESTART is not supposted to restart every function. 
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e6a4f2b16 
								
							 
						 
						
							
							
								
								LibC: Add getgroups stub  
							
							
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c7c3dd7662 
								
							 
						 
						
							
							
								
								init/ports: Fix environment variables in init/ncurses  
							
							... 
							
							
							
							init no longer sets NCURSES_NO_UTF8_ACS
ncurses no longer sets TERM 
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e4f025edd6 
								
							 
						 
						
							
							
								
								LibC: Implement deprecated bcmp, bcopy, bzero  
							
							
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96f3efbf86 
								
							 
						 
						
							
							
								
								LibC: Fix enviroment variable allocation  
							
							
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2b2130ff42 
								
							 
						 
						
							
							
								
								toolchain/ports: Use strip install targets  
							
							... 
							
							
							
							I just found that these exist. This is much cleaner than manually
stripping the executables! 
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								463ce05da0 
								
							 
						 
						
							
							
								
								ports: Allow specifying custom make targets  
							
							
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fa4095ba95 
								
							 
						 
						
							
							
								
								ports: Add pre_configure to build system  
							
							... 
							
							
							
							We have post_configure, so why not this :) 
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								db571b4859 
								
							 
						 
						
							
							
								
								Kernel: Allow relockign mutex even when holding a spinlock  
							
							... 
							
							
							
							Only reason mutex locking is now allowed with spinlocks is to prevent
yield.
Also try_lock can be now safely used while holding a spinlock 
							
						 
						
							2025-06-28 19:40:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e8491b34b8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Rework TIOC{G,S}WINSZ more linux like  
							
							... 
							
							
							
							Userspace can freely set terminal size, kernel just updates it when for
example new font is loaded. Also SIGWINCH is now sent by kernel instead
of userspace. 
							
						 
						
							2025-06-28 19:40:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								521457eb92 
								
							 
						 
						
							
							
								
								DynamicLoader: Add support for calling destructors  
							
							... 
							
							
							
							After all libraries are initialized, their destructors are registered
using atexit 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f26a445ce6 
								
							 
						 
						
							
							
								
								LibC: Make malloc actually allign to s_malloc_default_align boundary  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f73bb242f3 
								
							 
						 
						
							
							
								
								Kernel: Save fpu state and flags in signal handler  
							
							... 
							
							
							
							This was causing some weird crashes :D 
							
						 
						
							2025-06-28 16:55:13 +03:00