Bananymous 
							
						 
						
							
								865061b492 
								
							 
						 
						
							
							
								
								Kernel: Temporary fix to make tmpfs more stable  
							
							... 
							
							
							
							whole TmpFS will have to be rewritten at some point :) 
							
						 
						
							2024-11-21 18:13:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								39313e1737 
								
							 
						 
						
							
							
								
								BuildSystem: Add option to boot using IDE or USB drives  
							
							
							
						 
						
							2024-11-21 18:09:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								70880636f4 
								
							 
						 
						
							
							
								
								Kernel: Implement basic USB Mass Storage support  
							
							... 
							
							
							
							I finally decided to do this :D 
							
						 
						
							2024-11-21 18:08:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96a5ba0ed3 
								
							 
						 
						
							
							
								
								BuildSystem: Make root partition UUID fixed  
							
							... 
							
							
							
							This allows specifying root as UUID which makes booting nicer experience
on real hardware 
							
						 
						
							2024-11-21 17:59:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8054f6c618 
								
							 
						 
						
							
							
								
								Kernel: Wait 10 seconds to find root device  
							
							... 
							
							
							
							If root device is initialized asynchronously it may not be ready when
main initialization thread is finished. This patch adds searching for
root device every 500 ms for 10 seconds. 
							
						 
						
							2024-11-21 17:56:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								658ea68d04 
								
							 
						 
						
							
							
								
								Kernel: Check max packet size for all USB devices  
							
							... 
							
							
							
							Spec says that this has to be done. Most cases can be probably skipped
as I used to do, but this is less error prone and adds practically no
overhead 
							
						 
						
							2024-11-21 13:46:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5750f87396 
								
							 
						 
						
							
							
								
								Kernel: Fix unaligned access in xHCI controller initialization  
							
							
							
						 
						
							2024-11-21 13:46:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1253e2a458 
								
							 
						 
						
							
							
								
								Kernel: Add support for bulk endpoints and update endpoint API  
							
							... 
							
							
							
							USB device now sets its own data buffers for IN/OUT endpoints. This
allows more customization and parallelism as data buffer does not have
to be shared. 
							
						 
						
							2024-11-21 13:44:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								857b3e92f8 
								
							 
						 
						
							
							
								
								Kernel: Support initializing USB 3 devices  
							
							
							
						 
						
							2024-11-21 13:40:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8bf14d542e 
								
							 
						 
						
							
							
								
								Kernel: Move SCSI device rdev allocation out of ATA code  
							
							
							
						 
						
							2024-11-21 13:36:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								31d2a39540 
								
							 
						 
						
							
							
								
								BAN: Add default constructors for BAN::{Little,Big}Endian  
							
							
							
						 
						
							2024-11-21 13:34:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								97718b4046 
								
							 
						 
						
							
							
								
								Kernel: Don't launch init process twice  
							
							... 
							
							
							
							I had accidentrally left the old init process launch in when replacing
it with the new one. 
							
						 
						
							2024-11-19 20:43:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c07fd265f0 
								
							 
						 
						
							
							
								
								Kernel: Add support for ATA CHS addressing and cleanup code  
							
							... 
							
							
							
							I thought that I had an PC without LBA support so I implement support
for CHS. Turns out that my ATA device detection was broken and was no
device on that port and initialize data was just garbage.
Now that I added CHS, I guess I should just keep it in :)
Both ATA read and write are now combined into a single function to avoid
code duplication. 
							
						 
						
							2024-11-19 20:39:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1de50a2a94 
								
							 
						 
						
							
							
								
								Kernel: Improve ATA device initialization  
							
							... 
							
							
							
							This does better detection of empty ports and fixes floating bus
read-value from 0x00 to 0xFF. 
							
						 
						
							2024-11-19 00:25:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627ca432cc 
								
							 
						 
						
							
							
								
								Kernel: Make PS/2 controller not hang if device keeps sending resend  
							
							
							
						 
						
							2024-11-19 00:18:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f8ef11b4d2 
								
							 
						 
						
							
							
								
								BAN: Make PlacementNew.h only include <new> if it exists  
							
							... 
							
							
							
							Otherwise it will define the functions itself. This allows compiling
