Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1cf7ef3de6 
								
							 
						 
						
							
							
								
								Kernel: Remove offset from OpenFileDescriptor  
							
							 
							
							... 
							
							
							
							This is now handled on the libc side. There might be reasons to
have it in kernel side, but for simplicity's sake I'm moving it
to libc for now :) 
							
						 
						
							2023-05-09 20:31:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5248a3fe48 
								
							 
						 
						
							
							
								
								LibC: Fix bug in *printf  
							
							 
							
							
							
						 
						
							2023-05-09 20:30:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c2ad76fe4f 
								
							 
						 
						
							
							
								
								BAN: Error uses 64 bit error codes  
							
							 
							
							
							
						 
						
							2023-05-07 02:09:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								10d9b72da1 
								
							 
						 
						
							
							
								
								LibC: syscall() now returns -1 on error and updates errno  
							
							 
							
							
							
						 
						
							2023-05-07 01:51:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2fe9af7165 
								
							 
						 
						
							
							
								
								Kernel/LibC: add free function for FixedWidthAllocator  
							
							 
							
							... 
							
							
							
							I have to rework the syscall API and allocators in process. For
now this works well enough :) 
							
						 
						
							2023-05-07 01:21:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ff5bcd4416 
								
							 
						 
						
							
							
								
								Kernel: Add basic fixed width allocator for userspace  
							
							 
							
							... 
							
							
							
							We have to move process stacks to the general heap and maybe map
kernel to higher half. 
							
						 
						
							2023-05-06 19:58:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5bfcf6783e 
								
							 
						 
						
							
							
								
								LibC: add proper stdlib.h header  
							
							 
							
							... 
							
							
							
							Function declarations taken from the posix specifications 
							
						 
						
							2023-04-27 15:14:03 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								94f8a657f1 
								
							 
						 
						
							
							
								
								LibC: add link to posix stdio.h  
							
							 
							
							
							
						 
						
							2023-04-27 14:16:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0718bea5a1 
								
							 
						 
						
							
							
								
								LibC: Fix some bugs  
							
							 
							
							
							
						 
						
							2023-04-25 13:27:01 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7b19d6e479 
								
							 
						 
						
							
							
								
								LibC: fread() now does a single syscall  
							
							 
							
							
							
						 
						
							2023-04-25 12:38:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b15deb420f 
								
							 
						 
						
							
							
								
								LibC: Write mostly functioning stdio  
							
							 
							
							
							
						 
						
							2023-04-23 14:32:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c15f031c3f 
								
							 
						 
						
							
							
								
								LibC: puts() now just calls syscall(SYS_WRITE, ...)  
							
							 
							
							
							
						 
						
							2023-04-22 15:29:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1b4c744974 
								
							 
						 
						
							
							
								
								LibC: syscalls have now proper argument order  
							
							 
							
							
							
						 
						
							2023-04-22 15:29:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								702016a6e3 
								
							 
						 
						
							
							
								
								LibC: exit() calls _fini()  
							
							 
							
							
							
						 
						
							2023-04-19 00:42:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fe87c08a02 
								
							 
						 
						
							
							
								
								LibC: add needed stubs to build executables with our compiler  
							
							 
							
							
							
						 
						
							2023-04-12 17:53:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8d6db168d6 
								
							 
						 
						
							
							
								
								Kernel: remove message from BAN::Error  
							
							 
							
							... 
							
							
							
							We don't store the error message anymore in BAN::Error.
Instead we store a error code that can be mapped into a string.
This allows BAN::Error to only take 4 bytes instead of 128.
We should also make some kernel initialization just panic instead
of returning errors since they are required for succesfull boot
anyway. 
							
						 
						
							2023-04-11 23:25:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c660df14ec 
								
							 
						 
						
							
							
								
								BuildSystem: Fix header copying to sysroot  
							
							 
							
							... 
							
							
							
							We used to copy all headers everytime to sysroot which caused
