Bananymous 
							
						 
						
							
								5fa359c28d 
								
							 
						 
						
							
							
								
								ls: Print file name in quotes if it contains spaces  
							
							
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5bcfc9dd50 
								
							 
						 
						
							
							
								
								Shell: Always print prompt to new line  
							
							... 
							
							
							
							This is only done on non banan-os targets if terminal is detected to
support cursor position querying 
							
						 
						
							2024-10-07 18:01:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f67cad326a 
								
							 
						 
						
							
							
								
								Shell: Don't crash when there are no tab completions available :D  
							
							
							
						 
						
							2024-10-07 14:26:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9775e83374 
								
							 
						 
						
							
							
								
								Shell: Fix tab space escaping in tab completion  
							
							
							
						 
						
							2024-10-07 04:19:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								264d1798dc 
								
							 
						 
						
							
							
								
								Shell: Clenup code and fix some bugs  
							
							... 
							
							
							
							Don't list tab completion multiple times, allow `clear` to work even
when ANSI CSI 3K is not supported, reset buffer index when cancelling
command with ctrl+c 
							
						 
						
							2024-10-07 04:10:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1824988b9a 
								
							 
						 
						
							
							
								
								Shell: Add support for simple aliases  
							
							... 
							
							
							
							Aliases do not support chained commands with pipes, &&, ... but this is
a good start. 
							
						 
						
							2024-10-07 04:09:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c54d9b3f60 
								
							 
						 
						
							
							
								
								Shell: Implement simple tab completion for commands and files  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f432d3fcf8 
								
							 
						 
						
							
							
								
								BAN: Cleanup Optional casting for value getters  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f7828bab9 
								
							 
						 
						
							
							
								
								Shell: Allow escaping spaces in commands  
							
							
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ae073a336d 
								
							 
						 
						
							
							
								
								Shell: Move builtin commands to a hash map  
							
							... 
							
							
							
							This allows accessing builtin commands outside of `execute_builtin` 
							
						 
						
							2024-10-07 01:44:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f90974896 
								
							 
						 
						
							
							
								
								BAN: Fix StringView::starts_with  
							
							... 
							
							
							
							I have no idea what i had been thinking when writing this code :D 
							
						 
						
							2024-10-06 06:23:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f3c05851c 
								
							 
						 
						
							
							
								
								Shell: Expand ~ to home if its at the start of non quoted argument  
							
							
							
						 
						
							2024-10-06 01:38:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4b13055125 
								
							 
						 
						
							
							
								
								Shell: Make builtin exit command read exit value from argument  
							
							... 
							
							
							
							Shell used to unconditionally return with exit code of 0 
							
						 
						
							2024-10-06 01:24:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d542cd811d 
								
							 
						 
						
							
							
								
								Shell: Add support for &&, || and ;  
							
							
							
						 
						
							2024-10-06 01:24:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f75cebac7e 
								
							 
						 
						
							
							
								
								Shell: Mark all functions as static  
							
							
							
						 
						
							2024-10-05 19:11:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e302b6b635 
								
							 
						 
						
							
							
								
								Shell: Use sigaction instead of signal  
							
							... 
							
							
							
							This allows ctrl-c to work on linux :D 
							
						 
						
							2024-10-05 19:07:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f709e88994 
								
							 
						 
						
							
							
								
								Shell: Cleanup argument handling and exiting  
							
							
							
						 
						
							2024-10-04 17:54:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab9a6d583b 
								
							 
						 
						
							
							
								
								Userspace: Set SHELL environment variable in init instead of shell  
							
							
							
						 
						
							2024-10-04 17:24:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								26d6bf338e 
								
							 
						 
						
							
							
								
								Shell: Ignore SIGTTOU and set pgroup from parent instead of child  
							
							... 
							
							
							
							This allows using the shell in linux! 
							
						 
						
							2024-10-04 17:23:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b6e040dfc2 
								
							 
						 
						
							
							
								
								Kernel/Shell: Fix backspace and delete key byte sequences  
							
							
							
						 
						
							2024-10-04 04:14:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f5802ca3e5 
								
							 
						 
						
							
							
								
								General: Update screenshot in README  
							
							
							
						 
						
							2024-09-30 18:28:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7223e581a2 
								
							 
						 
						
							
							
								
								WindowServer: Fix 32 bit compilation with -Werror  
							
							... 
							
							
							
							There was a always false statement on 32 bit that the compliler was
