Bananymous 
							
						 
						
							
								0e714d5eb4 
								
							 
						 
						
							
							
								
								BAN: Implement String::operator==(const String&)  
							
							
							
						 
						
							2023-12-24 13:36:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9b8e6e6629 
								
							 
						 
						
							
							
								
								BAN: Implement is_*constructable  
							
							
							
						 
						
							2023-12-24 13:36:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4146f2777b 
								
							 
						 
						
							
							
								
								AOC2023: Implement 10 hour solution to day19 part2  
							
							
							
						 
						
							2023-12-23 20:53:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64323c51e6 
								
							 
						 
						
							
							
								
								AOC2023: Implement day19 part 1  
							
							
							
						 
						
							2023-12-23 18:47:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a0200a7b10 
								
							 
						 
						
							
							
								
								AOC2023: Implement day18 part 1  
							
							
							
						 
						
							2023-12-23 18:47:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8add759b5d 
								
							 
						 
						
							
							
								
								AOC2023: Implement day17 part1  
							
							
							
						 
						
							2023-12-23 18:46:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2faf90bc2b 
								
							 
						 
						
							
							
								
								AOC2023: Add script to create day template and download input  
							
							
							
						 
						
							2023-12-23 18:46:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								762d575d70 
								
							 
						 
						
							
							
								
								AOC2023: Add program to run all days  
							
							
							
						 
						
							2023-12-23 18:45:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2e77718f07 
								
							 
						 
						
							
							
								
								BAN: Implement find() for StringView  
							
							
							
						 
						
							2023-12-23 18:43:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f371fabe35 
								
							 
						 
						
							
							
								
								BAN: HashSet is now internally Vector<LinkedList<T>>  
							
							... 
							
							
							
							It used to be Vector<Vector<T>> but this feels more proper 
							
						 
						
							2023-12-23 16:37:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								79a15132da 
								
							 
						 
						
							
							
								
								BAN: Cleanup HashSet  
							
							... 
							
							
							
							I now use BAN::Iterator as the base iterator. Also unstable version
was added. 
							
						 
						
							2023-12-23 16:32:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bacc0db778 
								
							 
						 
						
							
							
								
								BAN: Fix unstable hash map rebucket  
							
							
							
						 
						
							2023-12-23 16:31:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3963afe343 
								
							 
						 
						
							
							
								
								BAN: Add unstable version of hash map  
							
							... 
							
							
							
							This version differs only when doing rebucket. If rebucket fails,
the whole hash map is invalidated. This allows rebucketing to use
moving instead of copying. 
							
						 
						
							2023-12-19 22:23:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3b21cc90ae 
								
							 
						 
						
							
							
								
								AOC2023: Add helper for downloading puzzle input  
							
							
							
						 
						
							2023-12-19 22:22:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4e900804b8 
								
							 
						 
						
							
							
								
								AOC2023: Implement day16  
							
							
							
						 
						
							2023-12-19 22:22:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9ec733904f 
								
							 
						 
						
							
							
								
								AOC2023: Implement day15  
							
							
							
						 
						
							2023-12-19 21:42:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3352640d09 
								
							 
						 
						
							
							
								
								LibC: strlen had to be marked not optimized...  
							
							
							
						 
						
							2023-12-19 21:42:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								637397dd2f 
								
							 
						 
						
							
							
								
								LibC: Make memcpy and memset not optimized  
							
							... 
							
							
							
							GCC does some weird optimizations and breaks these functions 
							
						 
						
							2023-12-19 21:42:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5edbb1d5c4 
								
							 
						 
						
							
							
								
								LibC: make execvp fail if no executable found  
							
							
							
						 
						
							2023-12-19 21:42:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f46240e879 
								
							 
						 
						
							
							
								
								AOC2023: Implement day14  
							
							
							
						 
						
							2023-12-19 02:49:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								68627995f8 
								
							 
						 
						
							
							
								
								AOC2023: Implement day13  
							
							
							
						 
						
							2023-12-19 01:25:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								951eac6bfa 
								
							 
						 
						
							
							
								
								Kernel: Implement hacky non-block read for ps2 keyboard  
							
							
							
						 
						
							2023-12-19 00:20:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0833d7b43f 
								
							 
						 
						
							
							
								
								Kernel: Allow opening files with O_NONBLOCK  
							
							
							
						 
						
							2023-12-19 00:20:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1cd5b3c20c 
								
							 
						 
						
							
							
								
								LibC: Fix stpncpy  
							
							... 
							
							
							
							I had misunderstood and tought that the string is always
null terminated 
							
						 
						
							2023-12-15 00:33:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c773e2ed07 
								
							 
						 
						
							
							
								
								LibC: Optimize malloc even further  
							
							... 
							
							
							
							aoc2023/day12 now runs in 3.5 seconds on my machine. This is way
better than the old almost hour. 
							
						 
						
							2023-12-14 23:49:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c4186bd5f0 
								
							 
						 
						
							
							
								
								LibC: Compile with -O2 optimizations  
							
							... 
							
							
							
							I have no idea why libc had no optimizations enabled.
Weird thing is that memcpy optimized to infinite loop if I kept the
__restrict__ attributes in pointers. I don't think there was any ub. 
							
						 
						
							2023-12-14 23:40:08 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5f640da166 
								
							 
						 
						
							
							
								
								LibC: Optimize malloc by a lot  
							
							... 
							
							
							
							I now cache first free node in malloc_pool and whether the node is
