Bananymous 
							
						 
						
							
								439fb57d88 
								
							 
						 
						
							
							
								
								Kernel: Fix ANSI CSI @ and b for VirtualTTY  
							
							
							
						 
						
							2025-04-17 23:24:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ac90800c3c 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Implement thread local storage  
							
							... 
							
							
							
							For some reason this does not work on 32 bit version, so it is disabled
on that platform. I'll have to look into it later to find the bug :) 
							
						 
						
							2025-04-15 23:33:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								08f5833ca8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_attr_init  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4bcd3ed86f 
								
							 
						 
						
							
							
								
								Kernel: Start working on TLS, add SYS_{SET,GET}_TLS  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a933fabb86 
								
							 
						 
						
							
							
								
								Kernel: Define constant USERSPACE_END  
							
							... 
							
							
							
							This should be used for userspace generic allocations. Currently I used
KERNEL_OFFSET, but I want to limit userspace to the actual lower half of
the address space 
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36baf7b0af 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Update process start ABI  
							
							... 
							
							
							
							We now use SysV abi for process startup 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4b1c20fa36 
								
							 
						 
						
							
							
								
								Kernel: Make SYS_{,P}READ work with count == 0  
							
							
							
						 
						
							2025-04-15 21:36:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								00015285ab 
								
							 
						 
						
							
							
								
								Kernel: Add vaddr->paddr getter to VirtualRange  
							
							
							
						 
						
							2025-04-15 21:25:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0f936fc163 
								
							 
						 
						
							
							
								
								Kernel: Cleanup 32 bit interrupt stack alignment  
							
							
							
						 
						
							2025-04-15 21:21:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								15045cc486 
								
							 
						 
						
							
							
								
								Kernel: Make nonblocking sockets unblocking :)  
							
							
							
						 
						
							2025-04-05 18:42:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c9132d984b 
								
							 
						 
						
							
							
								
								Kernel: Fix TCP window scaling  
							
							
							
						 
						
							2025-04-05 18:40:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a0123e7c2d 
								
							 
						 
						
							
							
								
								Kernel: save and load sse context in more spaces  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								be786be67d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_join  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9066e62a97 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement sched_yield  
							
							
							
						 
						
							2025-04-02 12:58:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5549696c3a 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement pthread_self  
							
							
							
						 
						
							2025-04-02 02:39:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9fb161c320 
								
							 
						 
						
							
							
								
								Kernel: Move thread stacks 1 MiB back  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c1618e2b5d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Add basic support for pthread_{create,exit}  
							
							
							
						 
						
							2025-04-01 23:26:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36026d4ec6 
								
							 
						 
						
							
							
								
								Kernel: Cleanup TCP and add basic window scaling support  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								96767f5ca8 
								
							 
						 
						
							
							
								
								Kernel: Implement PCI interrupt routing  
							
							... 
							
							
							
							This does not really work but I have no idea what I'm doing wrong 
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								76bad31dd5 
								
							 
						 
						
							
							
								
								Kernel: Reorder locking with VirtualRange  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								2e3b917192 
								
							 
						 
						
							
							
								
								Kernel: Cleanup PS2 mouse button event generation  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								95f262b3e6 
								
							 
						 
						
							
							
								
								Kernel: Print process pid through /dev/debug  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aebacb6b6a 
								
							 
						 
						
							
							
								
								Kernel: Bypass PS2 detection if scancode set is forced  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								27613da5ea 
								
							 
						 
						
							
							
								
								Kernel: Route PCI Interrupt Link Device interrupts  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28ac6c2267 
								
							 
						 
						
							
							
								
								Kernel: Implement AML FindSet{Left,Right}Bit  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c1fc65c7c 
								
							 
						 
						
							
							
								
								Kernel: Add API to reserve GSI instead of irq  
							
							... 
							
							
							
							This also fixes a bug with IOAPIC gsi_base != 0 
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ba74b352bd 
								
							 
						 
						
							
							
								
								Kernel: Make BufferField actually access the buffer and not copy  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0474ac4262 
								
							 
						 
						
							
							
								
								Kernel: Expose ACPI resolve_package_element to outside  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aba49cc93f 
								
							 
						 
						
							
							
								
								Kernel: Add API to get ACPI reference paths  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b3b5b40163 
								
							 
						 
						
							
							
								
								Kernel: Add _OS an _REV to ACPI namespace  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0e085b30cc 
								
							 
						 
						
							
							
								
								Kernel: ACPI add easier API for calling methods with arguments  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								35149b6960 
								
							 
						 
						
							
							
								
								Kernel: Add helper functions to create AML String and Buffer  
							
							
							
						 
						
							2025-04-01 23:09:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3800d5420e 
								
							 
						 
						
							
							
								
								Kernel: Collect created AML nodes in add_{named,alias}...  
							
							... 
							
							
							
							This makes it harder to miss adding scoped objects. Before I was not
