Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8e4216215e 
								
							 
						 
						
							
							
								
								Kernel/LibC: add dup() syscall and function  
							
							 
							
							
							
						 
						
							2023-08-17 12:03:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								38c0bc7bae 
								
							 
						 
						
							
							
								
								Kernel: Remove unused syscall  
							
							 
							
							
							
						 
						
							2023-08-11 11:43:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a7f37236bf 
								
							 
						 
						
							
							
								
								Kernel: Zero initialize threads sse_storage  
							
							 
							
							
							
						 
						
							2023-08-11 00:26:43 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								03d4b47f63 
								
							 
						 
						
							
							
								
								Kernel: HPET is now used in legacy mode when PIC is forced  
							
							 
							
							
							
						 
						
							2023-08-10 22:01:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e74fdbc55b 
								
							 
						 
						
							
							
								
								Kernel: Remove get_unix_timestamp from SystemTimer  
							
							 
							
							... 
							
							
							
							Kernel now uses the percise real_time() and time_since_boot() 
							
						 
						
							2023-08-09 08:57:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								008c777a9f 
								
							 
						 
						
							
							
								
								Kernel: Add PageTable::Flags::CacheDisable  
							
							 
							
							... 
							
							
							
							Also fix multiple places where we were using uint8_t as page table
flags instead of PageTable::flags_t which we promoted to uint16_t
while back. 
							
						 
						
							2023-08-06 23:59:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d8a9d4a24e 
								
							 
						 
						
							
							
								
								Kerne: SystemTimer can now output the current real time  
							
							 
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bc0e1fa898 
								
							 
						 
						
							
							
								
								Kernel: Rename TimerHandler to SystemTimer  
							
							 
							
							... 
							
							
							
							I changed SystemTimer to only handle the "best" supported timer
it can initialize. 
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								17f1737c9a 
								
							 
						 
						
							
							
								
								Kernel: Add function to retrieve boot time as timespec  
							
							 
							
							
							
						 
						
							2023-08-04 16:06:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fdae253695 
								
							 
						 
						
							
							
								
								Kernel: Add basic HPET support to replace PIT if exists  
							
							 
							
							... 
							
							
							
							This works same way as the PIT implementation; calls Scheduler every
milli second. 
							
						 
						
							2023-08-04 15:22:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d4adcff958 
								
							 
						 
						
							
							
								
								Kernel: Move sleep() implementation to TimerHandler  
							
							 
							
							
							
						 
						
							2023-08-04 15:15:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2c59c9a3cc 
								
							 
						 
						
							
							
								
								Kernel: Add more structures to ACPI  
							
							 
							
							
							
						 
						
							2023-08-04 15:13:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3a59a64355 
								
							 
						 
						
							
							
								
								Kernel: Implement basic MMIO functions  
							
							 
							
							... 
							
							
							
							This is equivalent to IO.h except for memory mapped io instead of
IO ports 
							
						 
						
							2023-08-04 15:12:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9363c1cdaf 
								
							 
						 
						
							
							
								
								Kernel: Move RTC to Timer directory  
							
							 
							
							... 
							
							
							
							PIT ms counter seems to be off by multiple seconds/minute. I will
be probably changing to HPET for system time 
							
						 
						
							2023-08-04 11:12:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								198e6d7cf6 
								
							 
						 
						
							
							
								
								Kernel: Start work on abstracting Timers  
							
							 
							
							
							
						 
						
							2023-08-04 10:29:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								07ee898f4f 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary timer check from Scheduler  
							
							 
							
							
							
						 
						
							2023-08-04 10:29:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								91f04ce250 
								
							 
						 
						
							
							
								
								Kernel: Change PageTable API  
							
							 
							
							... 
							
							
							
							Getting free pages not reserves them, so you don't have to hold
the page table lock :) 
							
						 
						
							2023-08-02 22:09:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								926df2b276 
								
							 
						 
						
							
							
								
								Kernel: PageTable now supports reserved pages  
							
							 
							
							... 
							
							
							
							You can now map pages as reserved, so that they will not be given