last or not. There allow doing less full iterations over the whole
malloc pool.
Malloc is still unbearably slow and I will have to write a proper
fast malloc at some point. With this patch running aoc2023/day12 is
atleast possible. Probabaly will take closer to an hour... 
							
						 
						
							2023-12-14 15:31:00 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7320104fd0 
								
							 
						 
						
							
							
								
								LibC: Mark __assert_fail as noreturn  
							
							
							
						 
						
							2023-12-14 15:13:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d273c5e77c 
								
							 
						 
						
							
							
								
								rm: Use remove instead of unlink for removing files  
							
							
							
						 
						
							2023-12-14 11:03:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8344f2f9ab 
								
							 
						 
						
							
							
								
								AOC2023: Fix day3 implementation  
							
							... 
							
							
							
							I accidently broke my day3 when messing with signed/unsigned integers 
							
						 
						
							2023-12-14 11:03:19 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								600bd7ee0f 
								
							 
						 
						
							
							
								
								LibC: Implement rmdir in unistd.h  
							
							
							
						 
						
							2023-12-14 11:02:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adf1e54605 
								
							 
						 
						
							
							
								
								LibC: Implement more functions to string.h  
							
							
							
						 
						
							2023-12-14 11:02:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a3de64f5fa 
								
							 
						 
						
							
							
								
								LibC: Implement basic version of system() this assumes Shell exists  
							
							
							
						 
						
							2023-12-14 11:00:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8216d09e06 
								
							 
						 
						
							
							
								
								LibC: Implement non-locale specific functions from strings.h  
							
							
							
						 
						
							2023-12-14 10:59:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								694cda6e40 
								
							 
						 
						
							
							
								
								LibC: Implement remove for stdio  
							
							
							
						 
						
							2023-12-14 10:58:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e227a87140 
								
							 
						 
						
							
							
								
								Kernel: Allow creating directories if path ends with '/'  
							
							... 
							
							
							
							Also create and create_dir will now fail with EEXISTS if file exists 
							
						 
						
							2023-12-14 10:56:53 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6cd5763361 
								
							 
						 
						
							
							
								
								Kernel: Allow cloning of mmapped framebuffer regions  
							
							
							
						 
						
							2023-12-14 10:54:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0f1c740fe8 
								
							 
						 
						
							
							
								
								Kernel: Implement two missing ubsan handlers needed by lai  
							
							
							
						 
						
							2023-12-14 10:53:36 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3f3e81fcf2 
								
							 
						 
						
							
							
								
								Bootloader: Align boot information passed to kernel  
							
							... 
							
							
							
							UBSAN found this bug 
							
						 
						
							2023-12-14 10:52:51 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								862993398d 
								
							 
						 
						
							
							
								
								AOC2023: Implement day12  
							
							... 
							
							
							
							There seems to be a problem with my malloc so the hash map is not
working. This code worked fine on my linux with actually working
malloc :D 
							
						 
						
							2023-12-14 10:51:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								225c7c6ab4 
								
							 
						 
						
							
							
								
								AOC2023: Implement day11  
							
							
							
						 
						
							2023-12-11 14:36:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								58633ca373 
								
							 
						 
						
							
							
								
								AOC2023: Remove unnecessary loop  
							
							
							
						 
						
							2023-12-10 20:18:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								00d57d783e 
								
							 
						 
						
							
							
								
								LibC+userspace: Make everything compile with -Wall -Wextra -Werror  
							
							... 
							
							
							
							I added -Wall -Wextra -Werror as public compile flags to libc. Now
everything in userspace in compiled using these flags. I made all
necessary changes to allow compilation to work.
Only exception is execvp which has a large stack usage. Maybe it
should use malloc for the buffer but posix allows ENOMEM only when
kernel is out of memory... This can be fixed when fexecve is
implemented and there is no need for absolute path. 
							
						 
						
							2023-12-10 19:20:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f077e17b2a 
								
							 
						 
						
							
							
								
								AOC2023: Implement day10  
							
							
							
						 
						
							2023-12-10 18:28:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2f8759d2d3 
								
							 
						 
						
							
							
								
								Kernel: Make ext2 fs work with block sizes != 1024  
							
							
							
						 
						
							2023-12-10 01:32:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6bfbbf655 
								
							 
						 
						
							
							
								
								ls: Rewrite whole program for cleaner output  
							
							... 
							
							
							
							ls -l now sorts elements and aligns them by columns. 
							
						 
						
							2023-12-10 01:05:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9d8c9baa3f 
								
							 
						 
						
							
							
								
								LibC: Remove unnecessary RWX mask definition  
							
							
							
						 
						
							2023-12-09 19:43:49 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c273bf98c9 
								
							 
						 
						
							
							
								
								ls+stat: show setuid, setgid and sticky bits  
							
							
							
						 
						
							2023-12-09 19:43:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								99a5b6e2ef 
								
							 
						 
						
							
							
								
								AOC2023: Cleanup day9 code  
							
							... 
							
							
							
							Move tree building to its own function. Both parts can use the same
tree. This also decreaseas memory usage by one element by row :D 
							
						 
						
							2023-12-09 19:08:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								284a012509 
								
							 
						 
						
							
							
								
								Kernel: Add framebuffer information to kernel image  
							
							
							
						 
						
							2023-12-09 17:33:58 +02:00