deleting all types of nodes on method return 
							
						 
						
							2025-04-01 23:09:25 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b145c1ab64 
								
							 
						 
						
							
							
								
								Kernel: Add easier api for evaluating ACPI nodes  
							
							
							
						 
						
							2025-04-01 23:09:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								b8a3439219 
								
							 
						 
						
							
							
								
								Kernel: Add getter for ACPI namespace  
							
							
							
						 
						
							2025-04-01 23:09:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								83c66901f8 
								
							 
						 
						
							
							
								
								Kernel: Fix reboot when ACPI is disabled  
							
							... 
							
							
							
							If ACPI was disabled ACPI::reset() would page fault when accessing
namespace instead of checking wheter namespace is initialized :D 
							
						 
						
							2025-02-11 21:53:20 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								088f77a226 
								
							 
						 
						
							
							
								
								Kernel: Add super basic support for USB keyboard LEDs  
							
							... 
							
							
							
							This is very hacky but it seems to mostly work. Also for some reason
this fixed my Razer Mamba mouse???? 
							
						 
						
							2025-02-11 02:18:50 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4dd6c85df2 
								
							 
						 
						
							
							
								
								Kernel: Fix USB keyboard Scroll lock  
							
							... 
							
							
							
							I was using 8 bit modifier and ScrollLock bit does not fit this. Also I
was not generating ScrollLock keypresses 
							
						 
						
							2025-02-11 02:16:38 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d0452a3510 
								
							 
						 
						
							
							
								
								Kernel: Fix xHCI controller destruction  
							
							... 
							
							
							
							Port updater task was not actually able to exit without a kernel panic.
This patch makes controller wait until port updater exits itself :D 
							
						 
						
							2025-02-10 22:58:57 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								11310e7615 
								
							 
						 
						
							
							
								
								Kernel: Don't manually clear xHCI interrupt flag if using MSI  
							
							
							
						 
						
							2025-02-10 22:58:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22b32a0fe5 
								
							 
						 
						
							
							
								
								Kernel: Expose PCI interrupt mechanism from PCIDevice  
							
							
							
						 
						
							2025-02-10 22:57:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ad143c184f 
								
							 
						 
						
							
							
								
								Kernel: Add basic support for USB hubs  
							
							... 
							
							
							
							This is still buggy and some hubs lead to usb transaction errors. I'll
have to debug this but this shouldn't prevent any already working device
from working 
							
						 
						
							2025-02-10 22:56:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								803a4cd163 
								
							 
						 
						
							
							
								
								Kernel: Don't enable ACPI devices when ACPI is disabled  
							
							... 
							
							
							
							This really didn't make any sense. There are no ACPI device to be
initialized when AML is not parsed :D 
							
						 
						
							2025-02-07 21:35:25 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								267fdf9fa1 
								
							 
						 
						
							
							
								
								Kernel: Remove storage devices after unplugging them  
							
							
							
						 
						
							2025-02-07 18:04:54 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								26d2a4420e 
								
							 
						 
						
							
							
								
								Kernel: Don't limit xHCI TRB transfer length to max packet size  
							
							... 
							
							
							
							This made no sense and just used a ton of TRBs.
This patch also fixes some incorrectly set flags in data/status stage
TRBs. 
							
						 
						
							2025-02-06 23:18:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c623ad7da0 
								
							 
						 
						
							
							
								
								Kernel: Use correct USB endpoint field to determine interval  
							
							... 
							
							
							
							I was using the wrong endpoint descriptor field which caused intervals
to be messed up. 
							
						 
						
							2025-02-06 23:18:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7de689055c 
								
							 
						 
						
							
							
								
								Kernel: Pass xHCI device information in structs  
							
							... 
							
							
							
							This makes code more readable and extendable 
							
						 
						
							2025-02-06 23:18:14 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								63b15a8855 
								
							 
						 
						
							
							
								
								Kernel: Rename USB initialize_endpoint -> configure_endpoint  
							
							... 
							
							
							
							This makes more sense as the USB command is CONFIGURE_ENDPOINT
Also configure_endpoint can be called multiple times on the same
endpoint. There was no reason to limit this to only one call. 
							
						 
						
							2025-02-06 22:10:00 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a2a7302964 
								
							 
						 
						
							
							
								
								Kernel: Make sure USB class driver is deinitialized before xhci device  
							
							
							
						 
						
							2025-02-06 22:00:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6a5367dbe3 
								
							 
						 
						
							
							
								
								Kernel: Don't initialize USB alternate interfaces  
							
							
							
						 
						
							2025-02-06 21:43:15 +02:00