Bananymous 
							
						 
						
							
								c791a1c200 
								
							 
						 
						
							
							
								
								Bootloader: Build with cmake instead of custom script  
							
							
							
						 
						
							2023-11-14 03:44:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bd3f2bb61c 
								
							 
						 
						
							
							
								
								Bootloader: Split bootloader into multiple files  
							
							... 
							
							
							
							This cleans up the code since bootloader is starting to near 1k lines 
							
						 
						
							2023-11-14 03:27:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7ca9a961b3 
								
							 
						 
						
							
							
								
								Bootloader move bootloader code from arch directory  
							
							... 
							
							
							
							The os itself only supports x86 so this won't matter. x86_64 and i386
use the same bootloader assembly. 
							
						 
						
							2023-11-13 21:42:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cbb9422ee0 
								
							 
						 
						
							
							
								
								Bootloader: installer now uses banan os elf headers intead of Linux's  
							
							
							
						 
						
							2023-11-13 21:40:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2c2ee6636f 
								
							 
						 
						
							
							
								
								fixup  
							
							
							
						 
						
							2023-11-13 21:39:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3beebd721f 
								
							 
						 
						
							
							
								
								LibELF: Remove 2 32 bit types that don't exist  
							
							
							
						 
						
							2023-11-13 21:39:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								048bbf874a 
								
							 
						 
						
							
							
								
								Bootloader: Find root partition from GPT header  
							
							
							
						 
						
							2023-11-13 18:55:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d2970b5b8d 
								
							 
						 
						
							
							
								
								Bootloader: installer now patches GPT GUID's  
							
							
							
						 
						
							2023-11-13 18:53:55 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0004d3b435 
								
							 
						 
						
							
							
								
								Bootloader: Add API to create GUID from string  
							
							
							
						 
						
							2023-11-13 18:52:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d5aa08baa5 
								
							 
						 
						
							
							
								
								BuildSystem: add bootloader target  
							
							... 
							
							
							
							Use this target to run banan-os with custom bootloader 
							
						 
						
							2023-11-12 01:50:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5362962d9a 
								
							 
						 
						
							
							
								
								BuildSystem: add proper clean target  
							
							
							
						 
						
							2023-11-12 01:14:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bfe6d60e9e 
								
							 
						 
						
							
							
								
								ls: print link targets when listing files  
							
							
							
						 
						
							2023-11-11 23:17:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c084ce8b01 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement readlink and readlinkat  
							
							
							
						 
						
							2023-11-11 23:16:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								381cfdad77 
								
							 
						 
						
							
							
								
								Bootloader: Continue work on bootloader  
							
							... 
							
							
							
							Bootloader can now get the memory map and read cmdline from user.
Now 'just' video mode query, ext2 and ELF parsing are needed :D 
							
						 
						
							2023-11-11 22:49:00 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cfc7313451 
								
							 
						 
						
							
							
								
								Bootloader: Start work on bootloader  
							
							... 
							
							
							
							I wrote a fast first stage bootloader and a installer to put it into
a disk image. 
							
						 
						
							2023-11-09 22:42:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bc8fd1285f 
								
							 
						 
						
							
							
								
								Toolchain: Fix typo when setting make flags  
							
							... 
							
							
							
							I defaultet MAKEFLAGS to -j which will launch processes in parallel
without any limit. 
							
						 
						
							2023-11-09 21:57:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8e5224ef53 
								
							 
						 
						
							
							
								
								Toolchain: add em=gnu to gas. This allows using / in expressions  
							
							
							
						 
						
							2023-11-09 21:43:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fda0dfec30 
								
							 
						 
						
							
							
								
								Kernel: Make TmpFS enforce max page count.  
							
							
							
						 
						
							2023-11-07 16:13:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d6ae1bcf36 
								
							 
						 
						
							
							
								
								Kernel: Remove now obsolete RamFS  
							
							... 
							
							
							
							Everything is using now the better TmpFS which uses physical pages
