632b699475 
								
							 
						 
						
							
							
								
								BAN: add is_arithmetic and is_signed to Traits.h  
							
							
							
						 
						
							2023-05-15 20:26:29 +03:00  
				
					
						
							
							
								 
						
							
								13fabcc1f1 
								
							 
						 
						
							
							
								
								BAN: add pow, log2, log10, log in math  
							
							... 
							
							
							
							These are implemented using x86 floating point assembly 
							
						 
						
							2023-05-10 19:03:33 +03:00  
				
					
						
							
							
								 
						
							
								c2ad76fe4f 
								
							 
						 
						
							
							
								
								BAN: Error uses 64 bit error codes  
							
							
							
						 
						
							2023-05-07 02:09:52 +03:00  
				
					
						
							
							
								 
						
							
								88a2c60065 
								
							 
						 
						
							
							
								
								BAN: Add is_power_of_two to Math functions  
							
							
							
						 
						
							2023-04-28 14:42:49 +03:00  
				
					
						
							
							
								 
						
							
								c5b006bf19 
								
							 
						 
						
							
							
								
								BAN: Add {TRY,MUST}_REF for references  
							
							... 
							
							
							
							It is annoying that we have to have separate macros for these but
I can't find a way to cleanly return lvalue reference from statement
expression. Currently we cast the reference to pointer and return
unreference the pointer outside of the expression.
This feature will probably not be used any time soon, but atleas
it is implemented if I need it one day 
							
						 
						
							2023-04-19 00:31:15 +03:00  
				
					
						
							
							
								 
						
							
								115c44630d 
								
							 
						 
						
							
							
								
								BAN: TRY and MUST macros use rvalue references  
							
							
							
						 
						
							2023-04-19 00:11:15 +03:00  
				
					
						
							
							
								 
						
							
								1dc81abca4 
								
							 
						 
						
							
							
								
								BAN: Add specialization for ErrorOr<LValueReference>  
							
							... 
							
							
							
							ErrorOr can now return a reference :) 
							
						 
						
							2023-04-18 22:02:47 +03:00  
				
					
						
							
							
								 
						
							
								5aaf2128a8 
								
							 
						 
						
							
							
								
								BAN: Variant with reference now supports copy/assign  
							
							
							
						 
						
							2023-04-18 20:21:23 +03:00  
				
					
						
							
							
								 
						
							
								6aeac17072 
								
							 
						 
						
							
							
								
								BAN: Variant now works with references  
							
							... 
							
							
							
							References can be assigned with the set() method. Construction nor
assigment operators cannot be used with references to avoid ambiguity
with what assignment to reference does.
You can set the underlying reference with the set() method and access
it with the get() method.
The references are stored as pointers to the object under the hood
which means that size of a reference is sizeof pointer. 
							
						 
						
							2023-04-18 19:53:34 +03:00  
				
					
						
							
							
								 
						
							
								6d425182a2 
								
							 
						 
						
							
							
								
								BAN: Variant::set now copy/move assigns when possible  
							
							
							
						 
						
							2023-04-18 19:10:22 +03:00  
				
					
						
							
							
								 
						
							
								04ac23b67c 
								
							 
						 
						
							
							
								
								BAN: Variant now has variadic template types  
							
							
							
						 
						
							2023-04-18 18:29:48 +03:00  
				
					
						
							
							
								 
						
							
								9c0f3dd996 
								
							 
						 
						
							
							
								
								Kernel: Move kmalloc and MMU to Memory directory  
							
							
							
						 
						
							2023-04-18 10:18:15 +03:00  
				
					
						
							
							
								 
						
							
								0ee7da92a3 
								
							 
						 
						
							
							
								
								BAN: Variant now aligns its data properly  
							
							
							
						 
						
							2023-04-12 00:17:45 +03:00  
				
					
						
							
							
								 
						
							
								8d6db168d6 
								
							 
						 
						
							
							
								
								Kernel: remove message from BAN::Error  
							
							... 
							
							
							
							We don't store the error message anymore in BAN::Error.
Instead we store a error code that can be mapped into a string.
This allows BAN::Error to only take 4 bytes instead of 128.
We should also make some kernel initialization just panic instead
of returning errors since they are required for succesfull boot
anyway. 
							
						 
						
							2023-04-11 23:25:21 +03:00  
				
					
						
							
							
								 
						
							
								2fabe1949c 
								
							 
						 
						
							
							
								
								BAN: Move RefPtr to its own file and create New.h  
							
							... 
							
							
							
							New.h contains definitions for placement new operators and
BAN::allocator and BAN::dealloctor 
							
						 
						
							2023-04-10 21:07:25 +03:00  
				
					
						
							
							
								 
						
							
								c660df14ec 
								
							 
						 
						
							
							
								
								BuildSystem: Fix header copying to sysroot  
							
							... 
							
							
							
							We used to copy all headers everytime to sysroot which caused