from get_free_page() or get_free_contiguous_pages(). 
							
						 
						
							2023-08-01 16:35:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								217dbca7b7 
								
							 
						 
						
							
							
								
								Kernel: Cleanup returns from any kind on interrupts  
							
							 
							
							
							
						 
						
							2023-08-01 14:23:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8b1bccb79b 
								
							 
						 
						
							
							
								
								Kernel: store/load sse/mmx/fpu state on isr/irq/syscall  
							
							 
							
							... 
							
							
							
							I haven't tested this yet but should be fine. This will be optimized
to only save state from threads that are using it 
							
						 
						
							2023-07-31 22:28:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e86e755c51 
								
							 
						 
						
							
							
								
								Kernel: Generally improve signals  
							
							 
							
							
							
						 
						
							2023-07-31 22:28:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6f7d97cf94 
								
							 
						 
						
							
							
								
								Kernel: Remove is_in_syscall from Thread  
							
							 
							
							
							
						 
						
							2023-07-30 14:49:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								879706e6e9 
								
							 
						 
						
							
							
								
								Kernel: Signals are not queued anymore  
							
							 
							
							... 
							
							
							
							Posix doesn't require signal queing if you don't use sigqueue() which
we don't support. Process also has its own pending signal mask. 
							
						 
						
							2023-07-29 16:54:31 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								22cd9af8cc 
								
							 
						 
						
							
							
								
								Kernel: Restructure process and thread termination  
							
							 
							
							... 
							
							
							
							When we want to kill a process, we mark its threads as Terminating
or Terminated. If the thread is in critical section that has to be
finished, it will be in Terminating state until done. Once Scheduler
is trying to execute Terminated thread it will instead delete it.
Once processes last thread is marked Terminated, the processes will
turn it into a cleanup thread, that will allow blocks and memory
cleanup to be done. 
							
						 
						
							2023-07-28 18:06:20 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a9cf9bceef 
								
							 
						 
						
							
							
								
								Kernel: Rewrite DiskCache  
							
							 
							
							... 
							
							
							
							We now cache only clean pages since I don't want to think about
syncing the disk later. 
							
						 
						
							2023-07-27 22:22:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6c0f864a6e 
								
							 
						 
						
							
							
								
								Kernel: Locks allow locking after locker is invalid  
							
							 
							
							... 
							
							
							
							SpinLock and RecursiveSpinLock will now allow locking after the initial
locker is invalid. This allows us to kill threads even if they are holding
internal locks 
							
						 
						
							2023-07-27 18:52:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0f23e1f0f4 
								
							 
						 
						
							
							
								
								Kernel: Scheduler can now check if tid is valid  
							
							 
							
							... 
							
							
							
							Tid can become invalid if the thread is already terminated 
							
						 
						
							2023-07-27 18:34:06 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								432c296b7b 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_GET_PID and SYS_TCSETPGID  
							
							 
							
							... 
							
							
							
							we don't have consept of process groups yet 
							
						 
						
							2023-07-24 22:29:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b576d373c4 
								
							 
						 
						
							
							
								
								Kernel: TTY now stores foreground process pid  
							
							 
							
							... 
							
							
							
							this will be process pgid when we have process groups 
							
						 
						
							2023-07-24 22:29:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								522aa8e762 
								
							 
						 
						
							
							
								
								Kernel: add Thread::queue_signal()  
							
							 
							
							
							
						 
						
							2023-07-24 22:26:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								146802fa4c 
								
							 
						 
						
							
							
								
								Kernel: Scheduler can now block threads based on tid  
							
							 
							
							
							
						 
						
							2023-07-24 22:24:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cc8af25d73 
								
							 
						 
						
							
							
								
								Kernel: remove Semaphore::is_blocked  
							
							 
							
							... 
							
							
							
							this will not mean anything after semaphores can spuriously wake up 
							
						 
						
							2023-07-24 22:23:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f5f4bf58ad 
								
							 
						 
						
							
							
								
								Kernel: add is_tty() to inode  
							
							 
							
							
							
						 
						
							2023-07-24 22:19:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3784da0d18 
								
							 
						 
						
							
							
								
								Kernel: you can now ask process if it is userspace process  
							
							 
							
							
							
						 
						
							2023-07-23 18:54:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9eb72f4392 
								
							 
						 
						
							
							
								
								Kernel: OpenFileDesctiptor can now return inode of fd  
							
							 
							
							
							
						 
						
							2023-07-23 18:52:33 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f7bf6d5e62 
								
							 
						 
						
							
							
								
								Kernel: Change signal kernel API  
							
							 
							
							... 
							
							
							
							return rsp and rip are now stored per thread 
							
						 
						
							2023-07-23 18:33:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								adb14ba373 
								
							 
						 
						
							
							
								
								Kernel: Userspace signal handlers are now called one at a time  
							
							 
							
							... 
							
							
							
							I added a syscall for telling the kernel when signal execution has
