Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6fab26692b 
								
							 
						 
						
							
							
								
								Kernel: remove unnecessary function from x86_64 Thread.S  
							
							 
							
							
							
						 
						
							2023-02-02 23:48:18 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5b5e620d8a 
								
							 
						 
						
							
							
								
								Kernel: Improve multithreading support  
							
							 
							
							... 
							
							
							
							We can now use arbitary BAN::function<void(...)> as the Thread.
I also implemented multithreading for i386 since it was not done
on the initial multithreading commit. 
							
						 
						
							2023-02-02 23:24:12 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c85b97abee 
								
							 
						 
						
							
							
								
								Kernel: fix some of i368 IDT. This was really broken  
							
							 
							
							
							
						 
						
							2023-02-02 15:52:06 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								01f267a321 
								
							 
						 
						
							
							
								
								Kernel: fix spinlock for i386  
							
							 
							
							
							
						 
						
							2023-02-02 15:49:00 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9b8de5025a 
								
							 
						 
						
							
							
								
								All: rename every function from UpperCamelCase to snake_case  
							
							 
							
							... 
							
							
							
							This was a mess since I didn't know which to use but now I decided
to go with snake_case :) 
							
						 
						
							2023-02-01 21:05:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								337569b0ca 
								
							 
						 
						
							
							
								
								Kernel: Implement basic SpinLock  
							
							 
							
							
							
						 
						
							2023-02-01 01:52:52 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cb3b62d665 
								
							 
						 
						
							
							
								
								Kernel: Only allocate single GDT entry during boot.S  
							
							 
							
							... 
							
							
							
							When we need more, we should probably initialize rest of them
in cpp code 
							
						 
						
							2023-01-31 18:43:09 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1687028ed5 
								
							 
						 
						
							
							
								
								Kernel: Add constructor and destructor to MMU  
							
							 
							
							
							
						 
						
							2023-01-30 18:54:04 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6dc22b7251 
								
							 
						 
						
							
							
								
								Kernel: Add actual register values to x86_64 kernel panic  
							
							 
							
							... 
							
							
							
							Very hackish implementation, but we now get actual registers at the
time of the interrupt happening 
							
						 
						
							2023-01-30 18:52:38 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6418d7cfc3 
								
							 
						 
						
							
							
								
								Kernel: Add Other GDT entries to x86_64  
							
							 
							
							
							
						 
						
							2023-01-26 12:53:04 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								35d2e27292 
								
							 
						 
						
							
							
								
								Kernel: Improve MMU  
							
							 
							
							... 
							
							
							
							We don't have to invalidate page in AllocatePage() if we don't make
any changes. We also should not assert on deallocating non-present
pages, just return early :) 
							
						 
						
							2023-01-26 02:57:14 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								589f338357 
								
							 
						 
						
							
							
								
								Kernel: Cleanup IDT register dump inline assembly  
							
							 
							
							
							
						 
						
							2023-01-26 02:57:14 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e87026f01d 
								
							 
						 
						
							
							
								
								Kernel: I have no idea what this commit does  
							
							 
							
							... 
							
							
							
							I had committed a change in IDT but reverted it now.
This propably only adds a spurious interrupt detection to common cpp
interrupt handler? 
							
						 
						
							2023-01-26 02:55:37 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c0bc002ac6 
								
							 
						 
						
							
							
								
								Kernel: Move debug printing to its own file  
							
							 
							
							... 
							
							
							
							It didn't make sense that dprint was defined in Serial.h.
