Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c0a89e8951 
								
							 
						 
						
							
							
								
								Kernel: Fully remove sys_alloc and sys_free  
							
							 
							
							... 
							
							
							
							I could delete the whole FixedWidthAllocator as it was now obsolete.
GeneralAllocator is still used by kmalloc. Kmalloc cannot actually
use it since, GeneralAllocator depends on SpinLock and kmalloc runs
without interrupts. 
							
						 
						
							2023-09-23 03:53:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fc953df281 
								
							 
						 
						
							
							
								
								Kernel/LibC: remove PATH resoltion from kernel  
							
							 
							
							... 
							
							
							
							I have no idea why I had made PATH environment variable parsing
to be part of the kernel. Now the shell does the parsing and
environment syscall is no longer needed. 
							
						 
						
							2023-09-23 03:08:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fe2dca16f0 
								
							 
						 
						
							
							
								
								Kernel/LibC: add flag to enable/disable sse support  
							
							 
							
							... 
							
							
							
							SSE support is very experimental and causes GP. I decided to make
SSE not default until I get to fixing it :) 
							
						 
						
							2023-09-23 02:28:25 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f662aa6da2 
								
							 
						 
						
							
							
								
								Kernel/LibC: userspace malloc now uses mmap to get memory  
							
							 
							
							... 
							
							
							
							We could remove syscalls to allocate more memory. This was not
something the kernel should have done. 
							
						 
						
							2023-09-23 02:26:23 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								fee3677fb9 
								
							 
						 
						
							
							
								
								Kernel/LibC: add mmap for private anonymous mappings  
							
							 
							
							... 
							
							
							
							This will be used by the userspace to get more memory. Currently
kernel handles all allocations, which is not preferable. 
							
						 
						
							2023-09-22 23:01:14 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4818c6e3dd 
								
							 
						 
						
							
							
								
								BuildSystem: Add cmake target for debugging qemu  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								971eb737c1 
								
							 
						 
						
							
							
								
								BAN: Fix LinkedList::pop_back()  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9a3286ad57 
								
							 
						 
						
							
							
								
								Kernel: Add constexpr conditional debug prints  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c9e09b840e 
								
							 
						 
						
							
							
								
								Kernel: Add LAI as a dependency  
							
							 
							
							... 
							
							
							
							I did not feel like implementing AML interpreter now, and wanted
everything AML has to offer. I will be writing my own AML interperter
at some point. 
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								8136248a67 
								
							 
						 
						
							
							
								
								Kernel: Fix timer includes  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0d67e46041 
								
							 
						 
						
							
							
								
								Kernel: Add config read/write api to PCI  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								bc1087f5a7 
								
							 
						 
						
							
							
								
								Kernel: Add pointer validation API to page table  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								3a9c6fc51a 
								
							 
						 
						
							
							
								
								General: remove linecount.sh  
							
							 
							
							
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7774f56ab6 
								
							 
						 
						
							
							
								
								Kernel: PCI devices can now create region for BAR  
							
							 
							
							... 
							
							
							
							This creates either MEM or IO region for read/write access to PCI
device. 
							
						 
						
							2023-09-22 17:20:35 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								14a608effd 
								
							 
						 
						
							
							
								
								1000th COMMIT: Kernel: Add basic E1000 driver  
							
							 
							
							... 
							
							
							
							This driver is only capable to read mac address and enable and read
