Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3dfe062de1 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TTY code  
							
							 
							
							
							
						 
						
							2023-01-12 13:24:41 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								33a4fcc662 
								
							 
						 
						
							
							
								
								Kernel: Add helper macro for bochs magic break point  
							
							 
							
							
							
						 
						
							2023-01-12 13:24:41 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8fd51fb47d 
								
							 
						 
						
							
							
								
								Kernel: Replace Paging{.h,.cpp} with better MMU{.h,.cpp}  
							
							 
							
							
							
						 
						
							2023-01-12 13:24:36 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								67308c36ad 
								
							 
						 
						
							
							
								
								BAN: ErrorOr<void> does not do an heap allocation anymore  
							
							 
							
							
							
						 
						
							2023-01-12 00:11:54 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								296b6d8529 
								
							 
						 
						
							
							
								
								bochs.sh now launches a seperate terminal to which it redirects com1  
							
							 
							
							
							
						 
						
							2023-01-11 20:18:08 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d02e3b19c7 
								
							 
						 
						
							
							
								
								BAN: Move operator new/delete to BAN/Memory.cpp  
							
							 
							
							... 
							
							
							
							We also now implement alignment new 
							
						 
						
							2023-01-10 21:59:40 +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
							
						 
						
							 
							
							
							
							
								
							
							
								7d45b3cbd6 
								
							 
						 
						
							
							
								
								Kernel: Rewrote kmalloc to be much simpler and allow alignment  
							
							 
							
							
							
						 
						
							2023-01-10 21:10:36 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d89b6aa9ce 
								
							 
						 
						
							
							
								
								Kernel: Serial output now gives clickable links  
							
							 
							
							
							
						 
						
							2023-01-10 21:09: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
							
						 
						
							 
							
							
							
							
								
							
							
								ee83cd3430 
								
							 
						 
						
							
							
								
								BAN: Implement basic static array  
							
							 
							
							
							
						 
						
							2023-01-10 17:52:00 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								85068e27d6 
								
							 
						 
						
							
							
								
								BAN: BAN/Memory.h now provides the operator new and delete  
							
							 
							
							
							
						 
						
							2023-01-10 17:51:33 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c6467b8ebc 
								
							 
						 
						
							
							
								
								Kernel: Multiboot data and kernel command lines are now global variables  
							
							 
							
							
							
						 
						
							2023-01-10 17:50:24 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								1a65ea977d 
								
							 
						 
						
							
							
								
								BAN: Better ASSERT()  
							
							 
							
							
							
						 
						
							2023-01-10 17:43:18 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								73cd08fa51 
								
							 
						 
						
							
							
								
								Kernel: Add script to run bochs debugger  
							
							 
							
							
							
						 
						
							2023-01-10 11:28:23 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5106552bfd 
								
							 
						 
						
							
							
								
								Kernel: Serial output uses now "\r\n" as line endings  
							
							 
							
							
							
						 
						
							2023-01-10 11:24:30 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								979a5960e4 
								
							 
						 
						
							
							
								
								Kernel: We don't use floating point arithemtic anymore in kernel  
							
							 
							
							
							
						 
						
							2023-01-10 11:10:17 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								efd8638a96 
								
							 
						 
						
							
							
								
								Kernel: Improve kernel panic message and rename it 'panic'->'Panic'  
							
							 
							
							
							
						 
						
							2023-01-09 21:57:03 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								531f470132 
								
							 
						 
						
							
							
								
								Kernel: Add helper to map pages with base address and size  
							
							 
							
							... 
							
							
							
							This allows us to easily map enough pages for buffer with known size
