ef0b2010e0 
								
							 
						 
						
							
							
								
								Kernel: Add basic PS/2 Mouse driver  
							
							
							
						 
						
							2022-12-30 19:38:21 +02:00  
				
					
						
							
							
								 
						
							
								3c92aa45fb 
								
							 
						 
						
							
							
								
								Kernel: 'cpuinfo' command in shell now shows wheter you are running on 64-bit cpu  
							
							
							
						 
						
							2022-12-28 19:46:37 +02:00  
				
					
						
							
							
								 
						
							
								06a4ef1d87 
								
							 
						 
						
							
							
								
								Kernel: Commandline parsing does not depend on kmalloc anymore  
							
							
							
						 
						
							2022-12-28 04:17:46 +02:00  
				
					
						
							
							
								 
						
							
								5d7a767f8b 
								
							 
						 
						
							
							
								
								Kernel: Enable basic paging  
							
							
							
						 
						
							2022-12-28 04:17:34 +02:00  
				
					
						
							
							
								 
						
							
								3e8590687f 
								
							 
						 
						
							
							
								
								Kernel: Cleanup code and move kmalloc initialization to later  
							
							
							
						 
						
							2022-12-28 04:16:21 +02:00  
				
					
						
							
							
								 
						
							
								2a65c5fd0f 
								
							 
						 
						
							
							
								
								Kernel: Shell now actually prints to its TTY  
							
							
							
						 
						
							2022-12-27 20:11:49 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								620b836fc3 
								
							 
						 
						
							
							
								
								Kernel: VESA now somewhat handles Cursor in Graphics mode  
							
							
							
						 
						
							2022-12-27 18:29:02 +02:00  
				
					
						
							
							
								 
						
							
								d8fd6afd12 
								
							 
						 
						
							
							
								
								Kernel: Make TTY a class  
							
							
							
						 
						
							2022-12-23 15:55:45 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5e2680cade 
								
							 
						 
						
							
							
								
								Kernel: You can now disable APIC from the grub commandline  
							
							
							
						 
						
							2022-12-20 11:57:09 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								64a5a28ff0 
								
							 
						 
						
							
							
								
								Kernel: Add time since boot to Shell  
							
							
							
						 
						
							2022-12-19 11:46:38 +02:00  
				
					
						
							
							
								 
						
							
								0bdb01ee04 
								
							 
						 
						
							
							
								
								Kernel: Replace PIC with APIC  
							
							... 
							
							
							
							If APIC/IOAPIC is not found, we fallback to PIC
Interrupts don't seem to work on real hardware (?) 
							
						 
						
							2022-12-19 11:46:25 +02:00  
				
					
						
							
							
								 
						
							
								7efa5bfb75 
								
							 
						 
						
							
							
								
								Kernel: Shell backspace unicode detection cleanup  
							
							
							
						 
						
							2022-12-16 11:53:59 +02:00  
				
					
						
							
							
								 
						
							
								f244728d33 
								
							 
						 
						
							
							
								
								Kernel: Add unicode support  
							
							
							
						 
						
							2022-12-16 03:55:13 +02:00  
				
					
						
							
							
								 
						
							
								9274c9ee2f 
								
							 
						 
						
							
							
								
								Kernel: Abstract TTY to use new VESA  
							
							
							
						 
						
							2022-12-15 19:05:07 +02:00  
				
					
						
							
							
								 
						
							
								930661619b 
								
							 
						 
						
							
							
								
								Kernel: Add more functionality to Shell  
							
							... 
							
							
							
							commands 'time', 'cpuid', 'random' 
							
						 
						
							2022-12-15 17:29:35 +02:00  
				
					
						
							
							
								 
						
							
								711ba19a82 
								
							 
						 
						
							
							
								
								Kernel: Add basic Shell to test functionality  
							
							
							
						 
						
							2022-12-13 21:34:50 +02:00  
				
					
						
							
							
								 
						
							
								f8224e55b1 
								
							 
						 
						
							
							
								
								Kernel: Force strlen compilation so BAN can use it  
							
							
							
						 
						
							2022-12-13 21:33:54 +02:00  
				
					
						
							
							
								 
						
							
								174daa3e02 
								
							 
						 
						
							
							
								
								Kernel: Keyboard event callback can now be registered later  
							
							
							
						 
						
							2022-12-13 16:15:10 +02:00  
				
					
						
							
							
								 
						
							
								171a33bbcd 
								
							 
						 
						
							
							
								
								Kernel/BAN: Add weekday to Time structure and get it with RTC  
							
							
							
						 
						
							2022-12-13 14:37:10 +02:00  
				
					
						
							
							
								 
						
							
								52c793bb5c 
								
							 
						 
						
							
							
								
								Kernel/BAN: Make Time a struct in BAN and add formatter to it  
							
							
							
						 
						
							2022-12-13 12:37:26 +02:00  
				
					
						
							
							
								 
						
							
								334abe6b27 
								
							 
						 
						
							
							
								
								Kernel: lol  
							
							
							
						 
						
							2022-12-13 12:12:15 +02:00  
				
					
						
							
							
								 
						
							
								68e88d9413 
								
							 
						 
						
							
							
								
								Kernel: Add clear() command public TTY API  
							
							
							
						 
						
							2022-12-13 10:45:24 +02:00  
				
					
						
							
							
								 
						
							
								e62a626b39 
								
							 
						 
						
							
							
								
								Kernel: Improve keyboard input by a lot  
							
							... 
							
							
							
							Seems to work on my 2 computerss 
							
						 
						
							2022-12-13 10:45:06 +02:00  
				
					
						
							
							
								 
						
							
								7ebe727a29 
								
							 
						 
						
							
							
								
								Kernel: Add RTC to get current time  
							
							
							
						 
						
							2022-12-13 10:41:36 +02:00  
				
					
						
							
							
								 
						
							
								79a2bccd21 
								
							 
						 
						
							
							
								
								Kernel: kfree now checks for nullptr  
							
							
							
						 
						
							2022-12-13 00:53:19 +02:00  
				
					
						
							
							
								 
						
							
								ddc28a8c0e 
								
							 
						 
						
							
							
								
								Kernel: Rename Printer to Formatter  
							
							
							
						 
						
							2022-12-13 00:50:21 +02:00  
				
					
						
							
							
								 
						
							
								03e7812cae 
								
							 
						 
						
							
							
								
								Kernel: Add basic ANSI support :)  
							
							
							
						 
						
							2022-12-10 03:53:44 +02:00  
				
					
						
							
							
								 
						
							
								862b32d735 
								
							 
						 
						
							
							
								
								Kernel: Improve kmalloc error messages  
							
							
							
						 
						
							2022-12-10 01:08:01 +02:00  
				
					
						
							
							
								 
						
							
								3d3f12bd30 
								
							 
						 
						
							
							
								
								Kernel: Add new generic Printer class  
							
							... 
							
							
							
							kprint is now just a #define to Printer::print<terminal_putc>.