finished. We should send a random hash or id to the signal trampoline
that we would include in the syscall, so validity of signal exit can
be confirmed. 
							
						 
						
							2023-07-23 13:34:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2149cec29f 
								
							 
						 
						
							
							
								
								Kernel: Make signals more POSIX  
							
							 
							
							
							
						 
						
							2023-07-21 20:01:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ad756c36fc 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add SYS_KILL/kill()  
							
							 
							
							
							
						 
						
							2023-07-21 19:27:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b56316e9da 
								
							 
						 
						
							
							
								
								Kernel: Scheduler now sends queued signals  
							
							 
							
							
							
						 
						
							2023-07-21 19:27:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a989c44211 
								
							 
						 
						
							
							
								
								Kernel: Make signals thread specific  
							
							 
							
							
							
						 
						
							2023-07-21 19:00:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								217e5f81cc 
								
							 
						 
						
							
							
								
								Kernel: add default signal actions  
							
							 
							
							
							
						 
						
							2023-07-21 18:02:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								dcd4d0daeb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add bareboness signals  
							
							 
							
							... 
							
							
							
							You can now call raise() to raise a signal. Signal handlers are
not yet supported, but the handling works :) 
							
						 
						
							2023-07-21 15:45:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								193ddaa2f6 
								
							 
						 
						
							
							
								
								Kernel: remove PAGE_FLAGS_MASK as that was not correct anymore  
							
							 
							
							... 
							
							
							
							After I added NXE bit, the flags mask is no longer valid 
							
						 
						
							2023-07-21 12:01:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2db7cdb71e 
								
							 
						 
						
							
							
								
								Kernel: Syscalls now get the interrupt stack  
							
							 
							
							
							
						 
						
							2023-07-21 11:04:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f8a1a10897 
								
							 
						 
						
							
							
								
								Kernel: add NullDevice to /dev/null  
							
							 
							
							
							
						 
						
							2023-07-20 00:06:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								adbe13938e 
								
							 
						 
						
							
							
								
								Kernel: move Device.h to its own directory  
							
							 
							
							
							
						 
						
							2023-07-19 23:55:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								98cedf155c 
								
							 
						 
						
							
							
								
								Kernel: FixedWidthAllocator creation can now fail  
							
							 
							
							
							
						 
						
							2023-07-19 18:07:24 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c0c0bbc1bf 
								
							 
						 
						
							
							
								
								Kernel: SYS_FORK can now fail instead of panicing on error  
							
							 
							
							
							
						 
						
							2023-07-19 17:47:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7d00c2670f 
								
							 
						 
						
							
							
								
								Kernel: Support execute disable bit  
							
							 
							
							... 
							
							
							
							We will now map executable memory explicitly as executable. 
							
						 
						
							2023-07-13 14:28:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bca7e9a1e8 
								
							 
						 
						
							
							
								
								Kernel: CPUID can detect wether cpu supports nxe bit  
							
							 
							
							
							
						 
						
							2023-07-13 14:24:58 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3748f0304f 
								
							 
						 
						
							
							
								
								Kernel: Fix multiple bugs with terminal  
							
							 
							
							
							
						 
						
							2023-07-13 13:09:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								74c79c7eff 
								
							 
						 
						
							
							
								
								Kernel: Rewrite whole device structure  
							
							 
							
							... 
							
							
							
							We now have DevFileSystem which is derived from RamFileSystem. All
