Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								1fd4e6b63e 
								
							 
						 
						
							
							
								
								Minor change in keyboard.cpp.  
							
							 
							
							
							
						 
						
							2011-08-23 21:02:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								8d86dc6f6a 
								
							 
						 
						
							
							
								
								Changing the sound frequency no longer prints to the terminal.  
							
							 
							
							
							
						 
						
							2011-08-23 21:02:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								cd78c42c78 
								
							 
						 
						
							
							
								
								VGA Cursor code is now in vga.cpp.  
							
							 
							
							
							
						 
						
							2011-08-23 21:02:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								7510708ea1 
								
							 
						 
						
							
							
								
								Gave user-space access to VGA color constants.  
							
							 
							
							
							
						 
						
							2011-08-23 21:02:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								013c5b5e71 
								
							 
						 
						
							
							
								
								Processes in the initrd are now made from ELF files.  
							
							 
							
							
							
						 
						
							2011-08-23 21:02:00 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								4898343e2f 
								
							 
						 
						
							
							
								
								The ELF loader now uses program headers and not section headers.  
							
							 
							
							
							
						 
						
							2011-08-23 18:16:44 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								b705bf27a1 
								
							 
						 
						
							
							
								
								Fixed bug in MapRange{User,Kernel}.  
							
							 
							
							
							
						 
						
							2011-08-23 18:16:44 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								ea396ddd69 
								
							 
						 
						
							
							
								
								Libmaxsi now offers printf to user-space programs.  
							
							 
							
							
							
						 
						
							2011-08-23 01:32:49 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								9db2c88aca 
								
							 
						 
						
							
							
								
								Sortix can now load ELF executables into addresses spaces.  
							
							 
							
							
							
						 
						
							2011-08-23 00:42:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								e5eaf3eeb5 
								
							 
						 
						
							
							
								
								Added the MapRange virtual memory functions.  
							
							 
							
							
							
						 
						
							2011-08-23 00:33:57 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								b80195dc19 
								
							 
						 
						
							
							
								
								Implemented the new physical page allocator API.  
							
							 
							
							
							
						 
						
							2011-08-22 21:12:55 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								d392045559 
								
							 
						 
						
							
							
								
								Extended and documented the memory management API.  
							
							 
							
							... 
							
							
							
							Physical paging have been extended with Page::Insert() and Page::GetStats()
