Bananymous 
							
						 
						
							
								bc66e181a5 
								
							 
						 
						
							
							
								
								ports: Update to new config.sub syntax  
							
							... 
							
							
							
							There is no longer need to manually patch config.sub files! 
							
						 
						
							2025-07-22 10:31:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6971f76bd3 
								
							 
						 
						
							
							
								
								ports: Add support for downloading upstream config.sub  
							
							... 
							
							
							
							banan-os is now in the upstream config.sub. This means no more
config.sub patches! 
							
						 
						
							2025-07-22 10:13:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1e65f02ff7 
								
							 
						 
						
							
							
								
								Terminal: Handle bell and warn on unimplemented control characters  
							
							
							
						 
						
							2025-07-21 14:28:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4efaf65d3f 
								
							 
						 
						
							
							
								
								BuildSystem: Use usb-tablet instead of usb-mouse  
							
							... 
							
							
							
							This allows sharing mouse between host and guest! 
							
						 
						
							2025-07-19 18:02:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa0249fadb 
								
							 
						 
						
							
							
								
								WindowServer: Support absolute position mouse  
							
							
							
						 
						
							2025-07-19 18:01:23 +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 
							
						 
						
							
								11ae220dbe 
								
							 
						 
						
							
							
								
								LibImage: Optimize image resizing algorithms  
							
							
							
						 
						
							2025-07-18 18:20:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22542a3a71 
								
							 
						 
						
							
							
								
								BuildSystem: Enable sse and sse2 for all programs and libraries  
							
							... 
							
							
							
							This is default on x86_64 but not on the 32 bit target. banan-os
already requires the CPU to support SSE even on 32 bit platforms. 
							
						 
						
							2025-07-18 18:20:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e16fb6a8e9 
								
							 
						 
						
							
							
								
								Kernel: Don't validate allowed null pointers on syscalls  
							
							
							
						 
						
							2025-07-17 22:14:04 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d941e6d70b 
								
							 
						 
						
							
							
								
								General: Update README features and environment variables  
							
							
							
						 
						
							2025-07-17 21:45:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b65068dc7d 
								
							 
						 
						
							
							
								
								BuildSystem: Add support for building initrd image  
							
							... 
							
							
							
							This is nice for testing when there isn't xhci controller available or
my usb stack fails :) 
							
						 
						
							2025-07-17 21:45:48 +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 
							
						 
						
							
								84f1ad4f26 
								
							 
						 
						
							
							
								
								ports: Fix doom compilation with the new toolchain  
							
							
							
						 
						
							2025-07-15 16:12:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6b9dbf625d 
								
							 
						 
						
							
							
								
								userspace: Add `audio` utility to play audio files  
							
							
							
						 
						
							2025-07-15 16:12:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3aea2c007d 
								
							 
						 
						
							
							
								
								Userspace: Add simple AudioServer and LibAudio  
							
							
							
						 
						
							2025-07-15 16:12:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								85d195212a 
								
							 
						 
						
							
							
								
								BuildSystem: Update qemu script and add ac97  
							
							
							
						 
						
							2025-07-15 14:17:49 +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 
							
						 
						
							
								163fdcd582 
								
							 
						 
						
							
							
								
								LibC: Fix exec family function path resolution  
							
							
							
						 
						
							2025-07-15 14:17:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3be17c6117 
								
							 
						 
						
							
							
								
								BAN: Add clear and access by index to CircularQueue  
							
							
							
						 
						
							2025-07-10 17:24:40 +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 
							
						 
						
							
								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