devices are RamInodes. We don't have separate DeviceManager anymore.
To iterate over devices, you can loop througn every inode in devfs. 
							
						 
						
							2023-07-10 23:17:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5a5656b2d3 
								
							 
						 
						
							
							
								
								Kenrel: RamInode now implements truncate()  
							
							 
							
							
							
						 
						
							2023-07-10 16:07:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1a1e584cba 
								
							 
						 
						
							
							
								
								Kernel: OpenFileDescriptors can now store more than 8 bits of flags  
							
							 
							
							
							
						 
						
							2023-07-10 16:06:36 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								65fa05f998 
								
							 
						 
						
							
							
								
								Kernel: add O_TRUNC  
							
							 
							
							... 
							
							
							
							this is not supported by anything yet 
							
						 
						
							2023-07-10 15:48:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1e173c178d 
								
							 
						 
						
							
							
								
								Kernel: Ext2 fill now return ENOTSUP on write  
							
							 
							
							... 
							
							
							
							We used to crash the kernel 
							
						 
						
							2023-07-10 15:34:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4972284dde 
								
							 
						 
						
							
							
								
								Kernel: open() and openat() now take mode as parameter  
							
							 
							
							... 
							
							
							
							O_CREAT now tries to create file if O_CREAT is specified 
							
						 
						
							2023-07-10 15:08:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								45789fda08 
								
							 
						 
						
							
							
								
								Kernel: You can now read/write to RamInodes  
							
							 
							
							... 
							
							
							
							RamFS should be stored on physical pages and not in kmalloc, but
that will be implemented later :) 
							
						 
						
							2023-07-10 14:09:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3b5bc63d1b 
								
							 
						 
						
							
							
								
								Kernel: Inode::create_file() now takes uid and gid as parameters  
							
							 
							
							
							
						 
						
							2023-07-10 13:32:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f1089e2b8a 
								
							 
						 
						
							
							
								
								Kernel: start work on ram file system  
							
							 
							
							
							
						 
						
							2023-07-10 13:26:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								363c325c79 
								
							 
						 
						
							
							
								
								Kenrel: Fix inode comparison  
							
							 
							
							... 
							
							
							
							We should not compare rdevs 
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								583504ebe0 
								
							 
						 
						
							
							
								
								Kernel: Inode rename directory functions  
							
							 
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b354b77f8b 
								
							 
						 
						
							
							
								
								Kernel: Mark Ext2 classes final  
							
							 
							
							
							
						 
						
							2023-07-10 11:48:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								19dab08275 
								
							 
						 
						
							
							
								
								Kernel: add more functionality to PCI  
							
							 
							
							
							
						 
						
							2023-07-09 23:04:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								78c091f7f8 
								
							 
						 
						
							
							
								
								Kernel: Move open file descriptors to their own class  
							
							 
							
							... 
							
							
							
							This simplifies code a lot :) 
							
						 
						
							2023-07-07 23:11:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a549336530 
								
							 
						 
						
							
							
								
								Kernel/LibC: add basic dup2  
							
							 
							
							
							
						 
						
							2023-07-06 23:17:54 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4eb95c963d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add basic pipe() syscall and command  
							
							 
							
							... 
							
							
							
							You can now create pipes :) 
							
						 
						
							2023-07-06 22:16:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3c068aa0ae 
								
							 
						 
						
							
							
								
								Kernel/LibC: add clock_gettime() for CLOCK_MONOTONIC  
							
							 
							
							... 
							
							
							
							This gets the number of milliseconds since boot 
							
						 
						
							2023-07-06 00:38:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								86df258365 
								
							 
						 
						
							
							
								
								Kernel: rework the whole PageTable structure  
							
							 
							
							... 
							
							
							
							We now have page table structure for kernel memory which is shared
between all processes. 
							
						 
						
							2023-07-05 23:41:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0d620f3e0f 
								
							 
						 
						
							
							
								
								Kernel: Rewrite and optimize DiskCache  
							
							 
							
							... 
							
							
							
							DiskCache now consists of PageCaches which are caches of contiguous
sectors. This allows the disk cache to be ordered and faster traversal.
We seem to have a problem somewhere during reading. The stack gets
corrupted. 
							
						 
						
							2023-06-19 10:31:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5e123031aa 
								
							 
						 
						
							
							
								
								Kernel: kmalloc has now somewhat dynamic storage  
							
							 
							
							... 
							
							
							
							Allocations bigger than PAGE_SIZE and those not forced to be identity