rebuild of the whole os. Now we use the cmake command
'copy_directory_if_different' which seemed to fix this issue :) 
							
						 
						
							2023-04-10 21:07:25 +03:00  
				
					
						
							
							
								 
						
							
								5db5ff069a 
								
							 
						 
						
							
							
								
								BuildSystem: you can now build the toolchain with cmake  
							
							
							
						 
						
							2023-04-06 00:23:02 +03:00  
				
					
						
							
							
								 
						
							
								de9f109f2a 
								
							 
						 
						
							
							
								
								BAN: Add data() member function to Array  
							
							
							
						 
						
							2023-04-03 17:00:52 +03:00  
				
					
						
							
							
								 
						
							
								e49d3c7bfe 
								
							 
						 
						
							
							
								
								BuildSystem: We are now using cmake instead of plain make  
							
							... 
							
							
							
							I have been annoyed for a while since I had to build everything
when running the os since the buildsystem was really bad.
I wanted to rewrite the whole build system and changed to using cmake
:) 
							
						 
						
							2023-04-02 04:07:27 +03:00  
				
					
						
							
							
								 
						
							
								c32584cca0 
								
							 
						 
						
							
							
								
								BAN: LinkedList::remove now returns iterator to the element after  
							
							
							
						 
						
							2023-03-30 18:46:19 +03:00  
				
					
						
							
							
								 
						
							
								c1dbafc101 
								
							 
						 
						
							
							
								
								BAN: StringView::split(char, bool) is now thread safe  
							
							... 
							
							
							
							I had to duplicate some code, but this is better since I would like
to not use BAN::Function for something like this 
							
						 
						
							2023-03-30 16:35:38 +03:00  
				
					
						
							
							
								 
						
							
								f9c3ae7090 
								
							 
						 
						
							
							
								
								BAN: String add front() and back() helpers  
							
							
							
						 
						
							2023-03-29 14:10:29 +03:00  
				
					
						
							
							
								 
						
							
								779912d8af 
								
							 
						 
						
							
							
								
								BAN: Vector now takes optional argument for default value on resize  
							
							
							
						 
						
							2023-03-28 23:10:36 +03:00  
				
					
						
							
							
								 
						
							
								f205b8e883 
								
							 
						 
						
							
							
								
								BAN: Implement basic Circular Queue  
							
							
							
						 
						
							2023-03-28 21:44:02 +03:00  
				
					
						
							
							
								 
						
							
								0ef318633c 
								
							 
						 
						
							
							
								
								BAN: ScopeGuard can now be disabled (it wont call the function)  
							
							
							
						 
						
							2023-03-28 01:15:13 +03:00  
				
					
						
							
							
								 
						
							
								6d6bef1b04 
								
							 
						 
						
							
							
								
								BAN: move placement new declaration to Move.h  
							
							
							
						 
						
							2023-03-27 03:38:06 +03:00  
				
					
						
							
							
								 
						
							
								f8a2c60c8d 
								
							 
						 
						
							
							
								
								Kernel/BAN: move unix time conversion to BAN and add stat to Shell  
							
							
							
						 
						
							2023-03-27 00:49:58 +03:00  
				
					
						
							
							
								 
						
							
								a063d041c9 
								
							 
						 
						
							
							
								
								BAN: char* is now formatted as string and not pointer  
							
							
							
						 
						
							2023-03-23 14:29:35 +02:00  
				
					
						
							
							
								 
						
							
								3572e9794a 
								
							 
						 
						
							
							
								
								BAN: Modify Span constructors to keep constness correctly  
							
							
							
						 
						
							2023-03-23 14:26:03 +02:00  
				
					
						
							
							
								 
						
							
								cef6999dc7 
								
							 
						 
						
							
							
								
								BAN: Add is_const to traits  
							
							
							
						 
						
							2023-03-23 13:28:57 +02:00  
				
					
						
							
							
								 
						
							
								96579b88cf 
								
							 
						 
						
							
							
								
								Kernel: Cleanup GPT parsing code  
							
							
							
						 
						
							2023-03-23 11:13:14 +02:00  
				
					
						
							
							
								 
						
							
								9c744dfc44 
								
							 
						 
						
							
							
								
								BAN: Add wrappers for little/big endian numbers  
							
							
							
						 
						
							2023-03-20 19:48:08 +02:00  
				
					
						
							
							
								 
						
							
								22e45278a2 
								
							 
						 
						
							
							
								
								Kernel: Fix PC Screen font parsing  
							
							... 
							
							
							
							I had misread the format and the parsing code was incorrect. I also
