a02d4c59ed
BAN: Vector and Queue replace Address() with AddressOf and correct const
2023-01-16 12:10:16 +02:00
c62d512d68
BAN: Add Iterator and ConstIterator to Vector
2023-01-13 17:48:19 +02:00
689338b506
Kernel: kmalloc can now dump current memory usage
2023-01-13 17:42:19 +02:00
f547a788f2
Kernel: Add support for arrow keys in Shell
2023-01-13 15:07:24 +02:00
bf4b26d1fd
Kernel: kmalloc now returns nullptr if you try to allocate over kmalloc size
2023-01-13 15:04:06 +02:00
32453daf66
Kernel: actually dont map page 0
2023-01-13 15:04:06 +02:00
416a41745f
Kernel: Kernel::Panic now checks that TTY is initialized instead of VESA
2023-01-13 15:04:06 +02:00
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
af8d486893
Kenrel: TTY fix cursor position with ANSI escapes
2023-01-13 15:04:06 +02:00
57cbd728db
BAN: Rewrite Queue with move semantics
2023-01-13 15:04:06 +02:00
0f4e95acc5
BAN: Rewrite vector with move semantics
2023-01-13 15:04:06 +02:00
065e23d307
BAN: fix include
2023-01-13 15:04:06 +02:00
82a25f9035
BAN: implement placement new
2023-01-13 14:45:27 +02:00
61de71e0d5
BAN: Properly allocate/deallocate elements in Vector/Queue
2023-01-13 01:09:40 +02:00
6ed542d6bf
BAN: Queue and Vector now default initialize newly allocated elements
2023-01-13 01:00:50 +02:00
c35181a92f
BAN: ASSERT now prints the condition
2023-01-13 00:57:47 +02:00
53d1d12c12
BAN: String add operator=(StringView)
2023-01-13 00:57:47 +02:00
c33c6c5785
BAN: memcpy only if we already have a buffer
2023-01-13 00:17:19 +02:00
75ee592fb5
Kernel: remove debug print from MMU
2023-01-13 00:04:50 +02:00
6b73547989
All: edit gcc flags
2023-01-13 00:04:15 +02:00
7f01eaa936
Kernel: Move CPUID feature strings to cpp file
2023-01-13 00:03:37 +02:00
d0aa938b35
Kernel: remove unused function from kmalloc
2023-01-13 00:03:10 +02:00
4c7950cd3e
Kernel: remove unused function from IDT
2023-01-13 00:02:39 +02:00
61bd9da8e0
BAN: Add [[nodiscard]] to BAN functions returning ErrorOr
2023-01-12 23:57:07 +02:00
78da037dda
BAN: String, Queue and Vector dont use floating point arithmetic
2023-01-12 17:00:29 +02:00
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
f412c164b3
Kernel: Rename ACPI debug print macro
2023-01-12 13:48:05 +02:00
5493d1bae1
Kernel: Add debug print to MMU and fix comment
2023-01-12 13:46:02 +02:00
301ad89783
Kernel: Unallocate RSDT after we are done with it
2023-01-12 13:45:01 +02:00
087d14fbb7
Kenrel: Remove unnecessary print from kmalloc_initialize()
2023-01-12 13:24:41 +02:00
3dfe062de1
Kernel: Cleanup TTY code
2023-01-12 13:24:41 +02:00
33a4fcc662
Kernel: Add helper macro for bochs magic break point
2023-01-12 13:24:41 +02:00
8fd51fb47d
Kernel: Replace Paging{.h,.cpp} with better MMU{.h,.cpp}
2023-01-12 13:24:36 +02:00
67308c36ad
BAN: ErrorOr<void> does not do an heap allocation anymore
2023-01-12 00:11:54 +02:00
296b6d8529
bochs.sh now launches a seperate terminal to which it redirects com1
2023-01-11 20:18:08 +02:00
d02e3b19c7
BAN: Move operator new/delete to BAN/Memory.cpp
...
We also now implement alignment new
2023-01-10 21:59:40 +02:00
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
7d45b3cbd6
Kernel: Rewrote kmalloc to be much simpler and allow alignment
2023-01-10 21:10:36 +02:00
d89b6aa9ce
Kernel: Serial output now gives clickable links
2023-01-10 21:09:59 +02:00
6f9552d673
BAN: Add math to its own namespace
2023-01-10 19:11:27 +02:00
181478119e
Kernel: Paging is now enabled by boot.S
2023-01-10 17:53:29 +02:00
ee83cd3430
BAN: Implement basic static array
2023-01-10 17:52:00 +02:00
85068e27d6
BAN: BAN/Memory.h now provides the operator new and delete
2023-01-10 17:51:33 +02:00
c6467b8ebc
Kernel: Multiboot data and kernel command lines are now global variables
2023-01-10 17:50:24 +02:00
1a65ea977d
BAN: Better ASSERT()
2023-01-10 17:43:18 +02:00
73cd08fa51
Kernel: Add script to run bochs debugger
2023-01-10 11:28:23 +02:00
5106552bfd
Kernel: Serial output uses now "\r\n" as line endings
2023-01-10 11:24:30 +02:00
979a5960e4
Kernel: We don't use floating point arithemtic anymore in kernel
2023-01-10 11:10:17 +02:00
efd8638a96
Kernel: Improve kernel panic message and rename it 'panic'->'Panic'
2023-01-09 21:57:03 +02:00
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