Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								a3aca67eef
								
							
						 | 
						
							
							
								
								Kernel: fork() now clones current thread
							
							
							
							
							
							
							
							This is how posix specifies thread cloning during fork 
							
						 | 
						
							2023-06-04 17:40:37 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								977652ad57
								
							
						 | 
						
							
							
								
								Kernel: Process FixedWidthAllocators come now in 4 sizes
							
							
							
							
							
						 | 
						
							2023-06-04 01:26:43 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5bf7ca1c80
								
							
						 | 
						
							
							
								
								Kernel: Allocators are now stored in UniqPtr
							
							
							
							
							
							
							
							This allows proper memory management, we had some memory leak 
							
						 | 
						
							2023-06-04 01:25:57 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								1b1f22c35e
								
							
						 | 
						
							
							
								
								Kernel: make load_elf() its own function
							
							
							
							
							
						 | 
						
							2023-06-04 01:24:11 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								479817231a
								
							
						 | 
						
							
							
								
								Kernel: PhysicalRange maps its nodes to kernel vaddr space
							
							
							
							
							
							
							
							This keeps the lower half of address space cleaner 
							
						 | 
						
							2023-06-04 01:20:47 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e3c5477df4
								
							
						 | 
						
							
							
								
								Kernel: reorder process exit steps
							
							
							
							
							
						 | 
						
							2023-06-04 01:19:04 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b403155ca9
								
							
						 | 
						
							
							
								
								Kernel: You can specify first vaddr for getting free pages
							
							
							
							
							
						 | 
						
							2023-06-04 01:15:48 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9fd3111011
								
							
						 | 
						
							
							
								
								BAN: Add UniqPtr
							
							
							
							
							
						 | 
						
							2023-06-04 00:39:20 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5f339d585c
								
							
						 | 
						
							
							
								
								Kernel: PAGE_FLAG_MASK is now only 0xF
							
							
							
							
							
							
							
							We don't care currenly about anything but the last few bits 
							
						 | 
						
							2023-06-03 20:08:13 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b168462b43
								
							
						 | 
						
							
							
								
								Kernel: PageTable now has debug_dump
							
							
							
							
							
							
							
							This dumps all the mapped pages and their flags 
							
						 | 
						
							2023-06-03 20:08:13 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								68691faca1
								
							
						 | 
						
							
							
								
								Kernel: boot.S is back to 2 MiB pages
							
							
							
							
							
							
							
							bochs doesn't seem to support 1 GiB pages 
							
						 | 
						
							2023-06-03 18:53:36 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								1e075c248f
								
							
						 | 
						
							
							
								
								BAN: Errors now includes assert.h
							
							
							
							
							
						 | 
						
							2023-06-03 18:53:05 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								d201e65810
								
							
						 | 
						
							
							
								
								BuildSystem: remove sse and sse2 from userspace
							
							
							
							
							
						 | 
						
							2023-06-03 16:05:32 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								3a79880e69
								
							
						 | 
						
							
							
								
								LibC: printf string persision works now
							
							
							
							
							
						 | 
						
							2023-06-03 15:07:02 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9228df0f23
								
							
						 | 
						
							
							
								
								Kernel: Inode/Device detection is done with overridden bool functions
							
							
							
							
							
						 | 
						
							2023-06-03 13:28:15 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								402ad85583
								
							
						 | 
						
							
							
								
								Kernel: Heap will return 0 if no free page is available
							
							
							
							
							
						 | 
						
							2023-06-03 02:55:31 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								53e91ba98a
								
							
						 | 
						
							
							
								
								Kernel: DiskCache will try to shrink_to_fit after cache cleanup
							
							
							
							
							
						 | 
						
							2023-06-03 02:55:22 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								fd153f3762
								
							
						 | 
						
							
							
								
								Kernel: DiskCache won't crash when running out of kmalloc memory
							
							
							
							
							
						 | 
						
							2023-06-03 02:36:20 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								813d0f1b5f
								
							
						 | 
						
							
							
								
								Kernel: add basic disk cache
							
							
							
							
							
							
							
							ATADevices now add disk cache to themselves 
							
						 | 
						
							2023-06-03 02:23:14 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								2b901abfb1
								
							
						 | 
						
							
							
								
								Kernel: Shell 'memory' now prints heap memory usage
							
							
							
							
							
						 | 
						
							2023-06-03 02:22:18 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								d4289f9e74
								
							
						 | 
						
							
							
								
								Update README.md
							
							
							
							
							
						 | 
						
							2023-06-02 18:43:30 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								3a5d6914ba
								
							
						 | 
						
							
							
								
								Userspace: create_program creates proper cmake files again
							
							
							
							
							
						 | 
						
							2023-06-02 18:42:25 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e96efea2fb
								
							
						 | 
						
							
							
								
								BuildSystem: all scripts have now bash shebang
							
							
							
							
							
							
							
							I could not use the scripts on debian 
							
						 | 
						
							2023-06-02 18:41:45 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								2df7f8a1e5
								
							
						 | 
						
							
							
								
								BuildSystem: add rule to build libstdc++
							
							
							
							
							
							
							
							We can now build libstdc++ and actually link with g++ 
							
						 | 
						
							2023-06-02 18:39:42 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								8645c4c653
								
							
						 | 
						
							
							
								
								Kernel: Shell ls and stat now properly show symlinks
							
							
							
							
							
						 | 
						
							2023-06-02 18:22:56 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								88e92eec9e
								
							
						 | 
						
							
							
								
								LibC: Add simple definition for realloc
							
							
							
							
							
							
							
							The syscall just crashes the kernel currently. I will implement