We also now dump dprint to tty if there is no serial and tty is initialized 
							
						 
						
							2023-01-25 22:51:42 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b315fdc27f 
								
							 
						 
						
							
							
								
								Kernel: Finally managed to get 64-bit working  
							
							 
							
							... 
							
							
							
							I had weird problems with interrupts but everything should work now 
							
						 
						
							2023-01-25 19:19:28 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c4670f49d4 
								
							 
						 
						
							
							
								
								Kernel: Refactor some IDT code  
							
							 
							
							
							
						 
						
							2023-01-25 19:19:28 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ba53582f23 
								
							 
						 
						
							
							
								
								Kernel: Rewrite APIC and PIC more OOP friendly  
							
							 
							
							... 
							
							
							
							x86_64 port is slowly coming together 
							
						 
						
							2023-01-23 20:13:57 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								54043288cb 
								
							 
						 
						
							
							
								
								Kernel: Move CPUID out of arch/  
							
							 
							
							... 
							
							
							
							CPUID instructions behaves the same on x86 and x86_64. I am not
planning on supporting any non x86 based architectures. 
							
						 
						
							2023-01-23 18:12:52 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1b9f7aa815 
								
							 
						 
						
							
							
								
								Kernel: Rewrite the whole VESA driver  
							
							 
							
							... 
							
							
							
							We dont support vga text mode currently. I might add it later if needed.
I also removed mouse 'support' from Shell since it didn't do anything
and I didn't implement arbitary bitmap rendering to framebuffer 
							
						 
						
							2023-01-23 13:21:53 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								10c7ef7baa 
								
							 
						 
						
							
							
								
								Kernel: MMU rename weird variable  
							
							 
							
							
							
						 
						
							2023-01-22 20:16:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								62469c529f 
								
							 
						 
						
							
							
								
								Kernel: IDT now allocates descriptors with kmalloc_eternal  
							
							 
							
							
							
						 
						
							2023-01-22 03:18:42 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								cdd27ae3db 
								
							 
						 
						
							
							
								
								Kernel: rename MMU::m_page_directory_pointer_table -> m_highest_paging_stuct  
							
							 
							
							... 
							
							
							
							This might not always be pdpt. In x86_64 it is pml4/pml5 
							
						 
						
							2023-01-22 03:03:58 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6ec4ba3dc9 
								
							 
						 
						
							
							
								
								Kernel: Move dump_backtrace() out of arch.  
							
							 
							
							... 
							
							
							
							I discovered __builtin_frame_address() 
							
						 
						
							2023-01-22 03:00:13 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fbfb3d6b70 
								
							 
						 
						
							
							
								
								Kernel: IDT cleanup GateDesctiptor usage  
							
							 
							
							... 
							
							
							
							And move everything to IDT namespace 
							
						 
						
							2023-01-22 02:06:43 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								558374a47c 
								
							 
						 
						
							
							
								
								Kernel: IDT flush only once in initialization  
							
							 
							
							
							
						 
						
							2023-01-22 02:06:43 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6e24ef8323 
								
							 
						 
						
							
							
								
								Kernel: IDT cleanup Kernel panic messages  
							
							 
							
							
							
						 
						
							2023-01-22 02:06:43 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3e8fbbaabd 
								
							 
						 
						
							
							
								
								Kernel: Fix small typos in IDT  
							
							 
							
							
							
						 
						
							2023-01-22 01:12:47 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								491610db2c 
								
							 
						 
						
							
							
								
								Kernel: move GDT initialization to boot.S  
							
							 
							
							
							
						 
						
							2023-01-22 00:48:12 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								aac7595a47 
								
							 
						 
						
							
							
								
								Kernel: cleanup boot.S code and enable SSE  
							
							 
							
							
							
						 
						
							2023-01-21 23:44:23 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b5453fad5c 
								
							 
						 
						
							
							
								
								Kernel: dump_stacktrace uses now "\r\n" line endings for bochs  
							
							 
							
							
							
						 
						
							2023-01-21 22:21:38 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bb051604a1 
								
							 
						 
						
							
							
								
								Kernel: Move dump_stacktrace() to arch folder  
							
							 
							
							... 
							
							
							
							It uses mov instruction which has different register on x86/x86-64 
							
						 
						
							2023-01-21 22:16:31 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9e092c80c0 
								
							 
						 
						
							
							
								
								Kernel: Cleanup boot.S  
							
							 
							
							
							
						 
						
							2023-01-21 22:16:01 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b9a4530e54 
								
							 
						 
						
							
							
								
								Kernel: Kernel::Panic now dumps stacktrace to com1  
							
							 
							
							
							
						 
						
							2023-01-16 21:50:50 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								73abc3b2ee 
								
							 
						 
						
							
							
								
								fixup! Kernel: Move GDT to its own namespace and cleanup  
							
							 
							
							
							
						 
						
							2023-01-16 15:24:59 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								46e5b3f3d6 
								
							 
						 
						
							
							
								
								Kernel: Move GDT to its own namespace and cleanup  
							
							 
							
							
							
						 
						
							2023-01-16 15:24:10 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								32453daf66 
								
							 
						 
						
							
							
								
								Kernel: actually dont map page 0  
							
							 
							
							
							
						 
						
							2023-01-13 15:04:06 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								416a41745f 
								
							 
						 
						
							
							
								
								Kernel: Kernel::Panic now checks that TTY is initialized instead of VESA  
							
							 
							
							
							
						 
						
							2023-01-13 15:04:06 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								77e82de51e 
								
							 
						 
						
							
							
								
								Kernel: Make IDT exceptions use a single Kernel:Panic  
							
							 
							
							... 
							
							
							
							This allows IDT to print exceptions even when we dont have TTY 
							
						 
						
							2023-01-13 15:04:06 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								75ee592fb5 
								
							 
						 
						
							
							
								
								Kernel: remove debug print from MMU  
							
							 
							
							
							
						 
						
							2023-01-13 00:04:50 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7f01eaa936 
								
							 
						 
						
							
							
								
								Kernel: Move CPUID feature strings to cpp file  
							
							 
							
							
							
						 
						
							2023-01-13 00:03:37 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4c7950cd3e 
								
							 
						 
						
							
							
								
								Kernel: remove unused function from IDT  
							
							 
							
							
							
						 
						
							2023-01-13 00:02:39 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4ae4ad528a 
								
							 
						 
						
							
							
								
								Kernel: APIC use dprintln instead of kprintln  
							
							 
							
							... 
							
							
							
							VESA drivers will be initialized much later now so kprintln
