Bananymous 
							
						 
						
							
								7af6e1cd34 
								
							 
						 
						
							
							
								
								Kernel: Ignore HID main item tag 0  
							
							... 
							
							
							
							This for some reason exists in vmware's usb devices 
							
						 
						
							2025-07-18 19:11:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cceb066284 
								
							 
						 
						
							
							
								
								Kernel: Don't use IST on 32 bit target  
							
							... 
							
							
							
							This only exists in 64 bit 
							
						 
						
							2025-07-18 19:10:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7a054787ca 
								
							 
						 
						
							
							
								
								Kernel: Don't print error if `root` is empty  
							
							... 
							
							
							
							This is used when loading filesystem from initrd 
							
						 
						
							2025-07-18 19:09:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d27891c79f 
								
							 
						 
						
							
							
								
								Kernel: Fix correct IOAPIC lookup based on gsi  
							
							
							
						 
						
							2025-07-18 19:09:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5874fd640e 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpFS for 32 bit target  
							
							... 
							
							
							
							There was a problem when sizeof(size_t) != sizeof(PageInfo) 
							
						 
						
							2025-07-18 19:07:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e16fb6a8e9 
								
							 
						 
						
							
							
								
								Kernel: Don't validate allowed null pointers on syscalls  
							
							
							
						 
						
							2025-07-17 22:14:04 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d5301508ec 
								
							 
						 
						
							
							
								
								Kernel: Increase kernel thread stack size  
							
							... 
							
							
							
							HACK HACK HACK
This is just to make banan-os boot on one razer laptop where AML
triggers a stack overflow :) 
							
						 
						
							2025-07-17 21:21:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								793cca423b 
								
							 
						 
						
							
							
								
								Kernel: Fix system timer disabling  
							
							... 
							
							
							
							I was actually not disabling system timer (HPET, PIT) when using lapic
timers for scheduling. This made BSB get too many timer interrupts :D 
							
						 
						
							2025-07-16 20:02:04 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3960687f9d 
								
							 
						 
						
							
							
								
								Kernel: Parse PCIConfig opregion address on read/write  
							
							... 
							
							
							
							I was testing on some hardware and _ADR does not have to exist in the
namespace when opregion is parsed :) 
							
						 
						
							2025-07-16 15:34:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ec7aad432 
								
							 
						 
						
							
							
								
								Kernel: Increase PS/2 timeout and detect more keyboards  
							
							... 
							
							
							
							I was testing on a old T61 
							
						 
						
							2025-07-16 15:29:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a663cb94f 
								
							 
						 
						
							
							
								
								Kernel: Implement basic AC97 driver  
							
							
							
						 
						
							2025-07-15 14:17:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								674e194a91 
								
							 
						 
						
							
							
								
								Kernel: Don't fail PCI interrupt allocation with PCIe and no PCI  
							
							
							
						 
						
							2025-07-15 14:17:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c57f0abb56 
								
							 
						 
						
							
							
								
								BuildSystem: Order source list alphabetically  
							
							
							
						 
						
							2025-07-15 14:17:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								995dfa1455 
								
							 
						 
						
							
							
								
								Kernel: Fix AML PCIConfig OpRegion accesses  
							
							... 
							
							
							
							Apparently I'm not supposted to calculate device/function from the
offset, but parse them from the acpi namespace :)
This allows PCI PIN interrupt routing actually work 
							
						 
						
							2025-07-04 13:21:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								544c8dbc13 
								
							 
						 
						
							
							
								
								Kernel: Optimize AML interpreter stack usage  
							
							... 
							
							
							
							There is a very hacky no-inline hack that I am not proud of but it drops
the stack usage of few functions A LOT.
Previously Virtual Box could not boot with our 8 page stack, but these
changes allow it to boot on 5! 
							
						 
						
							2025-07-03 00:49:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8da4f80453 
								
							 
						 
						
							
							
								
								Kernel: Add custom stack to double fault handler  
							
							... 
							
							
							
							This prevents triple faults! 
							
						 
						
							2025-07-02 23:14:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6084aae603 
								
							 
						 
						
							
							
								
								Kernel: Add guard pages to kernel and userspace stacks  
							
							
							
						 
						
							2025-07-02 23:12:36 +03:00  
				
					
						
							
							
								
								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 
							
						 
						
							
								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 
							
						 
						
							
								ebf2b16d09 
								
							 
						 
						
							
							
								
								Kernel: Implement chown to ext2 and tmpfs  
							
							
							
						 
						
							2025-06-28 21:28:54 +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 
							
						 
						
							
								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 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e895e5286 
								
							 
						 
						
							
							
								
								Kernel: Use fxsave64 and fxrstor64 on 64 bit target  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5b0e5512a8 
								
							 
						 
						
							
							
								
								Kernel: Don't block in send until full message is sent  
							
							... 
							
							
							
							Only block until some data was sent. This allows select + send to be