this when needed 
							
						 | 
						
							2023-06-02 17:56:13 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								a41b8e416f
								
							
						 | 
						
							
							
								
								LibC: add __cxa_at_exit() for libc
							
							
							
							
							
						 | 
						
							2023-06-02 17:50:55 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								8716c8baf4
								
							
						 | 
						
							
							
								
								LibC: remove select() declaration
							
							
							
							
							
							
							
							This already comes from sys/select.h 
							
						 | 
						
							2023-06-02 17:29:09 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								2d67a7153b
								
							
						 | 
						
							
							
								
								LibC: rename [[noreturn]] to __attribute__((__noreturn__))
							
							
							
							
							
							
							
							This compiles with C compiler 
							
						 | 
						
							2023-06-02 17:28:36 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								3fcc7c6768
								
							
						 | 
						
							
							
								
								LibC: stdlib.h doesn't seem to typedef wchar_t without __need_wchar_t
							
							
							
							
							
						 | 
						
							2023-06-02 17:27:31 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5d2a062b36
								
							
						 | 
						
							
							
								
								LibC: fix INFINITY definition typo
							
							
							
							
							
						 | 
						
							2023-06-02 17:27:14 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								e517ff6b6d
								
							
						 | 
						
							
							
								
								LibC: fix DIR typedef for C code
							
							
							
							
							
						 | 
						
							2023-06-02 17:26:38 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7296846a81
								
							
						 | 
						
							
							
								
								LibC: complex.h undefs I before defining it
							
							
							
							
							
						 | 
						
							2023-06-02 17:13:09 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								6abcb0de9b
								
							
						 | 
						
							
							
								
								LibC: mbstate_t is empty struct
							
							
							
							
							
						 | 
						
							2023-06-02 17:10:29 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								40f9d9d9bc
								
							
						 | 
						
							
							
								
								LibC: fix sig_atomic_t definition
							
							
							
							
							
						 | 
						
							2023-06-02 17:08:43 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7aea8c45f7
								
							
						 | 
						
							
							
								
								Kernel: VFS now has max link depth of 100
							
							
							
							
							
						 | 
						
							2023-06-02 12:50:40 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								7bbdee6cc4
								
							
						 | 
						
							
							
								
								Kernel: Symlinks are now working
							
							
							
							
							
							
							
							We still have to implement loop or depth detection 
							
						 | 
						
							2023-06-02 11:43:46 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								efb3271588
								
							
						 | 
						
							
							
								
								BAN: Fix function call in Vector
							
							
							
							
							
						 | 
						
							2023-06-01 00:50:04 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								ff548bd898
								
							
						 | 
						
							
							
								
								Kernel: Shell can now list symlinks
							
							
							
							
							
						 | 
						
							2023-06-01 00:25:53 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								835d32814d
								
							
						 | 
						
							
							
								
								Kernel: add basic support for symlinks
							
							
							
							
							
						 | 
						
							2023-06-01 00:24:45 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								79d1f665f2
								
							
						 | 
						
							
							
								
								Kernel: Shell opens standard files
							
							
							
							
							
						 | 
						
							2023-05-31 23:14:15 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								9c818d3da0
								
							
						 | 
						
							
							
								
								BuildSystem: cmake creates /usr/bin
							
							
							
							
							
						 | 
						
							2023-05-31 23:13:53 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								a378e59432
								
							
						 | 
						
							
							
								
								BuildSystem: link libraries when they change
							
							
							
							
							
							
							
							This also fixed the need for manual linkin on firt build 
							
						 | 
						
							2023-05-31 23:01:40 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								a75a3f7a5f
								
							
						 | 
						
							
							
								
								Userspace: make test program link against libc on change
							
							
							
							
							
						 | 
						
							2023-05-31 22:36:47 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								0f412e570c
								
							
						 | 
						
							
							
								
								LibC: add execl
							
							
							
							
							
						 | 
						
							2023-05-31 22:36:26 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								1daa1f5611
								
							
						 | 
						
							
							
								
								Kernel: Cleanup exec code
							
							
							
							
							
						 | 
						
							2023-05-31 22:36:05 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								24a190d1f7
								
							
						 | 
						
							
							
								
								Kernel: Add SYS_EXEC syscall
							
							
							
							
							
						 | 
						
							2023-05-31 20:57:33 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								b48b239882
								
							
						 | 
						
							
							
								
								Kernel: Implement Process::exec()
							
							
							
							
							
						 | 
						
							2023-05-31 20:56:29 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								5fb69300ca
								
							
						 | 
						
							
							
								
								Kernel: Move userspace entry functions to Process instead of Thread
							
							
							
							
							
						 | 
						
							2023-05-31 19:31:10 +03:00 | 
						
					
				
					
						
							
							
								 
								Bananymous
							
						 | 
						
							
							
							
							
							
								
							
							
								dcb23f686f
								
							
						 | 
						
							
							
								
								Kernel: boot.S maps GiB as single pdpte
							
							
							
							
							
						 | 
						
							2023-05-31 00:51:15 +03:00 |