Bananymous 
							
						 
						
							
								8aab3a62cc 
								
							 
						 
						
							
							
								
								Bootloader: Build with cmake instead of custom script  
							
							
							
						 
						
							2023-11-14 03:44:47 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b0b39c56ba 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								055b1a2a1a 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								d99ef11e48 
								
							 
						 
						
							
							
								
								Bootloader: installer now uses banan os elf headers intead of Linux's  
							
							
							
						 
						
							2023-11-13 21:40:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								732eb9da41 
								
							 
						 
						
							
							
								
								fixup  
							
							
							
						 
						
							2023-11-13 21:39:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8faad47843 
								
							 
						 
						
							
							
								
								LibELF: Remove 2 32 bit types that don't exist  
							
							
							
						 
						
							2023-11-13 21:39:39 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa4f3046ff 
								
							 
						 
						
							
							
								
								Bootloader: Find root partition from GPT header  
							
							
							
						 
						
							2023-11-13 18:55:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b4775fbe75 
								
							 
						 
						
							
							
								
								Bootloader: installer now patches GPT GUID's  
							
							
							
						 
						
							2023-11-13 18:53:55 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8a5753b0fe 
								
							 
						 
						
							
							
								
								Bootloader: Add API to create GUID from string  
							
							
							
						 
						
							2023-11-13 18:52:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1a75262b04 
								
							 
						 
						
							
							
								
								BuildSystem: add bootloader target  
							
							... 
							
							
							
							Use this target to run banan-os with custom bootloader 
							
						 
						
							2023-11-12 01:50:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								39801e51da 
								
							 
						 
						
							
							
								
								BuildSystem: add proper clean target  
							
							
							
						 
						
							2023-11-12 01:14:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6e3f176457 
								
							 
						 
						
							
							
								
								ls: print link targets when listing files  
							
							
							
						 
						
							2023-11-11 23:17:18 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								447da99f0b 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement readlink and readlinkat  
							
							
							
						 
						
							2023-11-11 23:16:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a3a287f5ca 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								c47f6a78bc 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								430a006acf 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								845ed66e5e 
								
							 
						 
						
							
							
								
								Toolchain: add em=gnu to gas. This allows using / in expressions  
							
							
							
						 
						
							2023-11-09 21:43:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2191ca46bb 
								
							 
						 
						
							
							
								
								Kernel: Make TmpFS enforce max page count.  
							
							
							
						 
						
							2023-11-07 16:13:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cec04a2858 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								b87351f6d5 
								
							 
						 
						
							
							
								
								Kernel: Make DevFS use the new and better TmpFS instead of RamFS  
							
							
							
						 
						
							2023-11-07 16:05:05 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								464737fbe9 
								
							 
						 
						
							
							
								
								Kernel: Add method to TmpFS for looping over all (cached) inodes  
							
							
							
						 
						
							2023-11-07 16:04:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8b4f661acb 
								
							 
						 
						
							
							
								
								Kernel: Lock TmpFS in all its methods  
							
							
							
						 
						
							2023-11-07 16:03:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								27963febc0 
								
							 
						 
						
							
							
								
								Kernel: Implement symlinks to TmpFS  
							
							
							
						 
						
							2023-11-07 15:59:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6d4b684219 
								
							 
						 
						
							
							
								
								Kernel: Make PS/2 keyboard wait until interrupts are enabled  
							
							
							
						 
						
							2023-11-07 15:58:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								670c787af3 
								
							 
						 
						
							
							
								
								BuildSystem: Fix temporary sysroot creation in toolchain compilation  
							
							
							
						 
						
							2023-11-07 14:16:49 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a0fbf18d3b 
								
							 
						 
						
							
							
								
								meminfo: better format for files without permissions  
							
							
							
						 
						
							2023-11-07 02:41:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1acc0abf2e 
								
							 
						 
						
							
							
								
								Kernel: Make unlinking from /proc always fail with EPERM  
							
							
							
						 
						
							2023-11-07 02:40:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c20f773c5d 
								
							 
						 
						
							
							
								
								Kernel: /tmp is now TmpFS instead of RamFS  
							
							
							
						 
						
							2023-11-07 02:36:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a46b2f43d9 
								
							 
						 
						
							
							
								
								Kernel: Make ProcFS use the new TmpFS internally  
							
							
							
						 
						
							2023-11-07 02:35:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a20f8607de 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS Inode unlinking and deletion  
							
							
							
						 
						
							2023-11-06 21:49:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af330f7b8e 
								
							 
						 
						
							
							
								
								Kernel: TmpFS directory inodes now iterate over only valid entries  
							
							
							
						 
						
							2023-11-06 21:41:51 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e33b3bcdff 
								
							 
						 
						
							
							
								
								Kernel: Fix TmpFS directory entry enumeration early return  
							
							
							
						 
						
							2023-11-06 21:06:10 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								181d139c7d 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 directory listing for big directories  
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								639fd8804c 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS directory listing  
							
							
							
						 
						
							2023-11-06 21:05:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cbb2c37e00 
								
							 
						 
						
							
							
								
								Kernel: Implement TmpFS inode chmod  
							
							
							
						 
						
							2023-11-06 20:11:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ab4f033385 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								1ed08f62d3 
								
							 
						 
						
							
							
								
								Kernel: TmpInode blocks are on demand allocated  
							
							
							
						 
						
							2023-11-06 10:44:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8164c15b6c 
								
							 
						 
						
							
							
								
								Kernel: Implement read/write/truncate for TmpFileInode  
							
							
							
						 
						
							2023-11-05 02:28:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f9bf47ab30 
								
							 
						 
						
							
							
								
								Kernel: Start work on proper TmpFS in Heap instead of kmalloc memory  
							
							
							
						 
						
							2023-11-04 18:18:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5ffadb109 
								
							 
						 
						
							
							
								
								Kernel: Add better APIs for fast page  
							
							
							
						 
						
							2023-11-04 18:13:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								061d10e635 
								
							 
						 
						
							
							
								
								BAN: Update bytespan -> span API  
							
							
							
						 
						
							2023-11-04 18:12:46 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6d899aa6ce 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								120f7329b1 
								
							 
						 
						
							
							
								
								BAN: Update ASSERT api  
							
							... 
							
							
							
							its now much harder to mix < with <= and > with >= 
							
						 
						
							2023-11-02 00:01:12 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f25c20c97 
								
							 
						 
						
							
							
								
								Kernel: Canonicalize vaddr before using it  
							
							
							
						 
						
							2023-10-30 19:20:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e396851f4 
								
							 
						 
						
							
							
								
								Kernel: Remove unused externs in kernel.cpp  
							
							
							
						 
						
							2023-10-30 19:09:31 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a44482639d 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								3bac19e518 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								4dbe15aa0e 
								
							 
						 
						
							
							
								
								Kernel: Remove GeneralAllocator since it was not used  
							
							
							
						 
						
							2023-10-30 18:13:17 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c5985148c 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							
								ce2461d0e8 
								
							 
						 
						
							
							
								
								Kernel: panic takes arguments as rvalue references  
							
							
							
						 
						
							2023-10-30 16:22:02 +02:00