for page allocation instead of the static kmalloc memory. 
							
						 
						
							2023-11-07 16:07:11 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5044810451 
								
							 
						 
						
							
							
								
								Kernel: Make DevFS use the new and better TmpFS instead of RamFS  
							
							
							
						 
						
							2023-11-07 16:05:05 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								147cd93ed3 
								
							 
						 
						
							
							
								
								Kernel: Add method to TmpFS for looping over all (cached) inodes  
							
							
							
						 
						
							2023-11-07 16:04:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								07b5920f3f 
								
							 
						 
						
							
							
								
								Kernel: Lock TmpFS in all its methods  
							
							
							
						 
						
							2023-11-07 16:03:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2bcf934389 
								
							 
						 
						
							
							
								
								Kernel: Implement symlinks to TmpFS  
							
							
							
						 
						
							2023-11-07 15:59:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1405712f26 
								
							 
						 
						
							
							
								
								Kernel: Make PS/2 keyboard wait until interrupts are enabled  
							
							
							
						 
						
							2023-11-07 15:58:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a8ffe6b3a6 
								
							 
						 
						
							
							
								
								BuildSystem: Fix temporary sysroot creation in toolchain compilation  
							
							
							
						 
						
							2023-11-07 14:16:49 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								613d6640fe 
								
							 
						 
						
							
							
								
								meminfo: better format for files without permissions  
							
							
							
						 
						
							2023-11-07 02:41:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								885ed218fa 
								
							 
						 
						
							
							
								
								Kernel: Make unlinking from /proc always fail with EPERM  
							
							
							
						 
						
							2023-11-07 02:40:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b1f431d962 
								
							 
						 
						
							
							
								
								Kernel: /tmp is now TmpFS instead of RamFS  
							
							
							
						 
						
							2023-11-07 02:36:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								06e176e6b9 
								
							 
						 
						
							
							
								
								Kernel: Make ProcFS use the new TmpFS internally  
							
							
							
						 
						
							2023-11-07 02:35:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b7771e95ac 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS Inode unlinking and deletion  
							
							
							
						 
						
							2023-11-06 21:49:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3e33fc156b 
								
							 
						 
						
							
							
								
								Kernel: TmpFS directory inodes now iterate over only valid entries  
							
							
							
						 
						
							2023-11-06 21:41:51 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								438f01a856 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpFS directory entry enumeration early return  
							
							
							
						 
						
							2023-11-06 21:06:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dd8189048 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 directory listing for big directories  
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ff6b127c3a 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS directory listing  
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c3ed700324 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS inode chmod  
							
							
							
						 
						
							2023-11-06 20:11:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ba2f09a4e6 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TmpFS code and block access doesn't require allocs  
							
							... 
							
							
							
							TmpFS blocks are now accessed with a simple wrapper 
							
						 
						
							2023-11-06 20:07:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c92c1b8e2b 
								
							 
						 
						
							
							
								
								Kernel: TmpInode blocks are on demand allocated  
							
							
							
						 
						
							2023-11-06 10:44:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c27d20abd8 
								
							 
						 
						
							
							
								
								Kernel: Implement read/write/truncate for TmpFileInode  
							
							
							
						 
						
							2023-11-05 02:28:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								99d7b0917d 
								
							 
						 
						
							
							
								
								Kernel: Start work on proper TmpFS in Heap instead of kmalloc memory  
							
							
							
						 
						
							2023-11-04 18:18:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8b4e129fc1 
								
							 
						 
						
							
							
								
								Kernel: Add better APIs for fast page  
							
							
							
						 
						
							2023-11-04 18:13:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								240d57f4b4 
								
							 
						 
						
							
							
								
								BAN: Update bytespan -> span API  
							
							
							
						 
						
							2023-11-04 18:12:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f6c312a6b3 
								
							 
						 
						
							
							
								
								BuildSystem: using sysroot doesn't need root privileges anymore!  
							
							... 
							
							
							
							Sysroot is now created with fakeroot. This allows root access to be
only needed for disk image creation, since it uses loopback devices. 
							
						 
						
							2023-11-04 17:50:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca34ece8ef 
								
							 
						 
						
							
							
								
								BAN: Update ASSERT api  
							
							... 
							
							
							
							its now much harder to mix < with <= and > with >= 
							
						 
						
							2023-11-02 00:01:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								71ecdd7245 
								
							 
						 
						
							
							
								
								Kernel: Canonicalize vaddr before using it  
							
							
							
						 
						
							2023-10-30 19:20:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b80b59ce24 
								
							 
						 
						
							
							
								
								Kernel: Remove unused externs in kernel.cpp  
							
							
							
						 
						
							2023-10-30 19:09:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								640d27748f 
								
							 
						 
						
							
							
								
								Kernel: Temporarily force FileBackedRegion mappings writable  
							
							... 
							
							
							
							Now that write-protect bit is enabled this is neccessary. 
							
						 
						
							2023-10-30 19:08:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								42772611ce 
								
							 
						 
						
							
							
								
								Kernel: Add fast page to page table  
							
							... 
							
							
							
							Add "fast page" to KERNEL_OFFSET. This is always present in page
tables and only requires changing the page table entry to map. This
requires no interrupts since it should only be for very operations
like memcpy.
I used to map all temporary mappings to vaddr 0, but this is much
better. C++ standard always says that nullptr access is undefined
and this gets rid of it.
Fixed some bugs I found along the way 
							
						 
						
							2023-10-30 19:02:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6e676ee8c5 
								
							 
						 
						
							
							
								
								Kernel: Remove GeneralAllocator since it was not used  
							
							
							
						 
						
							2023-10-30 18:13:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								066fb44105 
								
							 
						 
						
							
							
								
								Kernel: Allow offsetof with packed fields  
							
							... 
							
							
							
							This is not standard C++ but should be fine with my toolchain. 
							
						 
						
							2023-10-30 17:51:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3f638f125e 
								
							 
						 
						
							
							
								
								Kernel: panic takes arguments as rvalue references  
							
							
							
						 
						
							2023-10-30 16:22:02 +02:00