Bananymous 
							
						 
						
							
								9e1b5cbaab 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup CMake code to allow libc only installation  
							
							... 
							
							
							
							There was no way to just install libc which is required for stdlibc++ 
							
						 
						
							2024-06-21 01:45:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1488ec5a03 
								
							 
						 
						
							
							
								
								Userspace: Implement the most basic http server  
							
							... 
							
							
							
							This server just responds with static http "hello world" to every
incoming request 
							
						 
						
							2024-06-20 13:29:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f0457a268 
								
							 
						 
						
							
							
								
								Kernel: Rewrite a lot of TCP code and implement TCP server sockets  
							
							... 
							
							
							
							TCP stack is now implemented much closer to spec 
							
						 
						
							2024-06-20 13:26:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								30fdc2198f 
								
							 
						 
						
							
							
								
								BAN: Add exchage() to Atomic<T>  
							
							
							
						 
						
							2024-06-20 13:24:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bce16cdd6e 
								
							 
						 
						
							
							
								
								Kernel: Fix how socket closing works  
							
							... 
							
							
							
							Sockets are now closed only when they are not referenced any more. This
allows child process to close socket and still keep it open for the
parent. 
							
						 
						
							2024-06-19 10:39:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d5daa46ab8 
								
							 
						 
						
							
							
								
								General: Add default .vscode directory  
							
							... 
							
							
							
							The .vscode contains 2 C++ profiles that use my custom toolchain and
correct library include paths. One configuration is for kernel and other
for userspace 
							
						 
						
							2024-06-19 10:16:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad6d95ba52 
								
							 
						 
						
							
							
								
								BuildSystem: Rework the whole cmake build system  
							
							... 
							
							
							
							Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously 
							
						 
						
							2024-06-19 09:40:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								318ce5dec8 
								
							 
						 
						
							
							
								
								All: Fix a lot of compiler warnings from header files  
							
							... 
							
							
							
							While reworking build system, header files started to report warnings. 
							
						 
						
							2024-06-18 23:02:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								526d4369ce 
								
							 
						 
						
							
							
								
								Ports: Don't throw error if _installed_ does not exist  
							
							... 
							
							
							
							This was annoying and I got multiple people reporting it as a possible
bug. 
							
						 
						
							2024-06-18 13:16:33 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c69919738b 
								
							 
						 
						
							
							
								
								BuildSystem: Move all userpace libraries under the userspace directory  
							
							... 
							
							
							
							As the number of libraries is increasing, root directory starts to
expand. This adds better organization for libraries 
							
						 
						
							2024-06-18 13:14:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1b5a01a6c9 
								
							 
						 
						
							
							
								
								LibImage: Add support for PNG images  
							
							... 
							
							
							
							I have not tested images with less than 8 bits per color or images with
indexed color as gimp could not export those. There is currently no
support for interlaced images. 
							
						 
						
							2024-06-18 02:37:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f233715b70 
								
							 
						 
						
							
							
								
								BAN: Add d{print,want,error}ln_if macros for userspace  
							
							
							
						 
						
							2024-06-18 02:35:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a58ac18fa0 
								
							 
						 
						
							
							
								
								BAN: Add move constructors to ByteSpan  
							
							
							
						 
						
							2024-06-18 01:52:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f1e366d36f 
								
							 
						 
						
							
							
								
								Kernel: Free keyboard mutex while waiting for data to read  
							
							... 
							
							
							
							This was making select hang if one thread was trying to read from
keyboard. 
							
						 
						
							2024-06-17 23:04:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								301dcd78cc 
								
							 
						 
						
							
							
								
								LibImage: Compile with -O3  
							
							... 
							
							
							
							This makes image resizing with cubic interpolation around 10x faster 
							
						 
						
							2024-06-17 23:03:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								65c6d62a15 
								
							 
						 
						
							
							
								
								LibImage: Start work on PNG decoding  
							
							... 
							
							
							
							This patch adds PNG decoder that currently only inflates the PNG's zlib