changed fonts to store unicode codepoints as 32 bit integers, so
every character can be represented 
							
						 
						
							2023-03-20 14:52:42 +02:00  
				
					
						
							
							
								 
						
							
								70f2908056 
								
							 
						 
						
							
							
								
								BAN: Implement basic Span  
							
							... 
							
							
							
							This is wrapper over contiguous block of memory e.g. Vector 
							
						 
						
							2023-03-20 13:34:26 +02:00  
				
					
						
							
							
								 
						
							
								ef381d0600 
								
							 
						 
						
							
							
								
								BAN: Add iterators to all containers with contiguous memory  
							
							
							
						 
						
							2023-03-20 13:26:42 +02:00  
				
					
						
							
							
								 
						
							
								cfa87526a7 
								
							 
						 
						
							
							
								
								BAN: Add implementation for basic iterator for contiguous memory  
							
							
							
						 
						
							2023-03-20 13:15:38 +02:00  
				
					
						
							
							
								 
						
							
								1292be71b2 
								
							 
						 
						
							
							
								
								BAN: Add FNV hash for strings  
							
							
							
						 
						
							2023-03-16 15:11:22 +02:00  
				
					
						
							
							
								 
						
							
								1b7625581d 
								
							 
						 
						
							
							
								
								Kernel: Add basic concept of Processes  
							
							... 
							
							
							
							We now create Shell as a process that has its own threads 
							
						 
						
							2023-03-16 12:17:04 +02:00  
				
					
						
							
							
								 
						
							
								c012822d49 
								
							 
						 
						
							
							
								
								BAN: Rename StringView suffix from _sv to sv  
							
							
							
						 
						
							2023-03-16 12:15:16 +02:00  
				
					
						
							
							
								 
						
							
								392da37f9a 
								
							 
						 
						
							
							
								
								BAN: Function storage is now aligned as CallableBase and not max_align_t  
							
							... 
							
							
							
							On 32 bit architecture the alignment of 16 bytes did not seem to work
on stack variables. UBSan detected whole lot of misaligned functions
from Ext2.cpp. This patch should make function alignment be big enough? 
							
						 
						
							2023-03-09 01:42:17 +02:00  
				
					
						
							
							
								 
						
							
								371dfe8ef3 
								
							 
						 
						
							
							
								
								BAN: Formatter now uses perfect forwarding on its arguments  
							
							
							
						 
						
							2023-03-08 21:31:26 +02:00  
				
					
						
							
							
								 
						
							
								3ac99f1bd8 
								
							 
						 
						
							
							
								
								BAN: Add more traits and cleanup code  
							
							
							
						 
						
							2023-03-08 21:30:21 +02:00  
				
					
						
							
							
								 
						
							
								7458f68c38 
								
							 
						 
						
							
							
								
								BAN: Error can now be constructed from c_string or format string  
							
							... 
							
							
							
							If the resulting string would overflow, we just truncate it to fit
the error message buffer (128) bytes 
							
						 
						
							2023-03-08 17:05:37 +02:00  
				
					
						
							
							
								 
						
							
								23b3028e15 
								
							 
						 
						
							
							
								
								Kernel: Rename RefCounted -> RefPtr and implement RefCounted  
							
							
							
						 
						
							2023-03-08 03:26:25 +02:00  
				
					
						
							
							
								 
						
							
								e480f9c195 
								
							 
						 
						
							
							
								
								BAN: RefCounted<> frees count if object allocation fails  
							
							
							
						 
						
							2023-03-06 13:17:04 +02:00  
				
					
						
							
							
								 
						
							
								e3a71289c0 
								
							 
						 
						
							
							
								
								BAN: fix LinkedList back/front functions  
							
							
							
						 
						
							2023-03-06 01:46:52 +02:00  
				
					
						
							
							
								 
						
							
								81cb342c12 
								
							 
						 
						
							
							
								
								BAN: Remove #error macros  
							
							
							
						 
						
							2023-03-02 22:30:32 +02:00  
				
					
						
							
							
								 
						
							
								1c146ba1a5 
								
							 
						 
						
							
							
								
								BAN: remove aligned alloc from ban  
							
							
							
						 
						
							2023-03-02 22:12:42 +02:00  
				
					
						
							
							
								 
						
							
								52aa98ba25 
								
							 
						 
						
							
							
								
								Kernel+LibC: Add some errno codes  
							
							... 
							
							
							
							Kernel now returns ENOMEM and other errnos, so we dont have to write
error messages 
							
						 
						
							2023-03-02 21:10:44 +02:00  
				
					
						
							
							
								 
						
							
								90a7268e5a 
								
							 
						 
						
							
							
								
								BAN: Rewrite RefCounted to return ErrorOr  
							
							
							
						 
						
							2023-03-02 12:30:11 +02:00