warning about. 
							
						 
						
							2024-09-27 15:33:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2d11ce9669 
								
							 
						 
						
							
							
								
								Kernel: Fix interrupt system  
							
							... 
							
							
							
							I had not understood how MSIs work and I was unnecessarily routing them
through IOAPIC. This is not necessary and should not be done :D
Also MSIs were reserving interrupts that IOAPIC was capable of
generating. Now IOAPIC and MSIs use different set of interrupts so
IOAPIC can use more interrupts if needed. 
							
						 
						
							2024-09-27 15:31:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e4982a1a5c 
								
							 
						 
						
							
							
								
								LibC: Fix printf with alternate format and zero values  
							
							
							
						 
						
							2024-09-26 15:25:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cea6dedccc 
								
							 
						 
						
							
							
								
								Userspace: Compile programs and libraries with -Wall -Wextra -Werror  
							
							
							
						 
						
							2024-09-26 15:20:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e6ed5a388d 
								
							 
						 
						
							
							
								
								BuildSystem: Export compile commands for clangd  
							
							
							
						 
						
							2024-09-26 15:14:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b89fc3fe87 
								
							 
						 
						
							
							
								
								Kernel: Implement ANSI SGR 7 to invert colors  
							
							... 
							
							
							
							This allows vim's visual selection to show up 
							
						 
						
							2024-09-26 15:08:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57ae74f908 
								
							 
						 
						
							
							
								
								Terminal: Implement more ANSI escape handling  
							
							... 
							
							
							
							This patch adds L and M codes for inserting and deleting lines and SGR 7
for inverting colors 
							
						 
						
							2024-09-26 15:07:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a6804b4b4 
								
							 
						 
						
							
							
								
								Terminal: Make Terminal::handle_csi() return invalidated rectangle  
							
							... 
							
							
							
							When I updated Terminal to only do a single invalidation after all of
input text was printed, I forgot to change handle_csi 
							
						 
						
							2024-09-26 15:05:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82e6a3582d 
								
							 
						 
						
							
							
								
								LibGUI: cleanup Window::shift_vertical and add copy_horizontal_slice  
							
							
							
						 
						
							2024-09-26 15:00:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11a4e4faa2 
								
							 
						 
						
							
							
								
								LibImage: Add Adam7 support for PNG decoder  
							
							
							
						 
						
							2024-09-26 11:47:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								50a3533322 
								
							 
						 
						
							
							
								
								LibInput: Add value for ESC in key_to_utf8_ansi  
							
							... 
							
							
							
							This allows exiting vim when using this function for key mappings :D 
							
						 
						
							2024-09-24 18:08:34 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4e9f39384a 
								
							 
						 
						
							
							
								
								LibC: Initialize libc only once  
							
							... 
							
							
							
							This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D 
							
						 
						
							2024-09-24 17:56:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								39802b56c1 
								
							 
						 
						
							
							
								
								Kernel: Allow SYS_EXEC to fail at any point  
							
							... 
							
							
							
							This patch builds new executable image to another pml4 structure and
only after everything is validated will current context be replaced.
This allows exec to fail "late" where previously it would panic the
kernel or kill the process. This allows graceful handling of exec
failures in userspace! 
							
						 
						
							2024-09-24 16:29:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ebb87ccdde 
								
							 
						 
						
							
							
								
								Kernel: Add asserts for overflow checks with ms -> ns conversions  
							
							
							
						 
						
							2024-09-24 16:28:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0e55938c1 
								
							 
						 
						
							
							
								
								Kernel: Allow initial binding of threads to specific processor  
							
							
							
						 
						
							2024-09-24 16:27:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								348d04f7f5 
								
							 
						 
						
							
							
								
								Kernel: Implement static Process::kill()  
							
							... 
							
							
							
							This allows killing processes even when there does not exist a current