deflate stream 
							
						 
						
							2024-06-17 22:58:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aaf7a249c6 
								
							 
						 
						
							
							
								
								image: Add nicer error message if image could not be parsed  
							
							
							
						 
						
							2024-06-17 22:58:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0bc8d49684 
								
							 
						 
						
							
							
								
								LibImage: Add image format probing  
							
							... 
							
							
							
							Instead of determining the image type in Image.cpp call image probing
functions for each supported image type 
							
						 
						
							2024-06-17 22:14:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								17ecbca204 
								
							 
						 
						
							
							
								
								BAN: Add network_endian_to_host  
							
							
							
						 
						
							2024-06-17 22:14:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								78928b7eb4 
								
							 
						 
						
							
							
								
								Ports: Add curl port!  
							
							
							
						 
						
							2024-06-17 21:40:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5236e1ef0d 
								
							 
						 
						
							
							
								
								LibC: Add dummy functions for rename() and strftime()  
							
							... 
							
							
							
							I don't really want to implement them right now, but they are required
to exist for some ports. 
							
						 
						
							2024-06-17 21:02:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								be7ed8e74a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement {get,set}sockopt()  
							
							... 
							
							
							
							These are pretty much dummy functions in the kernel side. Only case that
is handled is SOL_SOCKET with SO_ERROR. This is hard coded to return no
error. Network stack is currently synchronous, so all errors are already
reported through synchronous network functions. 
							
						 
						
							2024-06-17 20:56:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								78bcb85679 
								
							 
						 
						
							
							
								
								LibC: Implement gethostbyname()  
							
							... 
							
							
							
							This is not a POSIX function, but curl seems to depend on it. It is
even deprecated on linux... 
							
						 
						
							2024-06-17 20:55:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b98bb9eb27 
								
							 
						 
						
							
							
								
								LibC: Add HOST_NAME_MAX definition  
							
							
							
						 
						
							2024-06-17 20:55:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cad55a4da5 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement getsockname for ipv4 sockets  
							
							
							
						 
						
							2024-06-17 20:54:45 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								511fc870a1 
								
							 
						 
						
							
							
								
								BAN: Mark RefPtr and WeakPtr operator bool() as explicit  
							
							
							
						 
						
							2024-06-17 20:19:36 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dafd2fecf7 
								
							 
						 
						
							
							
								
								LibC: Implement gmtime() and localtime()  
							
							... 
							
							
							
							localtime() just returns gmtime() as there is no timezone support 
							
						 
						
							2024-06-17 16:51:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9c5cca784e 
								
							 
						 
						
							
							
								
								LibC: Implement bsearch()  
							
							
							
						 
						
							2024-06-17 16:51:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1138165308 
								
							 
						 
						
							
							
								
								LibC: Define PF_* macros on sys/socket.h  
							
							
							
						 
						
							2024-06-17 16:50:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d7eb321d58 
								
							 
						 
						
							
							
								
								LibC: Make assert() macro a void expression  
							
							
							
						 
						
							2024-06-17 16:49:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								15f8c7014f 
								
							 
						 
						
							
							
								
								BAN: Add line endings to d{warn,error}ln  
							
							
							
						 
						
							2024-06-17 16:48:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								dd64e2060e 
								
							 
						 
						
							
							
								
								WindowServer: Add support for background images  
							
							... 
							
							
							
							WindowServer now looks in _$HOME/.config/WindowServer.conf_ for a
configuration file that can specify a background image.
Also add default background image /usr/share/images/sample.ppm to the
base sysroot provided in the git repo. 
							
						 
						
							2024-06-16 00:28:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								14d4551476 
								
							 
						 
						
							
							
								
								LibImage: Add rgba getter for Image::Color  
							
							... 
							
							
							
							Actually the format is 0xAARRGGBB which is what my framebuffer uses. 
							
						 
						
							2024-06-16 00:23:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e6549b0fe8 
								
							 
						 
						
							
							
								
								LibImage: Implement (bi)cubic interpolation  
							
							... 
							
							
							
							This is kind of slow but yields much nicer results compared to
