833642d405 
								
							 
						 
						
							
							
								
								Kernel: ISR will now crash userspace process instead of panicing kernel  
							
							
							
						 
						
							2023-05-28 20:53:10 +03:00  
				
					
						
							
							
								 
						
							
								f04399c3a0 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocation done through GeneralAllocator  
							
							
							
						 
						
							2023-05-28 20:37:39 +03:00  
				
					
						
							
							
								 
						
							
								f2d767b799 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness fork() function  
							
							
							
						 
						
							2023-05-28 18:08:49 +03:00  
				
					
						
							
							
								 
						
							
								3e93dae53c 
								
							 
						 
						
							
							
								
								Kernel: Add invalidate() to MMU  
							
							
							
						 
						
							2023-05-28 18:05:49 +03:00  
				
					
						
							
							
								 
						
							
								187bb046aa 
								
							 
						 
						
							
							
								
								Kernel: fix MMU::map_page_at()  
							
							... 
							
							
							
							We used to only reassign if flags changed 
							
						 
						
							2023-05-28 17:57:05 +03:00  
				
					
						
							
							
								 
						
							
								dd4973ac35 
								
							 
						 
						
							
							
								
								LibC: fputs uses fputc instead of putc  
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
				
					
						
							
							
								 
						
							
								b021d3eebd 
								
							 
						 
						
							
							
								
								Kernel: Processes and Threads use VirtualRange memory allocations  
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
				
					
						
							
							
								 
						
							
								15842db83e 
								
							 
						 
						
							
							
								
								Kernel: Move PhysicalRange to its own file and add VirtualRange  
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
				
					
						
							
							
								 
						
							
								869de7283f 
								
							 
						 
						
							
							
								
								Kernel: MMU::get() is now MMU::kernel  
							
							... 
							
							
							
							MMU is can now be locked with RecursiveSpinLock.
Scheduler now has get_current_tid() that works before the Scheduler
is initialized. This allows RecursiveSpinLock usage early on. 
							
						 
						
							2023-05-28 16:18:18 +03:00  
				
					
						
							
							
								 
						
							
								a2ee543fa1 
								
							 
						 
						
							
							
								
								Shell: we now link BAN (we can't use it though)  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								eb24d32383 
								
							 
						 
						
							
							
								
								Kernel: Directory listing is working again  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								565e3db22d 
								
							 
						 
						
							
							
								
								Kernel: kmalloc debug_dump is marked [[maybe_unused]]  
							
							
							
						 
						
							2023-05-26 22:31:21 +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  
				
					
						
							
							
								 
						
							
								faa7bc6043 
								
							 
						 
						
							
							
								
								BAN: libban is now build into library dir  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								03c64b950b 
								
							 
						 
						
							
							
								
								BAN: Errors.h can be included from userspace  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								27147790fd 
								
							 
						 
						
							
							
								
								Userspace: Start work on shell  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								1658e925f2 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness possibility to set termios  
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
				
					
						
							
							
								 
						
							
								82dcec9576 
								
							 
						 
						
							
							
								
								Buildsystem: Fix userspace link order  
							
							
							
						 
						
							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  
				
					
						
							
							
								 
						
							
								e0a72defa2 
								
							 
						 
						
							
							
								
								Kernel: Add argc and argv to process entry  
							
							
							
						 
						
							2023-05-16 00:27:49 +03:00  
				
					
						
							
							
								 
						
							
								e0a7e242f8 
								
							 
						 
						
							
							
								
								Kernel: Add MMUScope  
							
							... 
							
							
							
							This disables interrupts and loads specified mmu for the
scope it lives in 
							
						 
						
							2023-05-16 00:26:39 +03:00  
				
					
						
							
							
								 
						
							
								6acb86c14b 
								
							 
						 
						
							
							
								
								Kernel: MMU keeps track of the current  
							
							
							
						 
						
							2023-05-16 00:26:39 +03:00  
				
					
						
							
							
								 
						
							
								8ec675cca6 
								
							 
						 
						
							
							
								
								LibC: fix bugs with printf  
							
							
							
						 
						
							2023-05-15 22:47:08 +03:00  
				
					
						
							
							
								 
						
							
								591d03de95 
								
							 
						 
						
							
							
								
								BAN: add is_arithmetic and is_signed to Traits.h  
							
							
							
						 
						
							2023-05-15 20:26:29 +03:00  
				
					
						
							
							
								 
						
							
								ec316391c5 
								
							 
						 
						
							
							
								
								Kernel: argc is passed as zero to userspace  
							
							
							
						 
						
							2023-05-11 18:28:32 +03:00  
				
					
						
							
							
								 
						
							
								7543fadfa8 
								
							 
						 
						
							
							
								
								LibC: printf now prints 0 as integer  
							
							
							
						 
						
							2023-05-11 18:20:37 +03:00  
				
					
						
							
							
								 
						
							
								bbaf1223f3 
								
							 
						 
						
							
							
								
								BuildSystem: add helper to create userspace programs  
							
							
							
						 
						
							2023-05-11 18:10:06 +03:00  
				
					
						
							
							
								 
						
							
								177b205c48 
								
							 
						 
						
							
							
								
								BuildSystem: userspace has cmake target  
							
							
							
						 
						
							2023-05-11 16:19:53 +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  
				
					
						
							
							
								 
						
							
								0d9422ead8 
								
							 
						 
						
							
							
								
								BAN: add pow, log2, log10, log in math  
							
							... 
							
							
							
							These are implemented using x86 floating point assembly 
							
						 
						
							2023-05-10 19:03:33 +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