998999a755 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_SLEEP  
							
							
							
						 
						
							2023-05-28 22:34:48 +03:00  
				
					
						
							
							
								 
						
							
								f2d767b799 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness fork() function  
							
							
							
						 
						
							2023-05-28 18:08:49 +03:00  
				
					
						
							
							
								 
						
							
								dd4973ac35 
								
							 
						 
						
							
							
								
								LibC: fputs uses fputc instead of putc  
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
				
					
						
							
							
								 
						
							
								faf14b880e 
								
							 
						 
						
							
							
								
								LibC: Rewrite all the headers.  
							
							... 
							
							
							
							We now have more or less posix issue 2018 conforming libc headers.
This was a really time consuming and boring operation but it had to
be done.
Now we get to actually start implementing libc :) 
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								1658e925f2 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness possibility to set termios  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								80d9f6131b 
								
							 
						 
						
							
							
								
								Kernel/LibC: move file offset back to kernel  
							
							... 
							
							
							
							This makes keeping track of offsets easier and more proper 
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								8ec675cca6 
								
							 
						 
						
							
							
								
								LibC: fix bugs with printf  
							
							
							
						 
						
							2023-05-15 22:47:08 +03:00  
				
					
						
							
							
								 
						
							
								7543fadfa8 
								
							 
						 
						
							
							
								
								LibC: printf now prints 0 as integer  
							
							
							
						 
						
							2023-05-11 18:20:37 +03:00  
				
					
						
							
							
								 
						
							
								729ff267d7 
								
							 
						 
						
							
							
								
								LibC: add function declarations to sys/stat.h  
							
							
							
						 
						
							2023-05-11 15:11:33 +03:00  
				
					
						
							
							
								 
						
							
								d9be14e1fb 
								
							 
						 
						
							
							
								
								LibC: add function declarations to dirent.h  
							
							
							
						 
						
							2023-05-11 01:42:52 +03:00  
				
					
						
							
							
								 
						
							
								8a9f9b07e7 
								
							 
						 
						
							
							
								
								LibC: add definitions to math.h  
							
							
							
						 
						
							2023-05-11 01:40:42 +03:00  
				
					
						
							
							
								 
						
							
								c989a01913 
								
							 
						 
						
							
							
								
								LibC: add defines in stdio.h  
							
							
							
						 
						
							2023-05-11 01:39:16 +03:00  
				
					
						
							
							
								 
						
							
								5188efcc57 
								
							 
						 
						
							
							
								
								LibC: add function declarations to unistd.h  
							
							
							
						 
						
							2023-05-11 00:34:03 +03:00  
				
					
						
							
							
								 
						
							
								c05a5b796b 
								
							 
						 
						
							
							
								
								LibC: add function declarations to string.h  
							
							
							
						 
						
							2023-05-11 00:34:03 +03:00  
				
					
						
							
							
								 
						
							
								f0058e67c2 
								
							 
						 
						
							
							
								
								LibC: add function declarations to math.h  
							
							
							
						 
						
							2023-05-11 00:34:03 +03:00  
				
					
						
							
							
								 
						
							
								508d6311de 
								
							 
						 
						
							
							
								
								LibC: define all errnos and strerror{name,desk}_np  
							
							
							
						 
						
							2023-05-11 00:34:03 +03:00  
				
					
						
							
							
								 
						
							
								7c6bf40d0d 
								
							 
						 
						
							
							
								
								LibC: add function declarations to time.h  
							
							
							
						 
						
							2023-05-11 00:34:03 +03:00  
				
					
						
							
							
								 
						
							
								a74343c589 
								
							 
						 
						
							
							
								
								LibC: add more types to sys/types.h  
							
							
							
						 
						
							2023-05-11 00:33:53 +03:00  
				
					
						
							
							
								 
						
							
								d188576ef3 
								
							 
						 
						
							
							
								
								LibC: Add dummy signal.h  
							
							
							
						 
						
							2023-05-10 23:20:27 +03:00  
				
					
						
							
							
								 
						
							
								d922c5e1d0 
								
							 
						 
						
							
							
								
								LibC: add toupper, tolower in ctype.h  
							
							
							
						 
						
							2023-05-10 23:13:56 +03:00  
				
					
						
							
							
								 
						
							
								0adf24fcad 
								
							 
						 
						
							
							
								
								LibC: Add dummy setjmp.h  
							
							
							
						 
						
							2023-05-10 23:00:53 +03:00  
				
					
						
							
							
								 
						
							
								80e13965d9 
								
							 
						 
						
							
							
								
								LibC: Add dummy locale.h  
							
							
							
						 
						
							2023-05-10 22:58:07 +03:00  
				
					
						
							
							
								 
						
							
								36707ec87a 
								
							 
						 
						
							
							
								
								LibC: implement printf conversions e, E, f, F  
							
							
							
						 
						
							2023-05-10 22:36:03 +03:00  
				
					
						
							
							
								 
						
							
								5f89f083a2 
								
							 
						 
						
							
							
								
								LibC: add math.h with floorl  
							
							
							
						 
						
							2023-05-10 22:35:42 +03:00  
				
					
						
							
							
								 
						
							
								cae0a1cc60 
								
							 
						 
						
							
							
								
								LibC: add working f modifier to printf  
							
							... 
							
							
							
							This is implementation will write out of bounds if the conversion