(bi)linear interpolation. I should probably add gamma correction... 
							
						 
						
							2024-06-15 23:05:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								157e05f57c 
								
							 
						 
						
							
							
								
								image: Implement --scale argument to scale image to framebuffer  
							
							... 
							
							
							
							Also fix bug where red and blue channels were flipped 
							
						 
						
							2024-06-15 17:24:01 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96efd1e8b9 
								
							 
						 
						
							
							
								
								LibImage: Implement image resize using nearest or bilinear filters  
							
							
							
						 
						
							2024-06-15 17:23:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								672ce40618 
								
							 
						 
						
							
							
								
								LibImage: Move userspace image parsing to its own library  
							
							... 
							
							
							
							The image utility now uses this tool instead of parsing images on its
own. 
							
						 
						
							2024-06-14 11:05:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								05e9d76c77 
								
							 
						 
						
							
							
								
								BAN: Implement will_{addition,multiplication}_overflow  
							
							
							
						 
						
							2024-06-14 11:04:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ea7fc7f6c4 
								
							 
						 
						
							
							
								
								Kernel: Implement read-only FAT12/16/32 driver with long name support  
							
							... 
							
							
							
							You can now mount FAT filesystems! This code might not work perfectly
but my quick testing seemed to work on all (FAT12/16/32) variants. 
							
						 
						
							2024-06-14 01:04:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6b1d5d28be 
								
							 
						 
						
							
							
								
								Kernel: VFS root now has to be block device instead of partition  
							
							
							
						 
						
							2024-06-14 00:19:12 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a9b0bfa740 
								
							 
						 
						
							
							
								
								LibC: Make ino_t always 64 bit  
							
							
							
						 
						
							2024-06-14 00:18:21 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cc6b80a55b 
								
							 
						 
						
							
							
								
								BAN: Optimize Vector copy assignment to reduce allocations  
							
							... 
							
							
							
							If vector contains enough elements, it will now replace old elements
instead of clearing and reallocating 
							
						 
						
							2024-06-14 00:17:28 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6707989cd5 
								
							 
						 
						
							
							
								
								BAN: Implement same_as and add requires for BAN::Function with lambda  
							
							... 
							
							
							
							BAN::Function(lambda) now requires that the object is callable and
returns the correct type. This allows overloads with different
callback formats. 
							
						 
						
							2024-06-14 00:15:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								766439db6d 
								
							 
						 
						
							
							
								
								Kernel: Start work on adding support for new filesystems  
							
							... 
							
							
							
							Old code tried to create ext2 filesystem from all devices. 
							
						 
						
							2024-06-11 10:50:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d4903caafa 
								
							 
						 
						
							
							
								
								Kernel: Combine consecutive mouse move and scroll events  
							
							... 
							
							
							
							This makes mouse work much smoother when running without kvm. 
							
						 
						
							2024-06-11 00:07:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								caa0111c79 
								
							 
						 
						
							
							
								
								BAN: Implement back() for CircularQueue  
							
							
							
						 
						
							2024-06-11 00:05:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ffacff67cf 
								
							 
						 
						
							
							
								
								LibFont: Move PSF code to separate file  
							
							
							
						 
						
							2024-06-10 16:10:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f43a7fdfb4 
								
							 
						 
						
							
							
								
								Ports/doom: Doom now runs inside a window  
							
							
							
						 
						
							2024-06-10 16:10:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7bb1a3906d 
								
							 
						 
						
							
							
								
								BuildSystem: Run kvm-ok to determine kvm access  
							
							
							
						 
						
							2024-06-10 16:10:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								530c259e71 
								
							 
						 
						
							
							
								
								Kernel: Close unix domain socket when it gets destoyed  
							
							... 
							
							
							
							Inode closing is something that needs a complete rework. Currently all
sockets are closed when close() is called, which leads to connection
closing if you fork()/exec() with socket being marked as CLOEXEC.
Inodes should probably only be closed once they are not referenced
anywhere. 
							
						 
						
							2024-06-03 18:06:01 +03:00