will not be available when initializing APIC 
							
						 
						
							2023-01-12 13:52:22 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f412c164b3 
								
							 
						 
						
							
							
								
								Kernel: Rename ACPI debug print macro  
							
							 
							
							
							
						 
						
							2023-01-12 13:48:05 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5493d1bae1 
								
							 
						 
						
							
							
								
								Kernel: Add debug print to MMU and fix comment  
							
							 
							
							
							
						 
						
							2023-01-12 13:46:02 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								301ad89783 
								
							 
						 
						
							
							
								
								Kernel: Unallocate RSDT after we are done with it  
							
							 
							
							
							
						 
						
							2023-01-12 13:45:01 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8fd51fb47d 
								
							 
						 
						
							
							
								
								Kernel: Replace Paging{.h,.cpp} with better MMU{.h,.cpp}  
							
							 
							
							
							
						 
						
							2023-01-12 13:24:36 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								64c57ea3d0 
								
							 
						 
						
							
							
								
								Kernel: Remove obsole CPUID::IsAvailable  
							
							 
							
							... 
							
							
							
							This is now a harware requirement that is verified already in boot.S 
							
						 
						
							2023-01-10 21:28:59 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6f9552d673 
								
							 
						 
						
							
							
								
								BAN: Add math to its own namespace  
							
							 
							
							
							
						 
						
							2023-01-10 19:11:27 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								181478119e 
								
							 
						 
						
							
							
								
								Kernel: Paging is now enabled by boot.S  
							
							 
							
							
							
						 
						
							2023-01-10 17:53:29 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c6467b8ebc 
								
							 
						 
						
							
							
								
								Kernel: Multiboot data and kernel command lines are now global variables  
							
							 
							
							
							
						 
						
							2023-01-10 17:50:24 +02:00