a6e5a0b704 
								
							 
						 
						
							
							
								
								Kernel: cksum uses now a different crc32_table to match linux 'cksum'  
							
							
							
						 
						
							2023-03-22 01:55:21 +02:00  
				
					
						
							
							
								 
						
							
								337463ec16 
								
							 
						 
						
							
							
								
								Kernel: Ext2 can now read from non-block-size aligned offsets  
							
							
							
						 
						
							2023-03-21 19:19:17 +02:00  
				
					
						
							
							
								 
						
							
								072954480d 
								
							 
						 
						
							
							
								
								Kernel: Remove obsolete Ext2FS::ext2_root_inode()  
							
							... 
							
							
							
							This was not used by anyone and the cast was wrong anyway 
							
						 
						
							2023-03-21 18:19:48 +02:00  
				
					
						
							
							
								 
						
							
								3652d11059 
								
							 
						 
						
							
							
								
								Kernel: Remove for_each_block from Ext2  
							
							
							
						 
						
							2023-03-21 18:14:02 +02:00  
				
					
						
							
							
								 
						
							
								54824aec74 
								
							 
						 
						
							
							
								
								Kernel: Cleanup font parsing  
							
							... 
							
							
							
							We use now the LittleEndian<> wrapper for PSF2 header and no more
magic constants in code 
							
						 
						
							2023-03-20 19:48:08 +02:00  
				
					
						
							
							
								 
						
							
								a61cf61fd1 
								
							 
						 
						
							
							
								
								BAN: Add wrappers for little/big endian numbers  
							
							
							
						 
						
							2023-03-20 19:48:08 +02:00  
				
					
						
							
							
								 
						
							
								75e85def83 
								
							 
						 
						
							
							
								
								Kernel: prefs font does not allocate extra buffer  
							
							
							
						 
						
							2023-03-20 19:48:01 +02:00  
				
					
						
							
							
								 
						
							
								f9ae1f0023 
								
							 
						 
						
							
							
								
								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  
				
					
						
							
							
								 
						
							
								896b4c280c 
								
							 
						 
						
							
							
								
								Kernel: Font parsing uses Spans now  
							
							
							
						 
						
							2023-03-20 13:35:54 +02:00  
				
					
						
							
							
								 
						
							
								ce3f268075 
								
							 
						 
						
							
							
								
								BAN: Implement basic Span  
							
							... 
							
							
							
							This is wrapper over contiguous block of memory e.g. Vector 
							
						 
						
							2023-03-20 13:34:26 +02:00  
				
					
						
							
							
								 
						
							
								8edabaea55 
								
							 
						 
						
							
							
								
								BAN: Add iterators to all containers with contiguous memory  
							
							
							
						 
						
							2023-03-20 13:26:42 +02:00  
				
					
						
							
							
								 
						
							
								ec22b86e00 
								
							 
						 
						
							
							
								
								BAN: Add implementation for basic iterator for contiguous memory  
							
							
							
						 
						
							2023-03-20 13:15:38 +02:00  
				
					
						
							
							
								 
						
							
								e4bcd98904 
								
							 
						 
						
							
							
								
								Kernel: Add basic mounting to VFS.  
							
							
							
						 
						
							2023-03-19 05:51:25 +02:00  
				
					
						
							
							
								 
						
							
								cf2be54e8f 
								
							 
						 
						
							
							
								
								LibC: add errno ENOTEMPTY  
							
							
							
						 
						
							2023-03-19 05:43:40 +02:00  
				
					
						
							
							
								 
						
							
								3ab62e83d3 
								
							 
						 
						
							
							
								
								LibC: add errno EEXISTS  
							
							
							
						 
						
							2023-03-19 04:17:39 +02:00  
				
					
						
							
							
								 
						
							
								3570764448 
								
							 
						 
						
							
							
								
								Kernel: Add comparison operator for inodes  
							
							
							
						 
						
							2023-03-19 03:34:23 +02:00  
				
					
						
							
							
								 
						
							
								6188023fb5 
								
							 
						 
						
							
							
								
								Create README.md  
							
							
							
						 
						
							2023-03-18 04:05:59 +02:00  
				
					
						
							
							
								 
						
							
								7b9c3e9119 
								
							 
						 
						
							
							
								
								Qemu: add kvm acceleration as option  
							
							
							
						 
						
							2023-03-18 03:51:10 +02:00  
				
					
						
							
							
								 
						
							
								b41491e205 
								
							 
						 
						
							
							
								
								Kernel: Add cksum to Shell for file read testing  
							
							... 
							
							
							
							I also removed the 'using namespace BAN' 
							
						 
						
							2023-03-18 03:50:24 +02:00  
				
					
						
							
							
								 
						
							
								8236598f9d 
								
							 
						 
						
							
							
								
								Kernel: Optimize Ext2 disk reads  
							
							... 
							
							
							
							We used to read whole file until we reached the asked offset.
Now we can calculate the appropriate block and read just the asked data. 
							
						 
						
							2023-03-18 03:47:59 +02:00  
				
					
						
							
							
								 
						
							
								1a26a318a4 
								
							 
						 
						
							
							
								
								Kernel: Rework filesystem reading  
							
							... 
							
							
							
							We now read from a filesystem to user provided buffer.