takes more than 1024 characters (either super large number or very
big percision).
Also we dont handle NaN and infinity cases 
							
						 
						
							2023-05-10 15:43:42 +03:00  
				
					
						
							
							
								 
						
							
								480d92fce5 
								
							 
						 
						
							
							
								
								LibC: add better error string support  
							
							
							
						 
						
							2023-05-10 02:22:31 +03:00  
				
					
						
							
							
								 
						
							
								49fe3d0d4f 
								
							 
						 
						
							
							
								
								LibC: add probably functional *printf  
							
							... 
							
							
							
							I wrote a general printf function that takes an putc function
pointer. We can use this to implement all the printf family
functions. I haven't done thorough testing with this, but it seems
to be functional for the most part 
							
						 
						
							2023-05-10 02:00:28 +03:00  
				
					
						
							
							
								 
						
							
								ff2e2937a5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								0cc1fb53d5 
								
							 
						 
						
							
							
								
								LibC: Fix bug in *printf  
							
							
							
						 
						
							2023-05-09 20:30:12 +03:00  
				
					
						
							
							
								 
						
							
								05046d6e93 
								
							 
						 
						
							
							
								
								BAN: Error uses 64 bit error codes  
							
							
							
						 
						
							2023-05-07 02:09:52 +03:00  
				
					
						
							
							
								 
						
							
								054c5450df 
								
							 
						 
						
							
							
								
								LibC: syscall() now returns -1 on error and updates errno  
							
							
							
						 
						
							2023-05-07 01:51:39 +03:00  
				
					
						
							
							
								 
						
							
								12e42f40c5 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								bcfd838131 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								e1a6e7c3ac 
								
							 
						 
						
							
							
								
								LibC: add proper stdlib.h header  
							
							... 
							
							
							
							Function declarations taken from the posix specifications 
							
						 
						
							2023-04-27 15:14:03 +03:00  
				
					
						
							
							
								 
						
							
								3537d53d5c 
								
							 
						 
						
							
							
								
								LibC: add link to posix stdio.h  
							
							
							
						 
						
							2023-04-27 14:16:25 +03:00  
				
					
						
							
							
								 
						
							
								1d42b26fce 
								
							 
						 
						
							
							
								
								LibC: Fix some bugs  
							
							
							
						 
						
							2023-04-25 13:27:01 +03:00  
				
					
						
							
							
								 
						
							
								79812b34b0 
								
							 
						 
						
							
							
								
								LibC: fread() now does a single syscall  
							
							
							
						 
						
							2023-04-25 12:38:08 +03:00  
				
					
						
							
							
								 
						
							
								cd74b2167d 
								
							 
						 
						
							
							
								
								LibC: Write mostly functioning stdio  
							
							
							
						 
						
							2023-04-23 14:32:37 +03:00  
				
					
						
							
							
								 
						
							
								ff8c0086e2 
								
							 
						 
						
							
							
								
								LibC: puts() now just calls syscall(SYS_WRITE, ...)  
							
							
							
						 
						
							2023-04-22 15:29:38 +03:00  
				
					
						
							
							
								 
						
							
								dc1b7cf08f 
								
							 
						 
						
							
							
								
								LibC: syscalls have now proper argument order  
							
							
							
						 
						
							2023-04-22 15:29:15 +03:00  
				
					
						
							
							
								 
						
							
								d9b7747fc5 
								
							 
						 
						
							
							
								
								LibC: exit() calls _fini()  
							
							
							
						 
						
							2023-04-19 00:42:00 +03:00  
				
					
						
							
							
								 
						
							
								3f9d6f0311 
								
							 
						 
						
							
							
								
								LibC: add needed stubs to build executables with our compiler  
							
							
							
						 
						
							2023-04-12 17:53:02 +03:00  
				
					
						
							
							
								 
						
							
								aa2aee684b 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								781cc78a1f 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								25ddc24754 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								989f9ec5fe 
								
							 
						 
						
							
							
								
								LibC: remove old unused files  
							
							
							
						 
						
							2023-04-07 02:26:44 +03:00  
				
					
						
							
							
								 
						
							
								8a8793fd2d 
								
							 
						 
						
							
							
								
								BuildSystem: you can now build the toolchain with cmake  
							
							
							
						 
						
							2023-04-06 00:23:02 +03:00  
				
					
						
							
							
								 
						
							
								a5830c5424 
								
							 
						 
						
							
							
								
								LibC: add stubs for a lot of functions  
							
							
							
						 
						
							2023-04-05 23:58:40 +03:00  
				
					
						
							
							
								 
						
							
								b6896a6d85 
								
							 
						 
						
							
							
								
								LibC: sys/types uses 'typedef' instead of 'using'  
							
							
							
						 
						
							2023-04-05 15:03:24 +03:00  
				
					
						
							
							
								 
						
							
								67ff01e915 
								
							 
						 
						
							
							
								
								LibC: Add errno ENOTTY  
							
							
							
						 
						
							2023-04-05 02:47:37 +03:00  
				
					
						
							
							
								 
						
							
								63e863ad35 
								
							 
						 
						
							
							
								
								LibC: Add unistd.h with STD{IN,OUT,ERR}_FILENO definitions  
							
							
							
						 
						
							2023-04-05 00:59:48 +03:00  
				
					
						
							
							
								 
						
							
								86d777e2eb 
								
							 
						 
						
							
							
								
								LibC: add device macros in sys/sysmacros.h  
							
							
							
						 
						
							2023-04-03 10:59:15 +03:00  
				
					
						
							
							
								 
						
							
								4c5176f751 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								d71f1f24e4 
								
							 
						 
						
							
							
								
								LibC: Combine string.h functions definitions to single file  
							
							
							
						 
						
							2023-04-02 00:00:29 +03:00  
				
					
						
							
							
								 
						
							
								cd0d10b64e 
								
							 
						 
						
							
							
								
								LibC: add ENOBUFS errno  
							
							
							
						 
						
							2023-03-29 10:58:25 +03:00  
				
					
						
							
							
								 
						
							
								32c3aca52f 
								
							 
						 
						
							
							
								
								LibC: add dirent.h  
							
							
							
						 
						
							2023-03-25 02:08:33 +02:00  
				
					
						
							
							
								 
						
							
								9fd17ef73c 
								
							 
						 
						
							
							
								
								LibC: Add stat structure  
							
							
							
						 
						
							2023-03-24 18:08:22 +02:00  
				
					
						
							
							
								 
						
							
								1be8b2f514 
								
							 
						 
						
							
							
								
								LibC: add more typedefs to sys/types  
							
							
							
						 
						
							2023-03-23 19:24:12 +02:00  
				
					
						
							
							
								 
						
							
								d6e4430692 
								
							 
						 
						
							
							
								
								LibC: add errno NAMETOOLONG  
							
							
							
						 
						
							2023-03-23 14:48:42 +02:00  
				
					
						
							
							
								 
						
							
								cf2be54e8f 
								
							 
						 
						
							
							
								
								LibC: add errno ENOTEMPTY  
							
							
							
						 
						
							2023-03-19 05:43:40 +02:00  
				
					
						
							
							
								 
						
							
								3ab62e83d3 
								
							 
						 
						
							
							
								
								LibC: add errno EEXISTS  
							
							
							
						 
						
							2023-03-19 04:17:39 +02:00  
				
					
						
							
							
								 
						
							
								ceb53533be 
								
							 
						 
						
							
							
								
								LibC: add fcntl.h with some defines  
							
							
							
						 
						
							2023-03-17 21:18:41 +02:00  
				
					
						
							
							
								 
						
							
								e2707b9416 
								
							 
						 
						
							
							
								
								LibC: Add EBADF errno  
							
							
							
						 
						
							2023-03-16 16:22:11 +02:00  
				
					
						
							
							
								 
						
							
								4493c9bbe6 
								
							 
						 
						
							
							
								
								LibC: Add ENTOSUP errno  
							
							
							
						 
						
							2023-03-16 16:03:51 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								10ef3c6a54 
								
							 
						 
						
							
							
								
								LibC: add declarations for malloc and free  
							
							
							
						 
						
							2023-03-04 02:59:48 +02:00  
				
					
						
							
							
								 
						
							
								53ec66ff86 
								
							 
						 
						
							
							
								
								LibC: strerror now always uses a buffer to which it copies the string  
							
							
							
						 
						
							2023-03-02 22:13:08 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5cd97e44e2 
								
							 
						 
						
							
							
								
								LibC: Add strcmp and strncmp  
							
							
							
						 
						
							2023-02-23 15:57:33 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								fd16c1cf58 
								
							 
						 
						
							
							
								
								LibC: Add is*() functions to libc  
							
							
							
						 
						
							2023-01-16 20:05:51 +02:00  
				
					
						
							
							
								 
						
							
								6b73547989 
								
							 
						 
						
							
							
								
								All: edit gcc flags  
							
							
							
						 
						
							2023-01-13 00:04:15 +02:00  
				
					
						
							
							
								 
						
							
								efd8638a96 
								
							 
						 
						
							
							
								
								Kernel: Improve kernel panic message and rename it 'panic'->'Panic'  
							
							
							
						 
						
							2023-01-09 21:57:03 +02:00  
				
					
						
							
							
								 
						
							
								f4b614aa61 
								
							 
						 
						
							
							
								
								LibC: Add some new functions  
							
							
							
						 
						
							2022-12-13 00:51:57 +02:00  
				
					
						
							
							
								 
						
							
								ac2ba8bc56 
								
							 
						 
						
							
							
								
								LibC: Remove actual printing from putc() since we were panicing anyway  
							
							
							
						 
						
							2022-12-10 00:30:00 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								123382eace 
								
							 
						 
						
							
							
								
								Fixes :)  
							
							
							
						 
						
							2022-11-15 21:42:14 +02:00  
				
					
						
							
							
								 
						
							
								35e21ca4ce 
								
							 
						 
						
							
							
								
								Improve integer printing  
							
							
							
						 
						
							2022-11-15 16:34:16 +02:00  
				
					
						
							
							
								 
						
							
								9e933a5ec5 
								
							 
						 
						
							
							
								
								Add kernel panic function  
							
							
							
						 
						
							2022-11-14 18:53:00 +02:00  
				
					
						
							
							
								 
						
							
								b185ed4fd3 
								
							 
						 
						
							
							
								
								Libc is now written in C++  
							
							
							
						 
						
							2022-11-14 00:31:24 +02:00  
				
					
						
							
							
								 
						
							
								a1a709974a 
								
							 
						 
						
							
							
								
								Add %p to printf  
							
							
							
						 
						
							2022-11-13 00:33:45 +02:00  
				
					
						
							
							
								 
						
							
								5a3596170c 
								
							 
						 
						
							
							
								
								Add strcpy and strncpy  
							
							
							
						 
						
							2022-11-12 23:47:06 +02:00  
				
					
						
							
							
								 
						
							
								7ad8189e24 
								
							 
						 
						
							
							
								
								Add somewhat functioning printf  
							
							
							
						 
						
							2022-11-12 23:36:39 +02:00  
				
					
						
							
							
								 
						
							
								e6b4866ab0 
								
							 
						 
						
							
							
								
								Initial commit. We have a booting kernel  
							
							
							
						 
						
							2022-11-12 21:04:47 +02:00