thread. 
							
						 
						
							2024-09-24 13:16:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1b0086217c 
								
							 
						 
						
							
							
								
								Terminal: Do scrolling in putchar if necessary  
							
							... 
							
							
							
							I overlooked that handling *newline* scrolls would be enough. You can
definitely scroll more if printing a lot of text which wraps to the next
line. 
							
						 
						
							2024-09-23 15:00:47 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d395cf38b7 
								
							 
						 
						
							
							
								
								Kernel: Binding to port 0 will always find unused port  
							
							
							
						 
						
							2024-09-22 17:30:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								57aec2a733 
								
							 
						 
						
							
							
								
								Kernel: Validate pointer's when printing stack trace  
							
							... 
							
							
							
							There was an kernel panic if stack trace contained uncanonical
addresses. 
							
						 
						
							2024-09-22 17:16:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ae89237453 
								
							 
						 
						
							
							
								
								Kernel: Disable warning when calling syscall  
							
							... 
							
							
							
							This warning is only generated when compiling with UBSAN and I don't see
how the value would even be uninitialzed. 
							
						 
						
							2024-09-22 17:15:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								60d5257678 
								
							 
						 
						
							
							
								
								Kenrel: Add __builtin_unreachable support for UBSAN  
							
							
							
						 
						
							2024-09-22 17:14:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d59463d11b 
								
							 
						 
						
							
							
								
								Kernel: Fix TTY reading one keyevent after disabling input handling  
							
							
							
						 
						
							2024-09-22 17:13:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1280528e4e 
								
							 
						 
						
							
							
								
								BuildSystem: Use -O2 for all libraries  
							
							... 
							
							
							
							I don't know why I had not specified optimization level for libraries.
Only LibImage was using explicit -O3. LibImage doesn't need O3 anymore
as O2 seems to be around the same speed. 
							
						 
						
							2024-09-20 20:04:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								23d6205659 
								
							 
						 
						
							
							
								
								Kernel: Move DEBUG_* macros to centralized Debug.h  
							
							... 
							
							
							
							This makes toggling debug info much easier 
							
						 
						
							2024-09-20 11:00:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bc0acc6f44 
								
							 
						 
						
							
							
								
								Kernel: Validate network packet sizes before casting  
							
							... 
							
							
							
							This caused a lot of crashes on invalid packets :D 
							
						 
						
							2024-09-20 10:46:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b8622f2b4b 
								
							 
						 
						
							
							
								
								Kernel: Implement simple RTL8169 driver  
							
							... 
							
							
							
							This allows me to use internet when running banan-os on my hardware! 
							
						 
						
							2024-09-19 22:58:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7f0c39fe91 
								
							 
						 
						
							
							
								
								Kernel: Don't crash the kernel if packet is smaller than ethernet hdr  
							
							
							
						 
						
							2024-09-19 22:51:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a489be0e05 
								
							 
						 
						
							
							
								
								Kernel: Allow parallel LAPIC timer initialization with HPET  
							
							... 
							
							
							
							HPET supports reading LAPIC counter without locks, so it can be done in
parallel. This makes booting much faster. Previously initializing every
timer took 100 ms, so 16 CPUs took total of 1.6 seconds. This allows
doing it all in 100 ms. 
							
						 
						
							2024-09-19 14:41:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8e08046519 
								
							 
						 
						
							
							
								
								Kernel: Add asserts about having locked TTY's write lock  
							
							... 
							
							
							
							This for some reason fixes booting on real hardware? :D 
							
						 
						
							2024-09-18 00:56:48 +03:00