link status 
							
						 
						
							2023-09-22 17:20:28 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5fae3cec2a 
								
							 
						 
						
							
							
								
								Kernel: Implement SYS_SYNC and add sync executable to userspace  
							
							 
							
							... 
							
							
							
							You can (and have to) manually sync disk after writes to it. 
							
						 
						
							2023-09-11 01:26:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								b0c22b61ec 
								
							 
						 
						
							
							
								
								Kernel: Writes to disk are not synchronous anymore  
							
							 
							
							... 
							
							
							
							Implement "proper" DiskCache syncing 
							
						 
						
							2023-09-11 01:25:16 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								82b049204d 
								
							 
						 
						
							
							
								
								Kernel: Print stack trace on isr  
							
							 
							
							
							
						 
						
							2023-09-11 01:20:55 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								aa59142bfa 
								
							 
						 
						
							
							
								
								Kernel: Fix ext2 file write  
							
							 
							
							
							
						 
						
							2023-09-11 01:20:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c55bb77ff5 
								
							 
						 
						
							
							
								
								BuildSystem: remove install-usb.sh since it is not used  
							
							 
							
							... 
							
							
							
							This was dangerous script since it rewrote /dev/sda 
							
						 
						
							2023-09-10 01:20:44 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9b4e2e1e21 
								
							 
						 
						
							
							
								
								Kernel: Add basic dd command  
							
							 
							
							... 
							
							
							
							This only supports if, of, bs, count and status=progress 
							
						 
						
							2023-09-10 01:19:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								202c38a65a 
								
							 
						 
						
							
							
								
								Kernel: Improve open() POSIX compatability  
							
							 
							
							... 
							
							
							
							Also rename Process::sys_creat -> create_file since it is not
actually a syscall and only used by open as a healper. 
							
						 
						
							2023-09-10 00:31:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								720bc418a6 
								
							 
						 
						
							
							
								
								All: Clear lines with only whitspace in them  
							
							 
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d77f455065 
								
							 
						 
						
							
							
								
								Kernel: Add basic ZeroDevice to /dev/zero  
							
							 
							
							
							
						 
						
							2023-09-10 00:31:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7e08f0fb66 
								
							 
						 
						
							
							
								
								Kernel: Start work on making inodes more thread safe  
							
							 
							
							... 
							
							
							
							All inode operations are now locked and thread blocked 
							
						 
						
							2023-09-10 00:31:42 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9e4a87021c 
								
							 
						 
						
							
							
								
								Kernel: Fix directory permissions  
							
							 
							
							... 
							
							
							
							We did not care about X bit in directories and instead used only the
R bit for search/read. 
							
						 
						
							2023-09-08 11:46:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5887f6bcaa 
								
							 
						 
						
							
							
								
								Kernel: Ext2 directories can allocate new blocks if needed  
							
							 
							
							
							
						 
						
							2023-09-08 10:29:26 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5d67559e33 
								
							 
						 
						
							
							
								
								Kernel: Fix bug in disk writing  
							
							 
							
							... 
							
							
							
							I have used two weeks in locating a bug in my ext2 implementation
while the bug was actually in disk write. If you called write_sectors
on disk it would write the first sector_size bytes repeatedly to all
asked sectors and this corrupted the disk... 
							
						 
						
							2023-09-08 02:43:08 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								e631eb7a7a 
								
							 
						 
						
							
							
								
								Kernel: Fix possible out-of-bounds disk access in ext2  
							
							 
							
							
							
						 
						
							2023-09-08 02:42:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								64ff4c232a 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup disk image creation  
							
							 
							
							
							
						 
						
							2023-09-08 02:41:39 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0ec4f970f7 
								
							 
						 
						
							
							
								
								LibC: fix fread implementation  
							
							 
							
							... 
							
							
							
							fread() should read until either size*nitems bytes are read or eof
is reached. 
							
						 
						
							2023-09-07 16:00:47 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								afe95be42f 
								
							 
						 
						
							
							
								
								Shell: Clean exit on ^D and use getchar()  
							
							 
							
							... 
							
							
							
							Use getchar() instead of fread(&ch, 1, sizeof(char), stdin). This
is much cleaner. 
							
						 
						
							2023-09-07 15:51:05 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								14ac1c9904 
								
							 
						 
						
							
							
								
								Init: use read instead of fread()  
							
							 
							
							... 
							
							
							
							This allows actually correct behaviour. My fread implementation is