mapped are now done on a GeneralAllocator. This allows us to use kmalloc
for big allocations; bigger than the fixed 1 MiB storage.
This is still a hack and the whole kmalloc will have to be rewritten at
some point, but for now this does the job :D 
							
						 
						
							2023-06-18 23:27:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								388f530edd 
								
							 
						 
						
							
							
								
								Kernel: Add GeneralAllocator::paddr_of  
							
							 
							
							... 
							
							
							
							Yoy can now query physical address of a virtual address for general
allocator allocation 
							
						 
						
							2023-06-18 23:25:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								714305ef56 
								
							 
						 
						
							
							
								
								Kernel: General allocator takes first valid vaddr as parameter  
							
							 
							
							
							
						 
						
							2023-06-17 22:23:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								32e1473c94 
								
							 
						 
						
							
							
								
								Kernel: Make disk IO blocking thread safe  
							
							 
							
							... 
							
							
							
							This was causing a lot of deadlocks on vms without kvm accel 
							
						 
						
							2023-06-12 18:57:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bf617036c7 
								
							 
						 
						
							
							
								
								Kernel: Rework syscall calling  
							
							 
							
							... 
							
							
							
							I removed the intermediate function when calling syscalls. Now syscall
handler calls the current process automatically. Only exception is
sys_fork, since it needs a assembly trampoline for the new thread. 
							
						 
						
							2023-06-12 14:16:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ce55422a24 
								
							 
						 
						
							
							
								
								Kernel: Remove Shell from kernel  
							
							 
							
							... 
							
							
							
							This is now obsolete since we have a userspace Shell. 
							
						 
						
							2023-06-12 02:04:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0f63cfa43f 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_{SET,GET}_PWD and chdir, getpwd  
							
							 
							
							
							
						 
						
							2023-06-12 02:02:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b254ade69b 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_GET_{,E}{UID,GID}  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ef4ebaa969 
								
							 
						 
						
							
							
								
								Kernel: Add syscalls for set{,e,re}{uid,gid}  
							
							 
							
							
							
						 
						
							2023-06-11 22:37:00 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c62e820bcf 
								
							 
						 
						
							
							
								
								Kernel: Add basic Credentials for the system  
							
							 
							
							... 
							
							
							
							Now filesystem access/open, etc confirm that you have access for rwxs 
							
						 
						
							2023-06-11 20:06:06 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5aed186827 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_OPENAT  
							
							 
							
							
							
						 
						
							2023-06-11 03:29:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e209ca7c82 
								
							 
						 
						
							
							
								
								Kernel: Rewrite directory listing so it can be integrated to libc  
							
							 
							
							
							
						 
						
							2023-06-11 00:17:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								db49cbd6e2 
								
							 
						 
						
							
							
								
								Kernel: We now store the  processes exit code  
							
							 
							
							
							
						 
						
							2023-06-10 17:31:56 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								27cef23823 
								
							 
						 
						
							
							
								
								Kernel: Scheduler now has reschedule()  
							
							 
							
							... 
							
							
							
							This can be called from anywhere and just causes the scheduler to
schedule the next thread. This is more efficient and verbose version
of Scheduler::set_current_thread_sleeping(0), since we don't have
to wake other threads or do other verifications. 
							
						 
						
							2023-06-09 00:47:17 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b7fc2dc3d0 
								
							 
						 
						
							
							
								
								Kenrel: Rename Scheduler::reschedule -> Scheduler::timer_reschedule  
							
							 
							
							
							
						 
						
							2023-06-09 00:41:43 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8af390e0f6 
								
							 
						 
						
							
							
								
								Kernel: Big commit. Rewrite ELF loading code  
							
							 
							
							... 
							
							
							
							We now load ELF files to VirtualRanges instead of using kmalloc.
