Bananymous 
							
						 
						
							
								418bc54f2b 
								
							 
						 
						
							
							
								
								Kernel: Move SpinLock definition to header and fix Scheduler locking  
							
							... 
							
							
							
							This patch allows inlining of spinlocks :) 
							
						 
						
							2024-03-04 22:36:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9c36d7c338 
								
							 
						 
						
							
							
								
								BAN/Kernel: Rework assertion/panic system  
							
							... 
							
							
							
							BAN/Assert.h does not need any includes meaning it can be included
anywhere without problems. 
							
						 
						
							2024-03-04 11:41:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8141b9977d 
								
							 
						 
						
							
							
								
								Kernel: Per processor information is now stored in class Processor  
							
							... 
							
							
							
							This allows us to allocate processor stacks, and other per processor
structures dynamically in runtime. Giving processor stack to
ap_trampoline feels super hacky, but it works for now. 
							
						 
						
							2024-03-03 22:30:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c035d3c82c 
								
							 
						 
						
							
							
								
								Kernel: Start all processors on kernel boot  
							
							... 
							
							
							
							Processors don't do anything, except print hello message and halt. 
							
						 
						
							2024-03-03 02:19:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1de9daa40f 
								
							 
						 
						
							
							
								
								Kernel: Move interrupt status stuff to Processor.h  
							
							... 
							
							
							
							SpinLocks are now locked with processor id instead of thread id. This
allows having multiple processors running while scheduler is not yet
activated. 
							
						 
						
							2024-03-03 01:47:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								efd8203232 
								
							 
						 
						
							
							
								
								BAN: Atomic memory order can be set per function call  
							
							
							
						 
						
							2024-03-03 01:41:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a667d88f93 
								
							 
						 
						
							
							
								
								Kernel: Remove now obsolete CriticalScope  
							
							... 
							
							
							
							All critical scopes in kernel are now replaced by SpinLocks. This
allows proper locking in actual multiprocessing with multiple cores. 
							
						 
						
							2024-03-01 15:51:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8d7dd577ab 
								
							 
						 
						
							
							
								
								Kernel: Replace last CriticalScopes in kernel with SpinLocks  
							
							
							
						 
						
							2024-03-01 15:49:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								054b41383f 
								
							 
						 
						
							
							
								
								Kernel: Implement SpinLock unsafe that does not keep track of locker  
							
							... 
							
							
							
							This will be used in scheduler where thread ids are changing 
							
						 
						
							2024-03-01 15:48:08 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								02ad199138 
								
							 
						 
						
							
							
								
								Kernel: Move interrupt status functions to kernel/Interrupts.h  
							
							
							
						 
						
							2024-03-01 02:13:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								65c4f9db5b 
								
							 
						 
						
							
							
								
								Kernel: Replace CriticalScopes with SpinLocks in Process/Thread  
							
							
							
						 
						
							2024-03-01 02:13:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51e38b7614 
								
							 
						 
						
							
							
								
								Kernel: Replace CriticalScope with SpinLock in SerialTTY  
							
							
							
						 
						
							2024-02-29 19:17:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								90878a7c2b 
								
							 
						 
						
							
							
								
								Kernel: Replace CriticalScopes with SpinLocks in networking code  
							
							
							
						 
						
							2024-02-29 19:17:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7f028f70d5 
								
							 
						 
						
							
							
								
								Kernel: Replace CriticalScopes with SpinLock in PS/2 and input code  
							
							
							
						 
						
							2024-02-29 19:17:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ec0cb5fd54 
								
							 
						 
						
							
							
								
								Kernel: Remove CriticalScopes from memory handing code  
							
							
							
						 
						
							2024-02-29 19:16:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								682de62c57 
								
							 
						 
						
							
							
								
								Kernel: Replace HPET CriticalScope with SpinLock  
							
							
							
						 
						
							2024-02-29 19:15:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								18253b6966 
								
							 
						 
						
							
							
								
								Kernel: Replace InterruptController CriticalScopes with SpinLock  
							
							
							
						 
						
							2024-02-29 19:15:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								21f05eb118 
								
							 
						 
						
							
							
								
								Merge branch 'main' into locking  
							
							
							
						 
						
							2024-02-28 23:00:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d94f6388b7 
								
							 
						 
						
							
							
								
								Kernel: Fix all broken locks from new mutexes  
							
							
							
						 
						
							2024-02-28 22:45:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1971813336 
								
							 
						 
						
							
							
								
								BAN: Add HashMap::remove(iterator)  
							
							
							
						 
						
							2024-02-28 22:35:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3c88d2aad3 
								
							 
						 
						
							
							
								
								BAN: Implement find() for HashMap  
							
							
							
						 
						
							2024-02-28 13:20:24 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5c39903323 
								
							 
						 
						
							
							
								
								Kernel: Simplify writing to threads stacks  
							
							... 
							
							
							
							This can be done more simply as all stacks are now page aligned 
							
						 
						
							2024-02-28 13:20:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6d59a2b45d 
								
							 
						 
						
							
							
								
								Kernel: Remove VirtualRanges created in kmalloc memory  
							
							... 
							
							
							
							These were only used as stacks of kernel threads, but they can just