This allows us to use same print formatting for serial output :) 
							
						 
						
							2022-12-10 00:57:09 +02:00  
				
					
						
							
							
								 
						
							
								26f1ebe26f 
								
							 
						 
						
							
							
								
								Kernel: Implement very basic, but functional kmalloc/kfree  
							
							
							
						 
						
							2022-12-09 00:26:24 +02:00  
				
					
						
							
							
								 
						
							
								817de9f359 
								
							 
						 
						
							
							
								
								Kernel: Properly handle finnish keyboard layout.  
							
							... 
							
							
							
							You can now type any basic ascii character from keyboard.
Multimedia keys are not yet handled. 
							
						 
						
							2022-12-08 18:05:48 +02:00  
				
					
						
							
							
								 
						
							
								e998615253 
								
							 
						 
						
							
							
								
								Kernel: Move GDT and IDT files to architecture specific folder  
							
							
							
						 
						
							2022-12-08 17:50:04 +02:00  
				
					
						
							
							
								 
						
							
								b7a600c86d 
								
							 
						 
						
							
							
								
								Kernel: Keyboard is now handeled "properly"  
							
							
							
						 
						
							2022-12-07 04:35:38 +02:00  
				
					
						
							
							
								 
						
							
								4202c999fa 
								
							 
						 
						
							
							
								
								Kernel: IRQs are now working :)  
							
							
							
						 
						
							2022-12-07 02:48:44 +02:00  
				
					
						
							
							
								 
						
							
								c292ef5471 
								
							 
						 
						
							
							
								
								Improve IDT Kernel panic  
							
							
							
						 
						
							2022-11-16 20:28:07 +02:00  
				
					
						
							
							
								 
						
							
								20f7c18988 
								
							 
						 
						
							
							
								
								kmalloc does not zero initialize kernel memory  
							
							
							
						 
						
							2022-11-16 19:51:45 +02:00  
				
					
						
							
							
								 
						
							
								f2b45ba212 
								
							 
						 
						
							
							
								
								Add GDT and IDT  
							
							
							
						 
						
							2022-11-16 19:49:09 +02:00  
				
					
						
							
							
								 
						
							
								b500a8a7ed 
								
							 
						 
						
							
							
								
								kmalloc  
							
							
							
						 
						
							2022-11-16 19:48:36 +02:00  
				
					
						
							
							
								 
						
							
								550ecbc951 
								
							 
						 
						
							
							
								
								Kernel panic uses kprint with parameters  
							
							
							
						 
						
							2022-11-16 19:47:19 +02:00  
				
					
						
							
							
								 
						
							
								123382eace 
								
							 
						 
						
							
							
								
								Fixes :)  
							
							
							
						 
						
							2022-11-15 21:42:14 +02:00  
				
					
						
							
							
								 
						
							
								d289916bc0 
								
							 
						 
						
							
							
								
								Changed back to lower half kernel, since im dump.  
							
							... 
							
							
							
							I dont see the benefit of higher half (and could not get multiboot info) 
							
						 
						
							2022-11-15 00:38:33 +02:00  
				
					
						
							
							
								 
						
							
								9e933a5ec5 
								
							 
						 
						
							
							
								
								Add kernel panic function  
							
							
							
						 
						
							2022-11-14 18:53:00 +02:00  
				
					
						
							
							
								 
						
							
								b185ed4fd3 
								
							 
						 
						
							
							
								
								Libc is now written in C++  
							
							
							
						 
						
							2022-11-14 00:31:24 +02:00  
				
					
						
							
							
								 
						
							
								fd13f74bbf 
								
							 
						 
						
							
							
								
								Changed into higher half kernel  
							
							... 
							
							
							
							https://wiki.osdev.org/Higher_Half_x86_Bare_Bones  
						
							2022-11-13 02:03:20 +02:00  
				
					
						
							
							
								 
						
							
								db656fe469 
								
							 
						 
						
							
							
								
								Implement Stack Smashing Protection  
							
							
							
						 
						
							2022-11-12 23:46:33 +02:00  
				
					
						
							
							
								 
						
							
								61609db228 
								
							 
						 
						
							
							
								
								Kernel is now in C++ :)  
							
							
							
						 
						
							2022-11-12 21:30:26 +02:00  
				
					
						
							
							
								 
						
							
								e6b4866ab0 
								
							 
						 
						
							
							
								
								Initial commit. We have a booting kernel  
							
							
							
						 
						
							2022-11-12 21:04:47 +02:00