Commit Graph

505 Commits

Author SHA1 Message Date
Bananymous 19307ce197 BAN: MUST() now returns the underlying value 2022-12-13 14:37:10 +02:00
Bananymous b49a873d54 BAN: Add allocator/deallocator references for kernel/userspace 2022-12-13 13:40:54 +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 3cda527987 BAN: Rename BAN::Formatter argument overload thing 2022-12-13 12:30:48 +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 f4b614aa61 LibC: Add some new functions 2022-12-13 00:51:57 +02:00
Bananymous 90632de834 General: Add script to install iso to usb 2022-12-13 00:50:48 +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 ac2ba8bc56 LibC: Remove actual printing from putc() since we were panicing anyway 2022-12-10 00:30:00 +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 35e21ca4ce Improve integer printing 2022-11-15 16:34:16 +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 e9f029696f Update gitignore 2022-11-13 00:34:27 +02:00
Bananymous a1a709974a Add %p to printf 2022-11-13 00:33:45 +02:00