flawed. It should not return on '\n' 
							
						 
						
							2023-09-07 15:47:59 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								7c11ea3694 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TTY::read()  
							
							 
							
							
							
						 
						
							2023-09-07 15:27:21 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								c1fd341698 
								
							 
						 
						
							
							
								
								Kernel: TTY now reads input byte by byte  
							
							 
							
							... 
							
							
							
							This allows correct behaviour for character streams / keyboard
handling. Serial input can now send working ^C :D 
							
						 
						
							2023-09-07 15:06:27 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								0deab1be51 
								
							 
						 
						
							
							
								
								Kernel: Remove bitmap debug printing from ext2 inode allocation  
							
							 
							
							
							
						 
						
							2023-09-06 01:25:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								5a623adaa6 
								
							 
						 
						
							
							
								
								Kernel: Correct inode links count  
							
							 
							
							
							
						 
						
							2023-09-05 14:46:56 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4363118d9d 
								
							 
						 
						
							
							
								
								Snake render grid lines without extra space after last '#'  
							
							 
							
							
							
						 
						
							2023-09-05 14:35:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d613da4b6c 
								
							 
						 
						
							
							
								
								BuildSystem: Don't set permissions on image creation  
							
							 
							
							... 
							
							
							
							This is already handled by *new* tar ball sysroot 
							
						 
						
							2023-09-05 14:35:53 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								f46f5b2050 
								
							 
						 
						
							
							
								
								Snake: Reorder apple generation/snake body update  
							
							 
							
							... 
							
							
							
							If new apple was generated to heads previous position after update,
it would not render. 
							
						 
						
							2023-09-05 14:30:30 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								d9c4114b5f 
								
							 
						 
						
							
							
								
								Base: Add grub entries for serial-only boot  
							
							 
							
							... 
							
							
							
							We can now fully boot with serial input and output :)
Qemu can be run with -nographic flag 
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								ddd36af0f1 
								
							 
						 
						
							
							
								
								Kernel: Add /dev/tty symlink that targets the current tty  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								35fd30ee29 
								
							 
						 
						
							
							
								
								Kernel: Implement basic RamSymlinkInode  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								4a0652684c 
								
							 
						 
						
							
							
								
								Kernel: You can now read serial output from the /dev/ttyS*  
							
							 
							
							
							
						 
						
							2023-09-05 01:07:52 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								33c81f00b7 
								
							 
						 
						
							
							
								
								Kernel: Receive interrupts for COM1 and COM2 input  
							
							 
							
							... 
							
							
							
							The input has to still be attached to terminal 
							
						 
						
							2023-09-04 22:07:40 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								55714b90cd 
								
							 
						 
						
							
							
								
								Kernel: Rework whole Terminal structure  
							
							 
							
							... 
							
							
							
							Serial monitors can now be used as a output. This requires editing
init code for the stdio opening. Serial input is not supported, so qemu
still needs graphical window for ps/2 keyboard. 
							
						 
						
							2023-09-04 19:34:18 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								9b47603a1d 
								
							 
						 
						
							
							
								
								Kernel: Make serial devices to their own class  
							
							 
							
							
							
						 
						
							2023-09-04 14:57:05 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								2e2a913412 
								
							 
						 
						
							
							
								
								Userspace: Implement basic snake game :)  
							
							 
							
							
							
						 
						
							2023-09-04 14:30:45 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								42b85dc33b 
								
							 
						 
						
							
							
								
								Kernel: Add ANSI support for hiding/showing cursor to TTY  
							
							 
							
							
							
						 
						
							2023-09-04 14:30:09 +03:00  
						
					 
				
					
						
							
							
								 
								Bananymous
							
						 
						
							 
							
							
							
							
								
							
							
								a15ffcb071 
								
							 
						 
						
							
							
								
								LibC: add time() implementation  
							
							 
							
							
							
						 
						
							2023-09-04 13:52:58 +03:00