We have only a fixed 1 MiB kmalloc for big allocations and this
allows loading files even when they don't fit in there.
This caused me to rewrite the whole ELF loading process since the
loaded ELF is not in memory mapped by every process.
Virtual ranges allow you to zero out the memory and to copy into
them from arbitary byte buffers. 
							
						 
						
							2023-06-09 00:37:43 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								96d6453ea8 
								
							 
						 
						
							
							
								
								Kernel: PageTableScope locks the PageTable before disabling interrupts  
							
							 
							
							... 
							
							
							
							This allows replacing some PageTableScopes with PageTable::lock() 
							
						 
						
							2023-06-09 00:34:41 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								86f58f60cb 
								
							 
						 
						
							
							
								
								LibC: implement setenv, unsetenv, putenv  
							
							 
							
							
							
						 
						
							2023-06-05 22:51:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								064ce568c2 
								
							 
						 
						
							
							
								
								Kernel: add basic support for environment variables  
							
							 
							
							... 
							
							
							
							exec functions will search files from PATH 
							
						 
						
							2023-06-05 22:51:02 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0b1b4d8f7e 
								
							 
						 
						
							
							
								
								Kernel: exec now has better posix errors  
							
							 
							
							
							
						 
						
							2023-06-05 21:12:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b0e9ab0519 
								
							 
						 
						
							
							
								
								Kernel/LibC: pass environ pointer to process  
							
							 
							
							
							
						 
						
							2023-06-05 21:12:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5425394880 
								
							 
						 
						
							
							
								
								Kernel: TTY now supports CSI s and u  
							
							 
							
							... 
							
							
							
							These are commonly supported values to save and load cursor