which allows the physical paging system to add new pages to the physical page
allocator, and still keep the "free/used pages" count accurate, and providing
this information to the kernel (and user-space at some point).
The virtual memory API has been extended with RemapKernel(), RemapUser(),
MapRangeKernel(), UnmapRangeKernel(), MapRangeUser(), and UnmapRangeUser().
This huge number of related functions have been created in the hope that it
hides the internal complexity of portable virtual memory management and avoid
bugs. It is crucial that the correct group of functions are used when solving
a problem and that they are not mixed in a manner not documented.
I probably overdocumented the code - hopefully it should help avoiding making
stupid or bothersome code.
Another problem is that code calling Page::Get() often should call something
like Page::AlwaysGetPageEvenIfYouHaveToSwap(). I'd be swell to have a function
that always gets a page under heavily-swapping conditions. Possibly Page::Get()
could become that? 
							
						 
						
							2011-08-22 21:05:10 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								4c1cb806ba 
								
							 
						 
						
							
							
								
								Added a sound api.  
							
							 
							
							
							
						 
						
							2011-08-22 00:25:28 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								55e9d358cf 
								
							 
						 
						
							
							
								
								Hello editor now doesn't require '[' in ANSI escape sequences.  
							
							 
							
							
							
						 
						
							2011-08-21 20:31:17 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								47c44caa8d 
								
							 
						 
						
							
							
								
								Fixed move-cursor-left bug in vgaterminal.  
							
							 
							
							
							
						 
						
							2011-08-21 12:52:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								9ee93082c5 
								
							 
						 
						
							
							
								
								Hello is now a hello world sample ANSI text editor.  
							
							 
							
							
							
						 
						
							2011-08-21 12:52:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								4db550c13b 
								
							 
						 
						
							
							
								
								Added libmaxsi keyboard API, allowing user-space to use the keyboard.  
							
							 
							
							
							
						 
						
							2011-08-21 12:52:56 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								ed2b3cb5c9 
								
							 
						 
						
							
							
								
								Prevented user-space from issueing non-user-space interrupts.  
							
							 
							
							
							
						 
						
							2011-08-12 21:00:15 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								ec8c0c533b 
								
							 
						 
						
							
							
								
								Removed accidentally included infinite debug loop in kernel.cpp.  
							
							 
							
							
							
						 
						
							2011-08-12 20:13:31 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								a2f70f358c 
								
							 
						 
						
							
							
								
								Added linebreaks after maxsi logo.  
							
							 
							
							
							
						 
						
							2011-08-12 20:09:40 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								9995354f95 
								
							 
						 
						
							
							
								
								Moved CPU code shared by x86 and x64 into x86-family.  
							
							 
							
							
							
						 
						
							2011-08-12 17:33:18 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								4728809c00 
								
							 
						 
						
							
							
								
								The serial terminal now clears the screen using ANSI when initialized.  
							
							 
							
							
							
						 
						
							2011-08-12 17:29:45 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								64d191a882 
								
							 
						 
						
							
							
								
								x86 now has a driver for rebooting.  
							
							 
							
							
							
						 
						
							2011-08-12 15:13:18 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								fe65e12992 
								
							 
						 
						
							
							
								
								Removed unnededed TLB flush from libmaxsi heap code.  
							
							 
							
							
							
						 
						
							2011-08-12 00:55:48 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								15ce53919c 
								
							 
						 
						
							
							
								
								Added VGA API allowing userspace to easily access 0xB8000.  
							
							 
							
							
							
						 
						
							2011-08-11 22:03:13 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								1026354e98 
								
							 
						 
						
							
							
								
								Sortix now uses the Device class.  
							
							 
							
							... 
							
							
							
							This class is very WIP and is just experimental. 
							
						 
						
							2011-08-08 15:20:08 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								e95eb60d31 
								
							 
						 
						
							
							
								
								Provide a virtual address where pages can be temporarily mapped.  
							
							 
							
							
							
						 
						
							2011-08-08 15:20:02 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								6ae7ddbcb3 
								
							 
						 
						
							
							
								
								Descriptors are now public members in processes.  
							
							 
							
							
							
						 
						
							2011-08-08 15:20:02 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								412d3e78b2 
								
							 
						 
						
							
							
								
								AlignDown and AlignUp aligns an address on a page boundary.  
							
							 
							
							
							
						 
						
							2011-08-08 15:20:02 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								e78443d92a 
								
							 
						 
						
							
							
								
								Processes now keep track of where their code section ends.  
							
							 
							
							... 
							
							
							
							This is very hacky, but allows us to allocate address space. 
							
						 
						
							2011-08-08 15:19:49 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								db34033d40 
								
							 
						 
						
							
							
								
								Removed unneeded #includes from sortix/memorymanagement.cpp.  
							
							 
							
							
							
						 
						
							2011-08-07 20:14:26 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								07b409c1a0 
								
							 
						 
						
							
							
								
								Added a wrapper class for handling file descriptors.  
							
							 
							
							
							
						 
						
							2011-08-07 19:47:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								e78390d9c2 
								
							 
						 
						
							
							
								
								Added a line counting make target for statistics.  
							
							 
							
							
							
						 
						
							2011-08-07 03:02:37 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								206a7993f3 
								
							 
						 
						
							
							
								
								Such that the sortix subdir is git'd too.  
							
							 
							
							
							
						 
						
							2011-08-07 01:38:51 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								acd2ae58c6 
								
							 
						 
						
							
							
								
								And the c/h/sys dir too..  
							
							 
							
							
							
						 
						
							2011-08-07 01:37:43 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								a4c2afedb7 
								
							 
						 
						
							
							
								
								libmaxsi now creates the c/h dir if missing.  
							
							 
							
							
							
						 
						
							2011-08-07 01:36:27 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								294e5d72dd 
								
							 
						 
						
							
							
								
								All of the initrd is now loaded.  
							
							 
							
							
							
						 
						
							2011-08-07 01:30:47 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								794630a802 
								
							 
						 
						
							
							
								
								Adding proper .gitignore files.  
							
							 
							
							
							
						 
						
							2011-08-07 01:22:36 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								185c6d4b6f 
								
							 
						 
						
							
							
								
								Processes (and thus threads) now belong to an address space.  
							
							 
							
							... 
							
							
							
							Changing theads now automatically switches the adress space. 
							
						 
						
							2011-08-07 01:17:53 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								90ebfe7f0a 
								
							 
						 
						
							
							
								
								Improvements to the address space switching function.  
							
							 
							
							... 
							
							
							
							It now only switches when needed and returns the old addr space. 
							
						 
						
							2011-08-07 01:16:53 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								66c058fba1 
								
							 
						 
						
							
							
								
								Refactored virtual memory management, making it less buggy.  
							
							 
							
							... 
							
							
							
							uintptr_t is now replaced with addr_t when referring to physical memory
addresses in Sortix. Many bugs in the previous memory management code have been
fixed. The new interface is less flexible - but should prove more solid as the
nasty internals have been hidden away. The current interface design should also
make the code more 64-bit ready/friendly. And so on. 
							
						 
						
							2011-08-07 00:18:41 +02:00  
						
						
							 
							
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Jonas 'Sortie' Termansen 
								
							 
						 
						
							
							
							
							
								
							
							
								9b79673dcb 
								
							 
						 
						
							
							
								
								Initial version of Sortix.  
							
							 
							
							
							
						 
						
							2011-08-05 14:25:00 +02:00