as well be allocated as full pages from Heap 
							
						 
						
							2024-02-28 13:19:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								09c24088a2 
								
							 
						 
						
							
							
								
								Kernel: Cleanup kmalloc VirtualRange creation  
							
							
							
						 
						
							2024-02-28 13:19:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								efdc4817bb 
								
							 
						 
						
							
							
								
								Kernel: Print to debug log ICMP unreachable messages  
							
							... 
							
							
							
							These messages should be forwarded to underlying sockets 
							
						 
						
							2024-02-28 13:19:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c97abb053 
								
							 
						 
						
							
							
								
								BAN: Implement find() for HashMap  
							
							
							
						 
						
							2024-02-27 15:40:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1759d247d9 
								
							 
						 
						
							
							
								
								Kernel: Simplify writing to threads stacks  
							
							... 
							
							
							
							This can be done more simply as all stacks are now page aligned 
							
						 
						
							2024-02-25 21:57:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								21dc64dc21 
								
							 
						 
						
							
							
								
								Kernel: Remove VirtualRanges created in kmalloc memory  
							
							... 
							
							
							
							These were only used as stacks of kernel threads, but they can just
as well be allocated as full pages from Heap 
							
						 
						
							2024-02-25 21:56:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								264eff3ad0 
								
							 
						 
						
							
							
								
								Kernel: Cleanup kmalloc VirtualRange creation  
							
							
							
						 
						
							2024-02-25 21:33:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								05c7b21b0a 
								
							 
						 
						
							
							
								
								Kernel: Print to debug log ICMP unreachable messages  
							
							... 
							
							
							
							These messages should be forwarded to underlying sockets 
							
						 
						
							2024-02-25 21:32:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								40b626b0aa 
								
							 
						 
						
							
							
								
								Kernel: Rewrite all kernel mutexes  
							
							... 
							
							
							
							Now SpinLock is actually just a spin lock and I added a Mutex that
does the same as the old "SpinLock". This is in preparation for
starting to support smp and making the kernel smp safe. This commit
also removes obsolete PageTableScope and CriticalScope which should
now be used by alternative APIs. 
							
						 
						
							2024-02-25 21:29:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6ebfe05fce 
								
							 
						 
						
							
							
								
								BAN: Add parenthesis in ASSERT macros  
							
							
							
						 
						
							2024-02-25 21:22:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								59abb5d344 
								
							 
						 
						
							
							
								
								Kernel: Make HPET read_main_counter() atomic with 32 bit main counter  
							
							
							
						 
						
							2024-02-23 13:42:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9594ee8e47 
								
							 
						 
						
							
							
								
								Kernel: Start making device numbers unique for each device  
							
							
							
						 
						
							2024-02-22 15:53:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7a4ec7f7a3 
								
							 
						 
						
							
							
								
								Kernel: Use static_cast instead of c-style cast in HPET  
							
							
							
						 
						
							2024-02-22 14:44:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51db1706e9 
								
							 
						 
						
							
							
								
								Kernel: Fix checking of partition boundaries on write  
							
							
							
						 
						
							2024-02-22 13:31:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ac9e71d9c7 
								
							 
						 
						
							
							
								
								LibC: Fix parsing mode from string  
							
							
							
						 
						
							2024-02-20 13:25:24 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f3f5ca1bd8 
								
							 
						 
						
							
							
								
								Kernel: Seed RNG by real time if no RDRAND available  
							
							
							
						 
						
							2024-02-20 13:00:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b979023b9d 
								
							 
						 
						
							
							
								
								Shell: Add test cases for stroul and strod in builtin `test-strtox`  
							
							
							
						 
						
							2024-02-16 15:35:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								915dea01c9 
								
							 
						 
						
							
							
								
								LibC: fix printf %e for inf/nan values  
							
							
							
						 
						
							2024-02-16 15:34:24 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								566bb73897 
								
							 
						 
						
							
							
								
								LibC: Implement ato* and strto* functions for floating point numbers  
							
							
							
						 
						
							2024-02-16 15:28:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb0d8d746f 
								
							 
						 
						
							
							
								
								BAN: Add {max,min}_exponent{2,10} to numeric_limits<T>  
							
							
							
						 
						
							2024-02-16 15:27:40 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1b24c4f279 
								
							 
						 
						
							
							
								
								LibC: Implement strtou{l,ll}  
							
							
							
						 
						
							2024-02-15 12:25:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5a041e637 
								
							 
						 
						
							
							
								
								LibC: Remove cast from S_* macros so they can be used in preprocessor  
							
							
							
						 
						
							2024-02-15 12:20:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c469d9b3ff 
								
							 
						 
						
							
							
								
								Shell: Add builtin test for strtol `test-strtol`  
							
							
							
						 
						
							2024-02-14 22:38:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								373d166076 
								
							 
						 
						
							
							
								
								LibC: Implement ato{i,l,ll} and strto{l,ll}  
							
							
							
						 
						
							2024-02-14 22:35:23 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3c54243ac7 
								
							 
						 
						
							
							
								
								BAN: Implement some numerical limits  
							
							
							
						 
						
							2024-02-14 22:34:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1f467580ee 
								
							 
						 
						
							
							
								
								Userspace: Add test for popen  
							
							
							
						 
						
							2024-02-14 17:23:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1ba883719a 
								
							 
						 
						
							
							
								
								LibC: Implement popen and pclose  
							
							
							
						 
						
							2024-02-14 17:22:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f73e954b28 
								
							 
						 
						
							
							
								
								Kernel: Remove SpinLock from Pipe  
							
							... 
							
							
							
							Pipe already is using lock on the inode. If you read from pipe when
there was no data, pipe blocked indefinately since writes were blocked
by Inode::m_lock. 
							
						 
						
							2024-02-14 17:21:32 +02:00