toolchain as stdlibc++ depends on BAN. 
							
						 
						
							2024-11-19 00:16:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								71563034a7 
								
							 
						 
						
							
							
								
								Kernel: Remove accidentally left debug prints  
							
							
							
						 
						
							2024-11-18 03:45:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aaff5a65e1 
								
							 
						 
						
							
							
								
								Kernel/init: /dev/tty is now custom symlink to controlling terminal  
							
							... 
							
							
							
							kernel now passes the name of default console to init process so init
knows which file to open as stdio. before /dev/tty was referencing the
system wide current terminal which was inherited from cmdline. This
doesn't work anymore as we have pseudo terminals implemented that can
chage the current terminal during runtime :D 
							
						 
						
							2024-11-17 22:38:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								458a362f98 
								
							 
						 
						
							
							
								
								Kernel: Allow kernel to pass arguments to init process  
							
							
							
						 
						
							2024-11-17 22:38:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36d07065fb 
								
							 
						 
						
							
							
								
								WindowServer: Optimize msync calls to synchronize less bytes  
							
							... 
							
							
							
							This *probably* makes framebuffer much faster :D Window server does not
have to do page aligned and page sized syncs which used way too many
pixels. 
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f206e72447 
								
							 
						 
						
							
							
								
								Kernel: Don't require msync addresses to be page aligned  
							
							... 
							
							
							
							Inodes implementing msync can require page aligned addresses, but are
also allowed to not :) This reduces sizes of framebuffer msyncs! 
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								58e45fb394 
								
							 
						 
						
							
							
								
								Kernel: Print process name on exceptions if it is available  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								411f32c766 
								
							 
						 
						
							
							
								
								WindowServer: Make select timeout more precise to hit target FPS  
							
							... 
							
							
							
							Previously window server was only running at around 40 FPS while
targetting 60. This makes the select timeout properly sleep so that
target FPS is reached! 
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e1b82e4e43 
								
							 
						 
						
							
							
								
								WindowServer: Don't allow focusing unfocusable windows after closing  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df613775b6 
								
							 
						 
						
							
							
								
								WindowServer: Alpha blend background image in fullscreen mode  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e8fdc997a 
								
							 
						 
						
							
							
								
								Kernel: Prevent userspace from overwriting CPU load memory  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51bfe4252d 
								
							 
						 
						
							
							
								
								ports/doom: download doom1.wad to common directory between archs  
							
							
							
						 
						
							2024-11-15 20:50:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c96aee5740 
								
							 
						 
						
							
							
								
								WindowServer: Make mod+f toggle focused window fullscreen state  
							
							
							
						 
						
							2024-11-15 20:45:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c08849667 
								
							 
						 
						
							
							
								
								WindowServer: Draw cursor in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:45:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73349e5e75 
								
							 
						 
						
							
							
								
								WindowServer: don't set window location to (0,0) when fullscreening  
							
							
							
						 
						
							2024-11-15 20:43:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								74ae411b69 
								
							 
						 
						
							
							
								
								WindowServer: Skip invalidation on other windows in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:42:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d458592fb1 
								
							 
						 
						
							
							
								
								WindowServer: Don't focus unfocusable windows on window creation  
							
							
							
						 
						
							2024-11-15 20:41:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627c89a62d 
								
							 
						 
						
							
							
								
								LibGUI: Actually set window attributes when creating a window  
							
							
							
						 
						
							2024-11-14 23:33:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0228cd4f31 
								
							 
						 
						
							
							
								
								Kernel: Increase userspace stack size and decrease kernel stack  
							
							... 
							
							
							
							Quake II needs a lot of stack, it was overflowing my 256 KiB stack so