VESA driver can now allocate enough memory for whole framebuffer if it
doesn't fit in a single page (1920x1080 for example) 
							
						 
						
							2023-01-05 03:44:41 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								086f0c7cf6 
								
							 
						 
						
							
							
								
								Kernel: Better error reporting from VESA and fix texmode rendering  
							
							 
							
							
							
						 
						
							2023-01-05 03:36:20 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d6623def32 
								
							 
						 
						
							
							
								
								Kernel: Paging uses now PAE with 2 MiB pages  
							
							 
							
							
							
						 
						
							2023-01-05 02:00:18 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a12ddfa12a 
								
							 
						 
						
							
							
								
								Kernel: Update PS/2 controller  
							
							 
							
							
							
						 
						
							2023-01-04 19:22:23 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fcec793873 
								
							 
						 
						
							
							
								
								Kernel: Shell now renders a mouse  
							
							 
							
							... 
							
							
							
							PS/2 mouse doesn't seem to work with PIC. 
							
						 
						
							2022-12-30 20:48:15 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9d9a6b2fec 
								
							 
						 
						
							
							
								
								Kernel: VESA can now print 8x16 bitmaps  
							
							 
							
							
							
						 
						
							2022-12-30 20:47:25 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f51ca4b642 
								
							 
						 
						
							
							
								
								Kernel: Rewrite IDT exception kernel panic message  
							
							 
							
							
							
						 
						
							2022-12-30 20:03:09 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fc05642b74 
								
							 
						 
						
							
							
								
								Kernel: Make Render from buffer public tty function  
							
							 
							
							
							
						 
						
							2022-12-30 19:57:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b60af90538 
								
							 
						 
						
							
							
								
								BAN: Add min, max and clamp  
							
							 
							
							
							
						 
						
							2022-12-30 19:52:16 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ef0b2010e0 
								
							 
						 
						
							
							
								
								Kernel: Add basic PS/2 Mouse driver  
							
							 
							
							
							
						 
						
							2022-12-30 19:38:21 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3c92aa45fb 
								
							 
						 
						
							
							
								
								Kernel: 'cpuinfo' command in shell now shows wheter you are running on 64-bit cpu  
							
							 
							
							
							
						 
						
							2022-12-28 19:46:37 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								267367333e 
								
							 
						 
						
							
							
								
								Kernel: Move paging code to a helper  
							
							 
							
							
							
						 
						
							2022-12-28 19:01:01 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								06a4ef1d87 
								
							 
						 
						
							
							
								
								Kernel: Commandline parsing does not depend on kmalloc anymore  
							
							 
							
							
							
						 
						
							2022-12-28 04:17:46 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5d7a767f8b 
								
							 
						 
						
							
							
								
								Kernel: Enable basic paging  
							
							 
							
							
							
						 
						
							2022-12-28 04:17:34 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3e8590687f 
								
							 
						 
						
							
							
								
								Kernel: Cleanup code and move kmalloc initialization to later  
							
							 
							
							
							
						 
						
							2022-12-28 04:16:21 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2a65c5fd0f 
								
							 
						 
						
							
							
								
								Kernel: Shell now actually prints to its TTY  
							
							 
							
							
							
						 
						
							2022-12-27 20:11:49 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f0fd62c703 
								
							 
						 
						
							
							
								
								BAN: Strings can now be constructed using BAN::Formatter  
							
							 
							
							
							
						 
						
							2022-12-27 20:01:05 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fd4fdffd46 
								
							 
						 
						
							
							
								
								BAN::Formatter now takes putc like function as a parameter  
							
							 
							
							... 
							
							
							
							This allows us to use capturing lambdas as a putc like function 
							
						 
						
							2022-12-27 19:55:07 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								98fc72b0d0 
								
							 
						 
						
							
							
								
								Kernel: kmalloc now aligns everything by alignof(max_align_t)  
							
							 
							
							... 
							
							
							
							kmalloc properly aligns everything now.
I also changed so that kmalloc addresses are stored as uintptr_t
instead of void* or uint8_t* for easier arithemetic and less casting 
							
						 
						
							2022-12-27 19:07:20 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9169020ad2 
								
							 
						 
						
							
							
								
								Kernel: Remove unnecessary checks from GraphicsPutCharAt()  
							
							 
							
							
							
						 
						
							2022-12-27 18:29:51 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								620b836fc3 
								
							 
						 
						
							
							
								
								Kernel: VESA now somewhat handles Cursor in Graphics mode  
							
							 
							
							
							
						 
						
							2022-12-27 18:29:02 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2d46281c16 
								
							 
						 
						
							
							
								
								Kernel: TTY scroll is now done using memmove  
							
							 
							
							... 
							
							
							
							This will be faster when memory functions will be optimized 
							
						 
						
							2022-12-27 17:45:47 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5ae1fc58e9 
								
							 
						 
						
							
							
								
								Kernel: Clean code in tty and vesa  
							
							 
							
							
							
						 
						
							2022-12-27 17:22:45 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2535eb1c4c 
								
							 
						 
						
							
							
								
								Kernel: TTY now handles keeping terminal buffer  
							
							 
							
							... 
							
							
							
							VESA Driver cannot scroll anymore, this is handled by tty 
							
						 
						
							2022-12-27 17:06:33 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f7eb85babd 
								
							 
						 
						
							
							
								
								Kernel: IDT exceptions print better errors now  
							
							 
							
							
							
						 
						
							2022-12-23 15:56:10 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d8fd6afd12 
								
							 
						 
						
							
							
								
								Kernel: Make TTY a class  
							
							 
							
							
							
						 
						
							2022-12-23 15:55:45 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3f7a61a4d2 
								
							 
						 
						
							
							
								
								Kernel: VESA driver has now second buffer for fast scrolling  
							
							 
							
							... 
							
							
							
							This allows us to not read from video memory, since it was very slow
I also implemented fast path for graphics clearing and scrolling if bpp is 32 
							
						 
						
							2022-12-20 14:02:44 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5e2680cade 
								
							 
						 
						
							
							
								
								Kernel: You can now disable APIC from the grub commandline  
							
							 
							
							
							
						 
						
							2022-12-20 11:57:09 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								6732cabf20 
								
							 
						 
						
							
							
								
								BAN: StringView::Split now accepts a function  
							
							 
							
							... 
							
							
							
							Original overload with char is not threadsafe anymore, but I don't
want to duplicate code :) 
							
						 
						
							2022-12-20 11:50:32 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7ae00ac76e 
								
							 
						 
						
							
							
								
								BAN: Vector now has a Has() function  
							
							 
							
							
							
						 
						
							2022-12-20 11:38:29 +02:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4c559f50a4 
								
							 
						 
						
							
							
								
								BAN: StringView::Split() now precomputes number of elements  
							
							 
							
							... 
							
							
							
							We dont have to resize vector on PushBack()'s if we reserve required size 
							
						 
						
							2022-12-20 11:37:28 +02:00