actually non blocking if used correctly.
Also fixes a bug with non blocking sockets that could not send the full
message is one try. 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								05a727979a 
								
							 
						 
						
							
							
								
								Kernel: Make sse initialization thread safe  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe62ce4bae 
								
							 
						 
						
							
							
								
								Kernel: Fix spurious wakeup from SYS_SLEEP  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4695fa061d 
								
							 
						 
						
							
							
								
								Kernel: Don't panic if UNIX socket is already bound but deleted  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								83c0ef3514 
								
							 
						 
						
							
							
								
								Kernel: Implement CLOCK_{PROCESS,THREAD}_CPUTIME_ID  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								93e5d09a63 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement flock  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6d3d41abe2 
								
							 
						 
						
							
							
								
								Kernel: Fix possible division by zero in scheduler  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3283359ac8 
								
							 
						 
						
							
							
								
								Kernel: Cleanup ANSI DSR  
							
							
							
						 
						
							2025-06-19 19:05:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fff16f6b8c 
								
							 
						 
						
							
							
								
								Kernel: don't directly access user memory in mmap  
							
							
							
						 
						
							2025-06-19 19:04:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a347ceba74 
								
							 
						 
						
							
							
								
								Kernel: Cleanup sys_wait sleep/signal handling  
							
							
							
						 
						
							2025-06-19 19:03:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								05836fab4c 
								
							 
						 
						
							
							
								
								Kernel: Allow accessing fd's inode without having read/search access  
							
							... 
							
							
							
							I have no idea what the point of this was. VFS is already verifying
read and search access 
							
						 
						
							2025-06-19 19:02:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								32c35a822b 
								
							 
						 
						
							
							
								
								BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0  
							
							
							
						 
						
							2025-06-19 19:00:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9c86e5e54d 
								
							 
						 
						
							
							
								
								Kernel: Add ANSI SGR 39 and 49  
							
							... 
							
							
							
							Also debug log unimplemented ANSI SRGs, this makes finding missing
commonly used ANSI SGR codes more easy 
							
						 
						
							2025-06-18 20:34:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								125f8b591d 
								
							 
						 
						
							
							
								
								Kernel: Don't crash if socket tries to reconnect  
							
							... 
							
							
							
							:D 
							
						 
						
							2025-06-11 01:54:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e92f039a17 
								
							 
						 
						
							
							
								
								Kernel: Fix tcp sending with already sent unacknowledged bytes  
							
							
							
						 
						
							2025-06-06 11:55:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ef76ffa1c1 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary hack  
							
							... 
							
							
							
							This is no longer needed as thread unlocks its spinlock before calling
Process::exit() on terminating signal 
							
						 
						
							2025-06-06 11:13:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								652eb2346c 
								
							 
						 
						
							
							
								
								Kernel: Fix syscall interrupt disabling  
							
							... 
							
							
							
							If thread had a terminating signal, syscall leaving would try to lock
process's mutex while not having interrupts enabled 
							
						 
						
							2025-06-06 11:12:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								66726090ec 
								
							 
						 
						
							
							
								
								Kenrel: Fix TCP connection closing  
							
							... 
							
							
							
							If TCP socket was connected with connect() instead of accept() it would