position 
							
						 
						
							2023-06-05 18:19:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9d64dbd5c2 
								
							 
						 
						
							
							
								
								Kernel/LibC: add SYS_STAT and stat(), lstat()  
							
							 
							
							
							
						 
						
							2023-06-05 14:37:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b68d5a5833 
								
							 
						 
						
							
							
								
								Kernel: Add SYS_WAIT  
							
							 
							
							... 
							
							
							
							This syscall waits for a given pid. 
							
						 
						
							2023-06-04 18:00:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								924fc2118c 
								
							 
						 
						
							
							
								
								Kernel: Allocators are now stored in UniqPtr  
							
							 
							
							... 
							
							
							
							This allows proper memory management, we had some memory leak 
							
						 
						
							2023-06-04 01:25:57 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								51f4c0c750 
								
							 
						 
						
							
							
								
								Kernel: make load_elf() its own function  
							
							 
							
							
							
						 
						
							2023-06-04 01:24:11 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								37b93da650 
								
							 
						 
						
							
							
								
								Kernel: PhysicalRange maps its nodes to kernel vaddr space  
							
							 
							
							... 
							
							
							
							This keeps the lower half of address space cleaner 
							
						 
						
							2023-06-04 01:20:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8352392b38 
								
							 
						 
						
							
							
								
								Kernel: You can specify first vaddr for getting free pages  
							
							 
							
							
							
						 
						
							2023-06-04 01:15:48 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								dc1aff58ed 
								
							 
						 
						
							
							
								
								Kernel: PAGE_FLAG_MASK is now only 0xF  
							
							 
							
							... 
							
							
							
							We don't care currenly about anything but the last few bits 
							
						 
						
							2023-06-03 20:08:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9f75d9cfe5 
								
							 
						 
						
							
							
								
								Kernel: PageTable now has debug_dump  
							
							 
							
							... 
							
							
							
							This dumps all the mapped pages and their flags 
							
						 
						
							2023-06-03 20:08:13 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a4cb5d8360 
								
							 
						 
						
							
							
								
								Kernel: Inode/Device detection is done with overridden bool functions  
							
							 
							
							
							
						 
						
							2023-06-03 13:28:15 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								59b807189f 
								
							 
						 
						
							
							
								
								Kernel: add basic disk cache  
							
							 
							
							... 
							
							
							
							ATADevices now add disk cache to themselves 
							
						 
						
							2023-06-03 02:23:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fb1c7015b1 
								
							 
						 
						
							
							
								
								Kernel: Shell 'memory' now prints heap memory usage  
							
							 
							
							
							
						 
						
							2023-06-03 02:22:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4d4d0e26a9 
								
							 
						 
						
							
							
								
								Kernel: Symlinks are now working  
							
							 
							
							... 
							
							
							
							We still have to implement loop or depth detection 
							
						 
						
							2023-06-02 11:43:46 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								232fdcb82c 
								
							 
						 
						
							
							
								
								Kernel: add basic support for symlinks  
							
							 
							
							
							
						 
						
							2023-06-01 00:24:45 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4da1d6fd27 
								
							 
						 
						
							
							
								
								Kernel: Implement Process::exec()  
							
							 
							
							
							
						 
						
							2023-05-31 20:56:29 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								909e847369 
								
							 
						 
						
							
							
								
								Kernel: Move userspace entry functions to Process instead of Thread  
							
							 
							
							
							
						 
						
							2023-05-31 19:31:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ed0dcacab3 
								
							 
						 
						
							
							
								
								Kernel: Move V2P and P2V to Memory/Types.h  
							
							 
							
							
							
						 
						
							2023-05-30 23:57:03 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								57f7da6ce1 
								
							 
						 
						
							
							
								
								Kernel: Booting with higher half kernel gets to Heap initialization  
							
							 
							
							
							
						 
						
							2023-05-30 22:21:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e640344d7a 
								
							 
						 
						
							
							
								
								Kernel: Rename MMU to PageTable  
							
							 
							
							... 
							
							
							
							This is more descriptive name for what it actually represents 
							
						 
						
							2023-05-29 21:06:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7151bb86a8 
								
							 
						 
						
							
							
								
								Kernel/LibC: opening standard files is done in libc  
							
							 
							
							
							
						 
						
							2023-05-29 20:21:19 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								dd3f34cb2c 
								
							 
						 
						
							
							
								
								Kernel: Make RecursiveSpinLock thread safe  
							
							 
							
							... 
							
							
							
							also SpinLock is now implemented with gcc builtins 
							
						 
						
							2023-05-29 19:38:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								282bf24f65 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocations through FixedWidthAllocator  
							
							 
							
							
							
						 
						
							2023-05-28 21:34:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f964f6be8d 
								
							 
						 
						
							
							
								
								Kernel: Move page macros to Types.h  
							
							 
							
							
							
						 
						
							2023-05-28 21:03:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0202ccec5f 
								
							 
						 
						
							
							
								
								Kernel: ISR will now crash userspace process instead of panicing kernel  
							
							 
							
							
							
						 
						
							2023-05-28 20:53:10 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								636c308993 
								
							 
						 
						
							
							
								
								Kernel: fork() now copies allocation done through GeneralAllocator  
							
							 
							
							
							
						 
						
							2023-05-28 20:37:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6fdbe6f9c2 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness fork() function  
							
							 
							
							
							
						 
						
							2023-05-28 18:08:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c19f4c019a 
								
							 
						 
						
							
							
								
								Kernel: Add invalidate() to MMU  
							
							 
							
							
							
						 
						
							2023-05-28 18:05:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0129619d9a 
								
							 
						 
						
							
							
								
								Kernel: Processes and Threads use VirtualRange memory allocations  
							
							 
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e0479b291d 
								
							 
						 
						
							
							
								
								Kernel: Move PhysicalRange to its own file and add VirtualRange  
							
							 
							
							
							
						 
						
							2023-05-28 17:48:34 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b847d7dfd5 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f79250c4d4 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9e0abbc2f0 
								
							 
						 
						
							
							
								
								Kernel: Add bareboness possibility to set termios  
							
							 
							
							
							
						 
						
							2023-05-26 22:31:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4a4a3bf184 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f33e78882e 
								
							 
						 
						
							
							
								
								Kernel: Add argc and argv to process entry  
							
							 
							
							
							
						 
						
							2023-05-16 00:27:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0ff067bdb7 
								
							 
						 
						
							
							
								
								Kernel: Add MMUScope  
							
							 
							
							... 
							
							
							
							This disables interrupts and loads specified mmu for the
scope it lives in 
							
						 
						
							2023-05-16 00:26:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								31ac3260ed 
								
							 
						 
						
							
							
								
								Kernel: MMU keeps track of the current  
							
							 
							
							
							
						 
						
							2023-05-16 00:26:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								53f4b5a9da 
								
							 
						 
						
							
							
								
								LibC: add function declarations to sys/stat.h  
							
							 
							
							
							
						 
						
							2023-05-11 15:11:33 +03:00  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
							
								
							
							
								812e61ca70 
								
							 
						 
						
							
							
								
								Kernel: Add barebones GeneralAllocator for >4096B  
							
							 
							
							
							
						 
						
							2023-05-08 22:10:49 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2d0a5a9e15 
								
							 
						 
						
							
							
								
								Kernel: FixedWidthAllocator operates on MMU  
							
							 
							
							... 
							
							
							
							Instead of Process* we use MMU& in FixedWidthAllocator since it is