Read sizes are determined by read call.
You should now get file descriptors and do reading through Process::current() 
							
						 
						
							2023-03-17 21:18:41 +02:00  
				
					
						
							
							
								 
						
							
								ceb53533be 
								
							 
						 
						
							
							
								
								LibC: add fcntl.h with some defines  
							
							
							
						 
						
							2023-03-17 21:18:41 +02:00  
				
					
						
							
							
								 
						
							
								e2707b9416 
								
							 
						 
						
							
							
								
								LibC: Add EBADF errno  
							
							
							
						 
						
							2023-03-16 16:22:11 +02:00  
				
					
						
							
							
								 
						
							
								4493c9bbe6 
								
							 
						 
						
							
							
								
								LibC: Add ENTOSUP errno  
							
							
							
						 
						
							2023-03-16 16:03:51 +02:00  
				
					
						
							
							
								 
						
							
								1f2ceeb329 
								
							 
						 
						
							
							
								
								Kernel: VFS caches currently open inodes  
							
							
							
						 
						
							2023-03-16 15:31:33 +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  
				
					
						
							
							
								 
						
							
								8b8e3cbbf0 
								
							 
						 
						
							
							
								
								Kernel/Userspace: Start initial work on userspace and syscalls  
							
							
							
						 
						
							2023-03-13 15:32:46 +02:00  
				
					
						
							
							
								 
						
							
								af854ec9e1 
								
							 
						 
						
							
							
								
								Kernel: Thread creation now takes void(*)() as entry and void* as data  
							
							... 
							
							
							
							This simplifies threading for the future and gets rid of (undefined?)
cast of member function pointer to address 
							
						 
						
							2023-03-09 15:33:42 +02:00  
				
					
						
							
							
								 
						
							
								8dbece9119 
								
							 
						 
						
							
							
								
								Kernel: kmalloc minimum align is forced to s_kmalloc_min_align  
							
							
							
						 
						
							2023-03-09 14:37:25 +02:00  
				
					
						
							
							
								 
						
							
								8940ff8002 
								
							 
						 
						
							
							
								
								Kernel: You don't have to check whether VFS is initialized or not  
							
							... 
							
							
							
							VFS now returns Error when attempting to traverse inodes if it did
not find root partition 
							
						 
						
							2023-03-09 02:31:24 +02:00  
				
					
						
							
							
								 
						
							
								fc58baf54d 
								
							 
						 
						
							
							
								
								Kernel: if VFS initialization does not find root, we fail  
							
							
							
						 
						
							2023-03-09 02:17:42 +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  
				
					
						
							
							
								 
						
							
								2e6e0d0ef5 
								
							 
						 
						
							
							
								
								Kernel: FIX ubsan complaining about unaligned addresses for STDHeaders  
							
							
							
						 
						
							2023-03-08 22:55:44 +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  
				
					
						
							
							
								 
						
							
								d90aba0963 
								
							 
						 
						
							
							
								
								Kernel: Create CriticalScope and fix kmalloc  
							
							... 
							
							
							
							This disables interrupts for the current scope and restores them
after the scope. This is used in kmalloc, since scheduler might
call into kmalloc/kfree, but deadlock if some thread is currently
trying to allocate. This allows us to use kmalloc in Scheduler. 
							
						 
						
							2023-03-08 13:55:53 +02:00  
				
					
						
							
							
								 
						
							
								a068d828fe 
								
							 
						 
						
							
							
								
								Kernel: ATA reads go through the ata controller and not only device  
							
							
							
						 
						
							2023-03-08 03:26:25 +02:00  
				
					
						
							
							
								 
						
							
								1dabe7a222 
								
							 
						 
						
							
							
								
								Kernel: More rework on Scheduler  
							
							
							
						 
						
							2023-03-08 03:26:25 +02:00  
				
					
						
							
							
								 
						
							
								e7a577f54a 
								
							 
						 
						
							
							
								
								Kernel: fix includes  
							
							
							
						 
						
							2023-03-08 03:26:25 +02:00  
				
					
						
							
							
								 
						
							
								23b3028e15 
								
							 
						 
						
							
							
								
								Kernel: Rename RefCounted -> RefPtr and implement RefCounted  
							
							
							
						 
						
							2023-03-08 03:26:25 +02:00  
				
					
						
							
							
								 
						
							
								f7ebda3bf1 
								
							 
						 
						
							
							
								
								Kernel: Move interrupt related functions to InterruptController  
							
							
							
						 
						
							2023-03-08 03:16:51 +02:00  
				
					
						
							
							
								 
						
							
								b5673278c4 
								
							 
						 
						
							
							
								
								Kernel: Disable color after Debug::dump_stack_trace  
							
							
							
						 
						
							2023-03-08 02:41:44 +02:00  
				
					
						
							
							
								 
						
							
								0b62729887 
								
							 
						 
						
							
							
								
								Kernel: Scheduler sleeping is working  
							
							... 
							
							
							
							We have to disable optimization for one function, but I'm working
on a fix 
							
						 
						
							2023-03-08 02:41:44 +02:00  
				
					
						
							
							
								 
						
							
								b8ee77eb78 
								
							 
						 
						
							
							
								
								Kernel: Initial work on new scheduler with queues  
							
							... 
							
							
							
							Sleeping is definately broken 
							
						 
						
							2023-03-08 02:41:44 +02:00  
				
					
						
							
							
								 
						
							
								a9acf1f6dc 
								
							 
						 
						
							
							
								
								Kernel: PCIDevice is now class with getters and constructor  
							
							
							
						 
						
							2023-03-08 02:41:44 +02:00  
				
					
						
							
							
								 
						
							
								b4ce438ca7 
								
							 
						 
						
							
							
								
								Build: install-usb now prints write size correctly in MiB  
							
							
							
						 
						
							2023-03-08 02:41:44 +02:00  
				
					
						
							
							
								 
						
							
								42c33ebfb3 
								
							 
						 
						
							
							
								
								Kernel: kmalloc aligns size to s_kmalloc_min_align  
							
							... 
							
							
							
							We don't get unaligned memory anymore from kmalloc 
							
						 
						
							2023-03-08 02:41:44 +02:00