Bananymous 
							
						 
						
							
								dfdfb7cdaf 
								
							 
						 
						
							
							
								
								Kernel: check all threads in validate_pointer_access  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cc0fb9c01 
								
							 
						 
						
							
							
								
								Kernel: Reschedule if idle after IPI  
							
							... 
							
							
							
							This allows starting thread execution right after thread is received
from load balancing 
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a51b589bc9 
								
							 
						 
						
							
							
								
								Kernel: Allow any signal flags and support SA_RESETHAND  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5940e912b3 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement simple futex  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								284c9e5f61 
								
							 
						 
						
							
							
								
								Kernel: Don't kill process if stack pointer is OOB  
							
							... 
							
							
							
							This can be valid if process is using green threads or for some other
reason using its own stack 
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								927fbda1e8 
								
							 
						 
						
							
							
								
								Kernel: Make on-demand paging thread safe  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d8a695a88d 
								
							 
						 
						
							
							
								
								Kernel: Don't fail ustar unpack when creation fails  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8c29036fbf 
								
							 
						 
						
							
							
								
								Kernel: Fix EAGAIN on hungup pipe  
							
							
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc04bd0f06 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname_r  
							
							
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e72e1e4e43 
								
							 
						 
						
							
							
								
								LibC: Add _SC_NPROCESSORS_{CONF,ONLN)  
							
							
							
						 
						
							2025-07-31 22:47:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9b18bda9c8 
								
							 
						 
						
							
							
								
								Kernel: Make epoll always check for HUP and ERR  
							
							
							
						 
						
							2025-07-31 22:47:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2c65590134 
								
							 
						 
						
							
							
								
								Kernel: Add support for absolute position mouse  
							
							
							
						 
						
							2025-07-19 18:00:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a0d1a9ad67 
								
							 
						 
						
							
							
								
								Kernel: Fix PIT::prescheduler_sleep_ns  
							
							... 
							
							
							
							I don't even know what I was doing here :D 
							
						 
						
							2025-07-19 01:25:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5df6270e32 
								
							 
						 
						
							
							
								
								Kernel: Clobber flags in `rdrand`  
							
							
							
						 
						
							2025-07-18 19:36:37 +03:00  
				
					
						
							
							
								
								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