everything it actually needs :) 
							
						 
						
							2023-05-08 00:06:56 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f32d594879 
								
							 
						 
						
							
							
								
								Kernel: We add FixedWidthAllocators on demand  
							
							 
							
							... 
							
							
							
							On SYS_ALLOC we will add a new FixedWidthAllocator if the old ones
are already full or we don't have one with proper size. This allows
arbitary number of allocations as long as you have enough memory
available :)
Next I will be writing a general allocator for allocations larger
than 4096 bytes which should make SYS_ALLOC syscall complete :) 
							
						 
						
							2023-05-07 23:57:01 +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
							
						 
						
							 
							
							
							
							
								
							
							
								b65cd1d09b 
								
							 
						 
						
							
							
								
								Kernel: Invalid physical addresses from heap are specified now by 0  
							
							 
							
							
							
						 
						
							2023-05-06 17:34:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								06bc807e34 
								
							 
						 
						
							
							
								
								Kernel: MMU can now provide info about virtual address space  
							
							 
							
							
							
						 
						
							2023-05-06 17:34:22 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0cb53efa01 
								
							 
						 
						
							
							
								
								Kernel: 64 bit MMU now properly identity maps kernel  
							
							 
							
							
							
						 
						
							2023-05-05 14:19:28 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f139fc2229 
								
							 
						 
						
							
							
								
								Kernel: namespace and function renames  
							
							 
							
							... 
							
							
							
							MMU moved to namespace kernel
Kernel::Memory::Heap moved to just Kernel
MMU::map_{page,range} renamed to identity_map_{page,range}
Add MMU::get_page_flags 
							
						 
						
							2023-04-28 14:48:38 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								58ce907327 
								
							 
						 
						
							
							
								
								Kernel: Usespace threads now have an interrupt stack  
							
							 
							
							
							
						 
						
							2023-04-25 14:49:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6ecc8cac0e 
								
							 
						 
						
							
							
								
								Kernel: TSS stack can be set after initialization  
							
							 
							
							
							
						 
						
							2023-04-25 14:48:12 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bd95f17426 
								
							 
						 
						
							
							
								
								Kernel: Stack pointer out of bounds now panics with a message  
							
							 
							
							
							
						 
						
							2023-04-25 13:40:55 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b15deb420f 
								
							 
						 
						
							
							
								
								LibC: Write mostly functioning stdio  
							
							 
							
							
							
						 
						
							2023-04-23 14:32:37 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8a5608df91 
								
							 
						 
						
							
							
								
								Kernel: d{print,warn,error}ln(...) now has a spinlock  
							
							 
							
							
							
						 
						
							2023-04-22 17:58:51 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3f1c0ec91b 
								
							 
						 
						
							
							
								
								Kernel: Process now frees up its pages on destruction  
							
							 
							
							
							
						 
						
							2023-04-22 16:54:46 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1406a75a92 
								
							 
						 
						
							
							
								
								Kernel: Cleanup process creation for userspace  
							
							 
							
							
							
						 
						
							2023-04-22 16:51:50 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ec8b9640e2 
								
							 
						 
						
							
							
								
								Kernel: Usespace programs are now ran through ELF files  
							
							 
							
							... 
							
							
							
							only 64 bit elf files are supported for now. 
							
						 
						
							2023-04-22 15:35:32 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								be14a6c239 
								
							 
						 
						
							
							
								
								Kernel: Stack pointer is validated when updated  
							
							 
							
							... 
							
							
							
							This allows us not to fail stack pointer when in syscall since
interrupts use their own stack 
							
						 
						
							2023-04-21 10:40:24 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3aa0eeb4a3 
								
							 
						 
						
							
							
								
								Kernel: Add barebones per process virtual addresses  
							
							 
							
							... 
							
							
							
							We now assign every (userspace) process its own MMU which we load
in scheduler. This allows every process to have separate virtual
address space.
This is very hackish implementations but it works for now 
							
						 
						
							2023-04-20 00:45:41 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b3eeb6412f 
								
							 
						 
						
							
							
								
								Kernel: Add some bareboness functionality to map virtual addresses  
							
							 
							
							
							
						 
						
							2023-04-19 23:51:36 +03:00