Bananymous 
							
						 
						
							
								d58ca5f37a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement symlink{,at}  
							
							
							
						 
						
							2024-12-02 20:13:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a10ca47657 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement {,f}statvfs  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad1f175a39 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement getppid  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6ed1435aeb 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement tcgetpgrp  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6346e288ad 
								
							 
						 
						
							
							
								
								LibC: Implement getrlimit  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								747c3b2a4b 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement fsync  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c02de2580d 
								
							 
						 
						
							
							
								
								Kernel: Add support for SIOCGIFNAME ioctl  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4149748766 
								
							 
						 
						
							
							
								
								Kernel: Add missing include in ACPI headers  
							
							
							
						 
						
							2024-12-01 21:32:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8dbbbc1a1a 
								
							 
						 
						
							
							
								
								Kernel: Add command line option `readonly`  
							
							... 
							
							
							
							This prevents calls to write_sectors_impl and all dirty pages are always
kept in RAM. 
							
						 
						
							2024-11-27 13:31:55 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a6fc3cf7a6 
								
							 
						 
						
							
							
								
								Kernel: Clear AHCI pending interrupts  
							
							... 
							
							
							
							I have no idea why I did not have this in. All devices were just
constatly spamming interrupts like crazy :D 
							
						 
						
							2024-11-26 01:39:11 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1941885cfd 
								
							 
						 
						
							
							
								
								Kernel: Disable USB Mass Storage writing until I get it fixed  
							
							... 
							
							
							
							This prevented real hw from running for over 10-20 seconds. When first
disk sync happens after 10 secods, USB storage would enter faulty state
and not allow any io operations.
I have no idea what the problem is. If I don't send Reset command to the
USB device writing seems to work fine. I also don't think its part of
the Reset process either as reading works just fine. 
							
						 
						
							2024-11-26 01:01:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								88a86a9927 
								
							 
						 
						
							
							
								
								Kernel: Fix Thread destruction after sys_exit  
							
							... 
							
							
							
							This had undefined behaviour as Thread's (Processes's) PageTable was
destroyed before Thread had the change to destroy its own stacks that
lived on the PageTable. 
							
						 
						
							2024-11-26 00:59:34 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								48e030bca3 
								
							 
						 
						
							
							
								
								Kernel: Make PageTable non-copyable and non-movable  
							
							... 
							
							
							
							Also PageTable destructor now verifies that is has allocated something
instead of assuming paddr of 0. 
							
						 
						
							2024-11-26 00:58:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								793c0368f2 
								
							 
						 
						
							
							
								
								Kernel: Refactor USB mass storage code  
							
							... 
							
							
							
							Also increment command timeout to 10 seconds so commands don't timeout
when they are not supposted to :) 
							
						 
						
							2024-11-23 01:24:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								076001462e 
								
							 
						 
						
							
							
								
								Kernel: Implement AML ConcatOp  
							
							
							
						 
						
							2024-11-22 22:23:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d2e1d8ec13 
								
							 
						 
						
							
							
								
								Kernel: Implement AML NotOp  
							
							
							
						 
						
							2024-11-22 22:22:44 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								30ceaa6bef 
								
							 
						 
						
							
							
								
								Kernel: Implement AML ToHexStringOp  
							
							
							
						 
						
							2024-11-22 22:22:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0247d47a3d 
								
							 
						 
						
							
							
								
								Kernel: Make USBMassStorage send_scsi_command templated  
							
							... 
							
							
							
							This allows passing ConstByteSpan when data will not be modified 
							
						 
						
							2024-11-22 22:21:19 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								480368c878 
								
							 
						 
						
							
							
								
								Kernel: Cleanup and fix xHCI interrupt handling  
							
							... 
							
							
							
							Always clear EventHandlerBusy bit and remove unnecessary nesting 
							
						 
						
							2024-11-22 22:19:53 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c1d8790623 
								
							 
						 
						
							
							
								
								Kernel: Don't allow sending commands to halted xHCI  
							
							
							
						 
						
							2024-11-22 22:19:29 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fb1ffec5bb 
								
							 
						 
						
							
							
								
								Kernel: Remove unused mutex from xHCI  
							
							... 
							
							
							
							This was preventing multiple xHCI controllers to do parallel device
initialization 
							
						 
						
							2024-11-22 22:18:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1bdabe693f 
								
							 
						 
						
							
							
								
								Kernel: Preserve RsvdP bits in xHCI controller initialization  
							
							
							
						 
						
							2024-11-22 22:18:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ce09f35275 
								
							 
						 
						
							
							
								
								Kernel: Fix PCI 64 bit MSI msg_data offset  
							
							
							
						 
						
							2024-11-22 22:17:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								40c13043b3 
								
							 
						 
						
							
							
								
								Kernel: Add support for scratchpad buffers in xHCI  
							
							
							
						 
						
							2024-11-22 22:16:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e620068416 
								
							 
						 
						
							
							
								
								Kernel: Allow USB devices to handle STALL conditions  
							
							
							
						 
						
							2024-11-22 22:15:22 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8e624ca85a 
								
							 
						 
						
							
							
								
								Kernel: Don't panic if uninitialized AHCI device gets an interrupt  
							
							
							
						 
						
							2024-11-21 20:41:13 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c7afd46016 
								
							 
						 
						
							
							
								
								Kernel: Don't log spurious interrupts  
							
							... 
							
							
							
							Some PCs seem to be spamming a lot of int 7 
							
						 
						
							2024-11-21 20:40:29 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3573656244 
								
							 
						 
						
							
							
								
								Kernel: Make PARTUUID matching case insensitive  
							
							... 
							
							
							
							Case sensitivity made it super annoying to work with :) 
							
						 
						
							2024-11-21 20:39:27 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1de6de975a 
								
							 
						 
						
							
							
								
								Kernel: Rename cmdline UUID= to PARTUUID=  
							
							... 
							
							
							
							This makes more sense and behaves more like existing software. 
							
						 
						
							2024-11-21 20:38:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								865061b492 
								
							 
						 
						
							
							
								
								Kernel: Temporary fix to make tmpfs more stable  
							
							... 
							
							
							
							whole TmpFS will have to be rewritten at some point :) 
							
						 
						
							2024-11-21 18:13:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								70880636f4 
								
							 
						 
						
							
							
								
								Kernel: Implement basic USB Mass Storage support  
							
							... 
							
							
							
							I finally decided to do this :D 
							
						 
						
							2024-11-21 18:08:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8054f6c618 
								
							 
						 
						
							
							
								
								Kernel: Wait 10 seconds to find root device  
							
							... 
							
							
							
							If root device is initialized asynchronously it may not be ready when
