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
							
						 | 
						
							
							
							
							
							
								
							
							
								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 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								c82caacbaa
								
							
						 | 
						
							
							
								
								Kernel: Cleanup APIC code
							
							
							
							
							
							
							
							APIC seems to work on my main machine, but not on other one 
							
						 | 
						
							2022-12-20 04:45:46 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								64a5a28ff0
								
							
						 | 
						
							
							
								
								Kernel: Add time since boot to Shell
							
							
							
							
							
						 | 
						
							2022-12-19 11:46:38 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								c8866aa88b
								
							
						 | 
						
							
							
								
								Kernel: Move GDT and IDT assembly to inline assembly
							
							
							
							
							
						 | 
						
							2022-12-19 11:46:38 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								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 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7efa5bfb75
								
							
						 | 
						
							
							
								
								Kernel: Shell backspace unicode detection cleanup
							
							
							
							
							
						 | 
						
							2022-12-16 11:53:59 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								f244728d33
								
							
						 | 
						
							
							
								
								Kernel: Add unicode support
							
							
							
							
							
						 | 
						
							2022-12-16 03:55:13 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								6fe0d04f07
								
							
						 | 
						
							
							
								
								Kernel: Implement basic VESA Graphics mode driver
							
							
							
							
							
							
							
							We now support VESA Graphics mode with some bitmap fonts 
							
						 | 
						
							2022-12-16 00:47:03 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9274c9ee2f
								
							
						 | 
						
							
							
								
								Kernel: Abstract TTY to use new VESA
							
							
							
							
							
						 | 
						
							2022-12-15 19:05:07 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								930661619b
								
							
						 | 
						
							
							
								
								Kernel: Add more functionality to Shell
							
							
							
							
							
							
							
							commands 'time', 'cpuid', 'random' 
							
						 | 
						
							2022-12-15 17:29:35 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								a2d38af37a
								
							
						 | 
						
							
							
								
								Kernel: Implement 'cpuid' and enumerations for features
							
							
							
							
							
						 | 
						
							2022-12-15 17:28:54 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7bddcafadd
								
							
						 | 
						
							
							
								
								Kernel: Remove a lot of empty lines
							
							
							
							
							
						 | 
						
							2022-12-14 21:17:46 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								711ba19a82
								
							
						 | 
						
							
							
								
								Kernel: Add basic Shell to test functionality
							
							
							
							
							
						 | 
						
							2022-12-13 21:34:50 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								f8224e55b1
								
							
						 | 
						
							
							
								
								Kernel: Force strlen compilation so BAN can use it
							
							
							
							
							
						 | 
						
							2022-12-13 21:33:54 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								ced05ff5f2
								
							
						 | 
						
							
							
								
								BAN: use only memcmp when comparing string(view) with const char*
							
							
							
							
							
						 | 
						
							2022-12-13 21:32:51 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								833a82c8d1
								
							
						 | 
						
							
							
								
								Kernel: Fix keymay brace/bracket to correct way around
							
							
							
							
							
						 | 
						
							2022-12-13 21:10:25 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								fd6e0ed0f7
								
							
						 | 
						
							
							
								
								Kernel: debug printing now show system time correctly
							
							
							
							
							
						 | 
						
							2022-12-13 20:44:52 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								174daa3e02
								
							
						 | 
						
							
							
								
								Kernel: Keyboard event callback can now be registered later
							
							
							
							
							
						 | 
						
							2022-12-13 16:15:10 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								171a33bbcd
								
							
						 | 
						
							
							
								
								Kernel/BAN: Add weekday to Time structure and get it with RTC
							
							
							
							
							
						 | 
						
							2022-12-13 14:37:10 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								52c793bb5c
								
							
						 | 
						
							
							
								
								Kernel/BAN: Make Time a struct in BAN and add formatter to it
							
							
							
							
							
						 | 
						
							2022-12-13 12:37:26 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								334abe6b27
								
							
						 | 
						
							
							
								
								Kernel: lol
							
							
							
							
							
						 | 
						
							2022-12-13 12:12:15 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								68e88d9413
								
							
						 | 
						
							
							
								
								Kernel: Add clear() command public TTY API
							
							
							
							
							
						 | 
						
							2022-12-13 10:45:24 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e62a626b39
								
							
						 | 
						
							
							
								
								Kernel: Improve keyboard input by a lot
							
							
							
							
							
							
							
							Seems to work on my 2 computerss 
							
						 | 
						
							2022-12-13 10:45:06 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7ebe727a29
								
							
						 | 
						
							
							
								
								Kernel: Add RTC to get current time
							
							
							
							
							
						 | 
						
							2022-12-13 10:41:36 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								835430e7b0
								
							
						 | 
						
							
							
								
								BAN: Move Formatter to new project called BAN
							
							
							
							
							
							
							
							I also implemented basic ErrorOr and Queue 
							
						 | 
						
							2022-12-13 10:39:57 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								1283e74ee6
								
							
						 | 
						
							
							
								
								Kernel: Formatter now supports fill to length
							
							
							
							
							
						 | 
						
							2022-12-13 01:16:49 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								2938c85c1a
								
							
						 | 
						
							
							
								
								Kernel: Makefile formatting
							
							
							
							
							
						 | 
						
							2022-12-13 00:59:53 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								f6def7a747
								
							
						 | 
						
							
							
								
								Kernel: initialize every irq handler to nullptr
							
							
							
							
							
						 | 
						
							2022-12-13 00:57:48 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9c72f7255a
								
							
						 | 
						
							
							
								
								Kernel: Add red colors to kernel panics
							
							
							
							
							
						 | 
						
							2022-12-13 00:57:13 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5f75479861
								
							
						 | 
						
							
							
								
								Kernel: zero initialize VGA_MEMORY and fix colors
							
							
							
							
							
						 | 
						
							2022-12-13 00:56:30 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								79a2bccd21
								
							
						 | 
						
							
							
								
								Kernel: kfree now checks for nullptr
							
							
							
							
							
						 | 
						
							2022-12-13 00:53:19 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5494d8d2ac
								
							
						 | 
						
							
							
								
								Kernel: We can now use destructors in global objects
							
							
							
							
							
						 | 
						
							2022-12-13 00:52:32 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								ddc28a8c0e
								
							
						 | 
						
							
							
								
								Kernel: Rename Printer to Formatter
							
							
							
							
							
						 | 
						
							2022-12-13 00:50:21 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e1a15a4989
								
							
						 | 
						
							
							
								
								Kernel: Add video mode request for bootloader
							
							
							
							
							
						 | 
						
							2022-12-10 03:55:24 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								03e7812cae
								
							
						 | 
						
							
							
								
								Kernel: Add basic ANSI support :)
							
							
							
							
							
						 | 
						
							2022-12-10 03:53:44 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								862b32d735
								
							
						 | 
						
							
							
								
								Kernel: Improve kmalloc error messages
							
							
							
							
							
						 | 
						
							2022-12-10 01:08:01 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								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 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								26f1ebe26f
								
							
						 | 
						
							
							
								
								Kernel: Implement very basic, but functional kmalloc/kfree
							
							
							
							
							
						 | 
						
							2022-12-09 00:26:24 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								ef56f9a239
								
							
						 | 
						
							
							
								
								Kernel: Add floating point printing to kprint
							
							
							
							
							
						 | 
						
							2022-12-09 00:22:47 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								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 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5ba7af2cf6
								
							
						 | 
						
							
							
								
								TTY: Treat tabs as spaces
							
							
							
							
							
						 | 
						
							2022-12-08 17:50:44 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e998615253
								
							
						 | 
						
							
							
								
								Kernel: Move GDT and IDT files to architecture specific folder
							
							
							
							
							
						 | 
						
							2022-12-08 17:50:04 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b7a600c86d
								
							
						 | 
						
							
							
								
								Kernel: Keyboard is now handeled "properly"
							
							
							
							
							
						 | 
						
							2022-12-07 04:35:38 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								998184e288
								
							
						 | 
						
							
							
								
								Kernel: TTY now handles '\b'
							
							
							
							
							
						 | 
						
							2022-12-07 04:35:02 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								4202c999fa
								
							
						 | 
						
							
							
								
								Kernel: IRQs are now working :)
							
							
							
							
							
						 | 
						
							2022-12-07 02:48:44 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								343dda629c
								
							
						 | 
						
							
							
								
								Kernel panic now halts the system
							
							
							
							
							
						 | 
						
							2022-12-03 18:19:07 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								c17f61611e
								
							
						 | 
						
							
							
								
								Improve buildsystem by making build directory
							
							
							
							
							
							
							
							We now create build directory for kernel and libc so that source