never send FIN to other end when it was closed. 
							
						 
						
							2025-06-06 11:10:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b668173cba 
								
							 
						 
						
							
							
								
								Kernel: Fix pseudo terminal writability  
							
							
							
						 
						
							2025-06-06 11:09:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c6ded82406 
								
							 
						 
						
							
							
								
								Kernel: Fix a deadlock when thread is executing terminating signal  
							
							
							
						 
						
							2025-06-06 06:52:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a76c6faffc 
								
							 
						 
						
							
							
								
								Kernel: Fix a deadlock when process is exiting  
							
							
							
						 
						
							2025-06-06 06:52:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								81ff71a97f 
								
							 
						 
						
							
							
								
								Kernel: Track the number of recursive spinlocks a thread is holding  
							
							
							
						 
						
							2025-06-06 06:51:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56db0efe58 
								
							 
						 
						
							
							
								
								Kernel: Add missing file for race condition fixes :)  
							
							
							
						 
						
							2025-06-06 04:03:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5eefd98e1b 
								
							 
						 
						
							
							
								
								Kernel: Add debugging macro to dump syscalls that take a long time  
							
							
							
						 
						
							2025-06-06 04:00:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								eecdad50a6 
								
							 
						 
						
							
							
								
								Kernel: Fix most of mutex + block race conditions  
							
							... 
							
							
							
							All block functions now take an optional mutex parameter that is
atomically unlocked instead of having the user unlock it before hand.
This prevents a ton of race conditions everywhere in the code! 
							
						 
						
							2025-06-06 03:59:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96d5ed9cc7 
								
							 
						 
						
							
							
								
								Kernel: Fix E1000 driver interrupts  
							
							... 
							
							
							
							I have no idea why, but E1000 seems to be missing interrupts frequently
when clearing ICR only at the end of the interrupt handler 
							
						 
						
							2025-06-06 03:45:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73090ecb37 
								
							 
						 
						
							
							
								
								Kernel: TTY set EPOLLOUT  
							
							
							
						 
						
							2025-06-05 22:04:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8812704601 
								
							 
						 
						
							
							
								
								Kernel: Make sure IPv4 and ARP packets are not missed  
							
							... 
							
							
							
							This is a really hacky solution but will do until i get atomic
unblocking with respect to locks 
							
						 
						
							2025-06-05 22:03:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0f189d410e 
								
							 
						 
						
							
							
								
								Kernel: Fix unix socket recv from  
							
							... 
							
							
							
							If connection on unix socket was closed and other end tries to recvfrom,
the thread would enter a fucked up state where it held the socket's
spinlock when returning to userspace. 
							
						 
						
							2025-06-05 22:02:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cfeabc4580 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix ANSI SGR 8 bit color parsing  
							
							
							
						 
						
							2025-06-05 20:43:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f79db874bf 
								
							 
						 
						
							
							
								
								Kernel: Fix ANSI CSI 1J  
							
							... 
							
							
							
							I was accidentally clearing the whole screen when I needed to clear from
cursor to the end of the screen 
							
						 
						
							2025-06-05 02:38:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8de19aff3c 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix 24 bit ANSI SGR color parsing  
							
							
							
						 
						
							2025-06-05 02:38:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bf41b448d6 
								
							 
						 
						
							
							
								
								Kernel: Fix TCP sending  
							
							... 
							
							
							
							- Fix race condition when adding packet to send buffer before other end
  has acknowledged it
- Allow sending multiple packets before receiving ACK for previous ones 
							
						 
						
							2025-06-04 22:21:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								448632cf11 
								
							 
						 
						
							
							
								
								Kernel: Add fast path to pselect and ppoll  
							
							... 
							
							
							
							If events are available right away, don't create epoll object to wait
on. Also fix pselect return value to the number of bits set. Previously
return value could've been greater than that if epoll return EPOLLERR or
EPOLLHUP for events that were not listened to 
							
						 
						
							2025-06-04 17:51:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								943069b2a3 
								
							 
						 
						
							
							
								
								Kernel: Socket EPIPE and send SIGPIPE on write after hang up  
							
							
							
						 
						
							2025-06-03 10:24:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e305698e6b 
								
							 
						 
						
							
							
								
								Kernel: Fix epoll EPOLLHUP and EPOLLERR reporting  
							
							
							
						 
						
							2025-06-03 10:23:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4c0b7d44b4 
								
							 
						 
						
							
							
								
								Kernel: Enable ECHOE and ECHOK, support VKILL, fix VEOF  
							
							
							
						 
						
							2025-06-02 16:26:53 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb466b5af7 
								
							 
						 
						
							
							
								
								Kernel: use termios c_cc values instead of hardcoded characters  
							
							
							
						 
						
							2025-06-02 15:54:11 +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 
							
						 
						
							
								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 
							
						 
						
							
								b2e3aefa72 
								
							 
						 
						
							
							
								
								Kernel: Don't crash when terminating process with signal  
							
							
							
						 
						
							2025-06-01 16:59:02 +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 
							
						 
						
							
								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 
							
						 
						
							
								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