main initialization thread is finished. This patch adds searching for
root device every 500 ms for 10 seconds. 
							
						 
						
							2024-11-21 17:56:58 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								658ea68d04 
								
							 
						 
						
							
							
								
								Kernel: Check max packet size for all USB devices  
							
							... 
							
							
							
							Spec says that this has to be done. Most cases can be probably skipped
as I used to do, but this is less error prone and adds practically no
overhead 
							
						 
						
							2024-11-21 13:46:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5750f87396 
								
							 
						 
						
							
							
								
								Kernel: Fix unaligned access in xHCI controller initialization  
							
							
							
						 
						
							2024-11-21 13:46:09 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1253e2a458 
								
							 
						 
						
							
							
								
								Kernel: Add support for bulk endpoints and update endpoint API  
							
							... 
							
							
							
							USB device now sets its own data buffers for IN/OUT endpoints. This
allows more customization and parallelism as data buffer does not have
to be shared. 
							
						 
						
							2024-11-21 13:44:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								857b3e92f8 
								
							 
						 
						
							
							
								
								Kernel: Support initializing USB 3 devices  
							
							
							
						 
						
							2024-11-21 13:40:16 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8bf14d542e 
								
							 
						 
						
							
							
								
								Kernel: Move SCSI device rdev allocation out of ATA code  
							
							
							
						 
						
							2024-11-21 13:36:59 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								97718b4046 
								
							 
						 
						
							
							
								
								Kernel: Don't launch init process twice  
							
							... 
							
							
							
							I had accidentrally left the old init process launch in when replacing
it with the new one. 
							
						 
						
							2024-11-19 20:43:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c07fd265f0 
								
							 
						 
						
							
							
								
								Kernel: Add support for ATA CHS addressing and cleanup code  
							
							... 
							
							
							
							I thought that I had an PC without LBA support so I implement support
for CHS. Turns out that my ATA device detection was broken and was no
device on that port and initialize data was just garbage.
Now that I added CHS, I guess I should just keep it in :)
Both ATA read and write are now combined into a single function to avoid
code duplication. 
							
						 
						
							2024-11-19 20:39:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1de50a2a94 
								
							 
						 
						
							
							
								
								Kernel: Improve ATA device initialization  
							
							... 
							
							
							
							This does better detection of empty ports and fixes floating bus
read-value from 0x00 to 0xFF. 
							
						 
						
							2024-11-19 00:25:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								627ca432cc 
								
							 
						 
						
							
							
								
								Kernel: Make PS/2 controller not hang if device keeps sending resend  
							
							
							
						 
						
							2024-11-19 00:18:48 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								71563034a7 
								
							 
						 
						
							
							
								
								Kernel: Remove accidentally left debug prints  
							
							
							
						 
						
							2024-11-18 03:45:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aaff5a65e1 
								
							 
						 
						
							
							
								
								Kernel/init: /dev/tty is now custom symlink to controlling terminal  
							
							... 
							
							
							
							kernel now passes the name of default console to init process so init
knows which file to open as stdio. before /dev/tty was referencing the
system wide current terminal which was inherited from cmdline. This
doesn't work anymore as we have pseudo terminals implemented that can
chage the current terminal during runtime :D 
							
						 
						
							2024-11-17 22:38:52 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								458a362f98 
								
							 
						 
						
							
							
								
								Kernel: Allow kernel to pass arguments to init process  
							
							
							
						 
						
							2024-11-17 22:38:02 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f206e72447 
								
							 
						 
						
							
							
								
								Kernel: Don't require msync addresses to be page aligned  
							
							... 
							
							
							
							Inodes implementing msync can require page aligned addresses, but are
also allowed to not :) This reduces sizes of framebuffer msyncs! 
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								58e45fb394 
								
							 
						 
						
							
							
								
								Kernel: Print process name on exceptions if it is available  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5e8fdc997a 
								
							 
						 
						
							
							
								
								Kernel: Prevent userspace from overwriting CPU load memory  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0228cd4f31 
								
							 
						 
						
							
							
								
								Kernel: Increase userspace stack size and decrease kernel stack  
							
							... 
							
							
							
							Quake II needs a lot of stack, it was overflowing my 256 KiB stack so
this patch doubles that, so Quake II can run!
Also every thread had 256 KiB kernel stack. This is unnecessarily large
and now dropped to 32 KiB. 
							
						 
						
							2024-11-14 21:03:04 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								64c52012df 
								
							 
						 
						
							
							
								
								Kernel: Fix MemoryRegion overlap comparison  
							
							... 
							
							
							
							This made some calls to `munmap` unmap extra regions. 
							
						 
						
							2024-11-13 17:26:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1838ea5c30 
								
							 
						 
						
							
							
								
								Kernel: Fix pseudo terminal leaks  
							
							
							
						 
						
							2024-11-04 15:35:07 +02:00