e5eab8bae4 
								
							 
						 
						
							
							
								
								Kernel: Ext2FS now does allocations better  
							
							... 
							
							
							
							We only have to allocate at the beginning of the all functions and
can properly exit before any disk reads if we run out of memory.
This makes development little bit 'harder' since the {read,write}_block
user must allocate a buffer of atleast block_size bytes.
I also made disk access to cause kernel panic on error since the error
handling during file write is something I don't want to think now.
The filesystem can easily corrupt so, I feel like when disk io starts
to fail I'll come back to this. 
							
						 
						
							2023-03-23 23:22:31 +02:00  
				
					
						
							
							
								 
						
							
								75c4f35e85 
								
							 
						 
						
							
							
								
								Kernel: Add possibiliity to create empty files on Ext2  
							
							... 
							
							
							
							Big rewrite for Ext2 for more easy and optimized code 
							
						 
						
							2023-03-23 22:26:06 +02:00  
				
					
						
							
							
								 
						
							
								1be8b2f514 
								
							 
						 
						
							
							
								
								LibC: add more typedefs to sys/types  
							
							
							
						 
						
							2023-03-23 19:24:12 +02:00  
				
					
						
							
							
								 
						
							
								633414bd20 
								
							 
						 
						
							
							
								
								Kernel: Remove block group descriptor cache from ext2fs  
							
							... 
							
							
							
							This will make improving the fs easier since we need to only update
the values on the disk 
							
						 
						
							2023-03-23 18:52:58 +02:00  
				
					
						
							
							
								 
						
							
								7ca6cd61be 
								
							 
						 
						
							
							
								
								Kernel: Move get_unix_time to RTC namespace  
							
							
							
						 
						
							2023-03-23 18:14:51 +02:00  
				
					
						
							
							
								 
						
							
								d6e4430692 
								
							 
						 
						
							
							
								
								LibC: add errno NAMETOOLONG  
							
							
							
						 
						
							2023-03-23 14:48:42 +02:00  
				
					
						
							
							
								 
						
							
								efe73caf1b 
								
							 
						 
						
							
							
								
								BAN: char* is now formatted as string and not pointer  
							
							
							
						 
						
							2023-03-23 14:29:35 +02:00  
				
					
						
							
							
								 
						
							
								3ef72e8a7b 
								
							 
						 
						
							
							
								
								BAN: Modify Span constructors to keep constness correctly  
							
							
							
						 
						
							2023-03-23 14:26:03 +02:00  
				
					
						
							
							
								 
						
							
								e9da63ad79 
								
							 
						 
						
							
							
								
								BAN: Add is_const to traits  
							
							
							
						 
						
							2023-03-23 13:28:57 +02:00  
				
					
						
							
							
								 
						
							
								9b56801c3d 
								
							 
						 
						
							
							
								
								Kernel: StorageDevice and Ext2 "support" writing  
							
							
							
						 
						
							2023-03-23 13:04:13 +02:00  
				
					
						
							
							
								 
						
							
								5f6c58ffd2 
								
							 
						 
						
							
							
								
								Kernel: Shell now prints unix time with 'date' command  
							
							
							
						 
						
							2023-03-23 11:13:51 +02:00  
				
					
						
							
							
								 
						
							
								74949401bd 
								
							 
						 
						
							
							
								
								Kernel: Cleanup GPT parsing code  
							
							
							
						 
						
							2023-03-23 11:13:14 +02:00  
				
					
						
							
							
								 
						
							
								4ffc69a6e4 
								
							 
						 
						
							
							
								
								Kernel: TTY buffer is resized on font size change  
							
							... 
							
							
							
							Shell also has better line wrapping. You still can't visually go
back to previous line, but atleas we now write from the beginning
of the line 
							
						 
						
							2023-03-22 02:09:22 +02:00  
				
					
						
							
							
								 
						
							
								61ac9833be 
								
							 
						 
						
							
							
								
								Kernel: Reading from fd verifies that file is opened for reading  
							
							
							
						 
						
							2023-03-22 01:55:58 +02:00  
				
					
						
							
							
								 
						
							
								dbf7d9f19e 
								
							 
						 
						
							
							
								
								Kernel: Ext2 directory functions now fail on invalid blocks  
							
							... 
							
							
							
							Invalid blocks should only happen while writing to a file and
I think in that case we should just bail out instead of giving
you incomlete inode list or search result. 
							
						 
						
							2023-03-22 01:55:57 +02:00  
				
					
						
							
							
								 
						
							
								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