rebuild of the whole os. Now we use the cmake command
'copy_directory_if_different' which seemed to fix this issue :) 
							
						 
						
							2023-04-10 21:07:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9f977488fa 
								
							 
						 
						
							
							
								
								BuildSystem: cmake can now build out libc  
							
							 
							
							... 
							
							
							
							I can't seem to get libc++ build to work... 
							
						 
						
							2023-04-10 21:07:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ac0b22f9b9 
								
							 
						 
						
							
							
								
								LibC: remove old unused files  
							
							 
							
							
							
						 
						
							2023-04-07 02:26:44 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5db5ff069a 
								
							 
						 
						
							
							
								
								BuildSystem: you can now build the toolchain with cmake  
							
							 
							
							
							
						 
						
							2023-04-06 00:23:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e760bafeeb 
								
							 
						 
						
							
							
								
								LibC: add stubs for a lot of functions  
							
							 
							
							
							
						 
						
							2023-04-05 23:58:40 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								12351d5cb6 
								
							 
						 
						
							
							
								
								LibC: sys/types uses 'typedef' instead of 'using'  
							
							 
							
							
							
						 
						
							2023-04-05 15:03:24 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								22c72d8c70 
								
							 
						 
						
							
							
								
								LibC: Add errno ENOTTY  
							
							 
							
							
							
						 
						
							2023-04-05 02:47:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fe10ea85db 
								
							 
						 
						
							
							
								
								LibC: Add unistd.h with STD{IN,OUT,ERR}_FILENO definitions  
							
							 
							
							
							
						 
						
							2023-04-05 00:59:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								914f718767 
								
							 
						 
						
							
							
								
								LibC: add device macros in sys/sysmacros.h  
							
							 
							
							
							
						 
						
							2023-04-03 10:59:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e49d3c7bfe 
								
							 
						 
						
							
							
								
								BuildSystem: We are now using cmake instead of plain make  
							
							 
							
							... 
							
							
							
							I have been annoyed for a while since I had to build everything
when running the os since the buildsystem was really bad.
I wanted to rewrite the whole build system and changed to using cmake
:) 
							
						 
						
							2023-04-02 04:07:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c5b83074ac 
								
							 
						 
						
							
							
								
								LibC: Combine string.h functions definitions to single file  
							
							 
							
							
							
						 
						
							2023-04-02 00:00:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f4db246658 
								
							 
						 
						
							
							
								
								LibC: add ENOBUFS errno  
							
							 
							
							
							
						 
						
							2023-03-29 10:58:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a011c0384f 
								
							 
						 
						
							
							
								
								LibC: add dirent.h  
							
							 
							
							
							
						 
						
							2023-03-25 02:08:33 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0d356c5bbc 
								
							 
						 
						
							
							
								
								LibC: Add stat structure  
							
							 
							
							
							
						 
						
							2023-03-24 18:08:22 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8ac1ae1574 
								
							 
						 
						
							
							
								
								LibC: add more typedefs to sys/types  
							
							 
							
							
							
						 
						
							2023-03-23 19:24:12 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5831c72aad 
								
							 
						 
						
							
							
								
								LibC: add errno NAMETOOLONG  
							
							 
							
							
							
						 
						
							2023-03-23 14:48:42 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0c582b4490 
								
							 
						 
						
							
							
								
								LibC: add errno ENOTEMPTY  
							
							 
							
							
							
						 
						
							2023-03-19 05:43:40 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								61caf566fc 
								
							 
						 
						
							
							
								
								LibC: add errno EEXISTS  
							
							 
							
							
							
						 
						
							2023-03-19 04:17:39 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ceb53533be 
								
							 
						 
						
							
							
								
								LibC: add fcntl.h with some defines  
							
							 
							
							
							
						 
						
							2023-03-17 21:18:41 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e2707b9416 
								
							 
						 
						
							
							
								
								LibC: Add EBADF errno  
							
							 
							
							
							
						 
						
							2023-03-16 16:22:11 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4493c9bbe6 
								
							 
						 
						
							
							
								
								LibC: Add ENTOSUP errno  
							
							 
							
							
							
						 
						
							2023-03-16 16:03:51 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1b7625581d 
								
							 
						 
						
							
							
								
								Kernel: Add basic concept of Processes  
							
							 
							
							... 
							
							
							
							We now create Shell as a process that has its own threads 
							
						 
						
							2023-03-16 12:17:04 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								10ef3c6a54 
								
							 
						 
						
							
							
								
								LibC: add declarations for malloc and free  
							
							 
							
							
							
						 
						
							2023-03-04 02:59:48 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								53ec66ff86 
								
							 
						 
						
							
							
								
								LibC: strerror now always uses a buffer to which it copies the string  
							
							 
							
							
							
						 
						
							2023-03-02 22:13:08 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								52aa98ba25 
								
							 
						 
						
							
							
								
								Kernel+LibC: Add some errno codes  
							
							 
							
							... 
							
							
							
							Kernel now returns ENOMEM and other errnos, so we dont have to write