this patch doubles that, so Quake II can run!
Also every thread had 256 KiB kernel stack. This is unnecessarily large
and now dropped to 32 KiB. 
							
						 
						
							2024-11-14 21:03:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a859558840 
								
							 
						 
						
							
							
								
								LibGUI: Window Creation takes attributes as an argument  
							
							... 
							
							
							
							This reduces windows showing/moving once they are opened and setting
their attributes. 
							
						 
						
							2024-11-14 20:57:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								04eee2ea75 
								
							 
						 
						
							
							
								
								ports: Add quake2 port (+two years of banan-os!)  
							
							... 
							
							
							
							This patch adds software rendered quake2 port. I was supposted to push
this as two days ago as two years of banan-os, but I was too sick to do
any programming. 
							
						 
						
							2024-11-14 12:47:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bda2c663da 
								
							 
						 
						
							
							
								
								WindowServer: Implement fullscreen windows  
							
							... 
							
							
							
							If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance. 
							
						 
						
							2024-11-13 19:10:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e041e6e5a 
								
							 
						 
						
							
							
								
								WindowServer: Make all terminating signals exit cleanly  
							
							... 
							
							
							
							This allows window server to restore input handling to TTY if window
server crashes on page fault or some other unexpected exception. 
							
						 
						
							2024-11-13 17:32:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d19264eea8 
								
							 
						 
						
							
							
								
								WindowServer: Implement partial window resizing  
							
							... 
							
							
							
							This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete. 
							
						 
						
							2024-11-13 17:30:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64c52012df 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryRegion overlap comparison  
							
							... 
							
							
							
							This made some calls to `munmap` unmap extra regions. 
							
						 
						
							2024-11-13 17:26:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7542e55cb2 
								
							 
						 
						
							
							
								
								LibC: Add option to debug userspace malloc family calls  
							
							
							
						 
						
							2024-11-10 14:03:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6bd51ac345 
								
							 
						 
						
							
							
								
								LibGUI: Client window now exits if it loses connection from server  
							
							... 
							
							
							
							This can be prevented by installing callback for socket errors. 
							
						 
						
							2024-11-10 14:02:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf21eb4b39 
								
							 
						 
						
							
							
								
								TaskBar: Cleanup TaskBar string generation  
							
							
							
						 
						
							2024-11-08 02:57:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								da8170c5b6 
								
							 
						 
						
							
							
								
								LibGUI: Add support for focusable windows and mouse capturing  
							
							... 
							
							
							
							These are essential parts of a window server! This allows making TaskBar
non-focusable. 
							
						 
						
							2024-11-08 02:55:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								12bc7480e0 
								
							 
						 
						
							
							
								
								LibC: Implement _Exit  
							
							... 
							
							
							
							This just calls _exit as POSIX says they can be equivalent 
							
						 
						
							2024-11-08 02:52:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								92862fdf39 
								
							 
						 
						
							
							
								
								LibC: Implement nan{,f,l} as functions  
							
							... 
							
							
							
							One port was using function pointers to these functions so macros don't
work. 
							
						 
						
							2024-11-08 02:49:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4417268ecc 
								
							 
						 
						
							
							
								
								BAN: only include <new> in PlacementNew.h  
							
							... 
							
							
							
							I was getting annoying multiple definitions for placement new and my
build system requires that c++ libraries are compiled. I guess this is
the easiest and cleanest solution 
							
						 
						
							2024-11-08 02:48:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								346853ee55 
								
							 
						 
						
							
							
								
								BAN: Implement sincos to math  
							
							... 
							
							
							
							This function calculates both sin and cos fast (hopefully) 
							
						 
						
							2024-11-04 17:42:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a82f00cb70 
								
							 
						 
						
							
							
								
								BAN: Fix HashMap::{insert,emplace}_or_assign to actually assing value  
							
							... 
							
							
							
							I seemed to completely forgotten to do the assignment itself :D 
							
						 
						
							2024-11-04 15:42:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1838ea5c30 
								
							 
						 
						
							
							
								
								Kernel: Fix pseudo terminal leaks  
							
							
							
						 
						
							2024-11-04 15:35:07 +02:00