directories are kept more clean. 
							
						 | 
						
							2022-12-03 18:17:37 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								c292ef5471
								
							
						 | 
						
							
							
								
								Improve IDT Kernel panic
							
							
							
							
							
						 | 
						
							2022-11-16 20:28:07 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								4ebd0e5c36
								
							
						 | 
						
							
							
								
								Fix negative number printing in kprint
							
							
							
							
							
						 | 
						
							2022-11-16 20:27:22 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								20f7c18988
								
							
						 | 
						
							
							
								
								kmalloc does not zero initialize kernel memory
							
							
							
							
							
						 | 
						
							2022-11-16 19:51:45 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								f2b45ba212
								
							
						 | 
						
							
							
								
								Add GDT and IDT
							
							
							
							
							
						 | 
						
							2022-11-16 19:49:09 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b500a8a7ed
								
							
						 | 
						
							
							
								
								kmalloc
							
							
							
							
							
						 | 
						
							2022-11-16 19:48:36 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								550ecbc951
								
							
						 | 
						
							
							
								
								Kernel panic uses kprint with parameters
							
							
							
							
							
						 | 
						
							2022-11-16 19:47:19 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								123382eace
								
							
						 | 
						
							
							
								
								Fixes :)
							
							
							
							
							
						 | 
						
							2022-11-15 21:42:14 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7c06c75d6c
								
							
						 | 
						
							
							
								
								Move cursor in terminal when writing to it
							
							
							
							
							
						 | 
						
							2022-11-15 09:26:14 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								3bc4d7d39b
								
							
						 | 
						
							
							
								
								Rename .s extensions to .S
							
							
							
							
							
						 | 
						
							2022-11-15 09:25:18 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								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 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9e933a5ec5
								
							
						 | 
						
							
							
								
								Add kernel panic function
							
							
							
							
							
						 | 
						
							2022-11-14 18:53:00 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b185ed4fd3
								
							
						 | 
						
							
							
								
								Libc is now written in C++
							
							
							
							
							
						 | 
						
							2022-11-14 00:31:24 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								fd13f74bbf
								
							
						 | 
						
							
							
								
								Changed into higher half kernel
							
							
							
							
							
							
							
							https://wiki.osdev.org/Higher_Half_x86_Bare_Bones 
							
						 | 
						
							2022-11-13 02:03:20 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								db656fe469
								
							
						 | 
						
							
							
								
								Implement Stack Smashing Protection
							
							
							
							
							
						 | 
						
							2022-11-12 23:46:33 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								61609db228
								
							
						 | 
						
							
							
								
								Kernel is now in C++ :)
							
							
							
							
							
						 | 
						
							2022-11-12 21:30:26 +02:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e6b4866ab0
								
							
						 | 
						
							
							
								
								Initial commit. We have a booting kernel
							
							
							
							
							
						 | 
						
							2022-11-12 21:04:47 +02:00 |