error messages 
							
						 
						
							2023-03-02 21:10:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5cd97e44e2 
								
							 
						 
						
							
							
								
								LibC: Add strcmp and strncmp  
							
							 
							
							
							
						 
						
							2023-02-23 15:57:33 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9b8de5025a 
								
							 
						 
						
							
							
								
								All: rename every function from UpperCamelCase to snake_case  
							
							 
							
							... 
							
							
							
							This was a mess since I didn't know which to use but now I decided
to go with snake_case :) 
							
						 
						
							2023-02-01 21:05:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b315fdc27f 
								
							 
						 
						
							
							
								
								Kernel: Finally managed to get 64-bit working  
							
							 
							
							... 
							
							
							
							I had weird problems with interrupts but everything should work now 
							
						 
						
							2023-01-25 19:19:28 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fd16c1cf58 
								
							 
						 
						
							
							
								
								LibC: Add is*() functions to libc  
							
							 
							
							
							
						 
						
							2023-01-16 20:05:51 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6b73547989 
								
							 
						 
						
							
							
								
								All: edit gcc flags  
							
							 
							
							
							
						 
						
							2023-01-13 00:04:15 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								efd8638a96 
								
							 
						 
						
							
							
								
								Kernel: Improve kernel panic message and rename it 'panic'->'Panic'  
							
							 
							
							
							
						 
						
							2023-01-09 21:57:03 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f4b614aa61 
								
							 
						 
						
							
							
								
								LibC: Add some new functions  
							
							 
							
							
							
						 
						
							2022-12-13 00:51:57 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ac2ba8bc56 
								
							 
						 
						
							
							
								
								LibC: Remove actual printing from putc() since we were panicing anyway  
							
							 
							
							
							
						 
						
							2022-12-10 00:30:00 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c17f61611e 
								
							 
						 
						
							
							
								
								Improve buildsystem by making build directory  
							
							 
							
							... 
							
							
							
							We now create build directory for kernel and libc so that source
directories are kept more clean. 
							
						 
						
							2022-12-03 18:17:37 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								123382eace 
								
							 
						 
						
							
							
								
								Fixes :)  
							
							 
							
							
							
						 
						
							2022-11-15 21:42:14 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								35e21ca4ce 
								
							 
						 
						
							
							
								
								Improve integer printing  
							
							 
							
							
							
						 
						
							2022-11-15 16:34:16 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9e933a5ec5 
								
							 
						 
						
							
							
								
								Add kernel panic function  
							
							 
							
							
							
						 
						
							2022-11-14 18:53:00 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b185ed4fd3 
								
							 
						 
						
							
							
								
								Libc is now written in C++  
							
							 
							
							
							
						 
						
							2022-11-14 00:31:24 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a1a709974a 
								
							 
						 
						
							
							
								
								Add %p to printf  
							
							 
							
							
							
						 
						
							2022-11-13 00:33:45 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5a3596170c 
								
							 
						 
						
							
							
								
								Add strcpy and strncpy  
							
							 
							
							
							
						 
						
							2022-11-12 23:47:06 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7ad8189e24 
								
							 
						 
						
							
							
								
								Add somewhat functioning printf  
							
							 
							
							
							
						 
						
							2022-11-12 23:36:39 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e6b4866ab0 
								
							 
						 
						
							
							
								
								Initial commit. We have a booting kernel  
							
							 
							
							
							
						 
						
							2022-11-12 21:04:47 +02:00