Bananymous
2ea0a24795
Kernel: Fix TCP SYN option propagation
...
Listening socket now forwards TCP options to the newly created socket
2026-02-23 23:00:47 +02:00
Bananymous
acf28d8170
Kernel: Use ring buffers for TCP windows
...
This speeds up TCP networkign a ton as it doesnt have to do unnecessary
memmoves for each send/receive
2026-02-23 21:10:13 +02:00
Bananymous
666a7bb826
Kernel: Rework TCP window size reporting
...
We now report actually available window size when sending packets. If
the available window size grows significantly we send an ACK to reflect
this to the remote.
2026-02-23 21:10:13 +02:00
Bananymous
1ac20251cf
Kernel: Fix TCP stack crash on retransmission
2026-02-23 17:48:16 +02:00
Bananymous
a318a19fe2
LibGUI/WindowServer: Add fullscreen events
...
When window's fullscreen state changes we now generate events!
2026-02-23 16:06:48 +02:00
Bananymous
f4a7aec167
LibGUI/WindowServer: Add support for custom cursor origin
2026-02-23 16:06:48 +02:00
Bananymous
9445332499
Kernel: Remove unnecessary interface lookup
...
This prevented connecting to local sockets listening on INADDR_ANY
2026-02-23 16:06:48 +02:00
Bananymous
8edd63d115
Kernel: Cleanup {set,get}sockopt debug prints
2026-02-23 16:06:48 +02:00
Bananymous
304ace1172
LibInput: Export keyboard layout keymaps
2026-02-23 16:06:48 +02:00
Bananymous
a5cdf0640f
BAN: Add value_type to String{,View}
2026-02-23 16:06:48 +02:00
Bananymous
1fc2e43881
BAN: Add support for string format padding
2026-02-23 16:06:48 +02:00
Bananymous
0964c9f928
BAN: Remove unnecessary assert from span
2026-02-23 16:06:48 +02:00
Bananymous
8b1e820869
BAN: Add reallocator support to Vector
2026-02-21 04:03:11 +02:00
Bananymous
9edc6966db
BAN: Add reallocator definition
...
for the moment this does not exist in kernel, kmalloc rewrite soon™️
2026-02-21 04:03:11 +02:00
Bananymous
12207dcb77
BAN: Add is_trivially_copyable trait
2026-02-21 04:03:11 +02:00
Bananymous
2255e36810
LibDEFLATE: Add GZip support
...
This allows compressing and decompressing with data using GZip headers
and footers
2026-02-21 04:03:11 +02:00
Bananymous
5abddd448e
LibC: Fix typo/bug in fnmatch
...
* would stop matching at '0' instead of end of string
2026-02-19 22:12:59 +02:00
Bananymous
f022a1b08f
Shell: Fix crash when executing semicolon
...
This fixes #4
2026-02-13 17:52:54 +02:00
Bananymous
b3bbfaeff0
LibC: Fix posix_spawnattr_t definition
2026-02-10 01:22:25 +02:00
Bananymous
679a3d4209
LibGUI: Add Texture::clear{,_rect}
2026-02-08 19:45:01 +02:00
Bananymous
a0211d88e7
Kernel: Don't include TCP header in MSS
2026-02-08 19:44:30 +02:00
Bananymous
e216fc7798
Kernel: Fix port allocation endianness
2026-02-08 19:43:08 +02:00
Bananymous
c648ea12f2
Kernel: Cleanup and fix UNIX sockets
...
EPOLLOUT is now sent to the correct socket and buffer is now a ring
buffer to avoid unnecessary memmove on every packet
2026-02-08 19:38:28 +02:00
Bananymous
2e59373a1e
Kernel: Fix non blocking sockets blocking :D
2026-02-08 19:33:28 +02:00
Bananymous
a51a81b6cd
Kernel: Move {set,get}sockopt to sockets
...
Sockets can now actually implement socket options :D
2026-02-08 19:27:16 +02:00
Bananymous
9809f87010
LibC: Fix {read,write}v return value for partial actions
2026-02-08 18:45:29 +02:00
Bananymous
8794122c2d
BAN: Variant allow copy/move from empty
2026-02-07 18:54:31 +02:00
Bananymous
8fb2270ecf
DynamicLoader: map RO sections actually read only
...
I was mapping everything RW as i did not have mprotect when I
implemented the dynamic loader.
2026-02-04 23:21:06 +02:00
Bananymous
c304133224
LibC: Indicate regex support in unistd.h
2026-01-25 01:47:30 +02:00
Bananymous
7843d3de62
LibC: Support attrs and file actions in posix spawn
...
Apparently GCC wants to use posix_spawn now that it is available, this
patch adds support for the missing fields. POSIX Issue 8 did add some
fields that are not supported here
2026-01-25 01:45:47 +02:00
Bananymous
aef536fff3
Kernel: Fix SharedMemoryObject cloning on deleted keys
2026-01-25 01:42:17 +02:00
Bananymous
d472e1ac0e
Kernel: Remove obsolete FIXMEs and null pointer checks
2026-01-24 22:42:18 +02:00
Bananymous
120c08fb75
Kernel: Implement fcntl based locks
2026-01-24 22:38:34 +02:00
Bananymous
ba6229b92d
Kernel: Fix TCP accept bind address
...
I was accidentally binding the new socket to the target address instead
of the listening socket's address
2026-01-24 00:33:05 +02:00
Bananymous
3d2362cb5f
ports/xash3d-fwgs: Don't apply vorbis patch
...
I removed the pathes a while ago
2026-01-21 19:20:02 +02:00
Bananymous
a08b9b82a6
Kernel: Fix yield stack pointer value
...
Stack pointer was pointing to value of return address on return instead
of past it. This did not affect anything as ig Processor::yield() didn't
use stack after calling the trampoline
2026-01-19 00:47:00 +02:00
Bananymous
5d62fa3f10
Kernel: Clenup stacktrace printing on exception
...
Start from current ip and bp. This removes kernel call stack to debug
printing function from the stack trace
2026-01-16 16:31:35 +02:00
Bananymous
d3df00f0ba
Kernel: Make Processor structure default to zero
...
This moves processor info to bss instead of having it in data section
2026-01-16 16:24:47 +02:00
Bananymous
34e84f8b07
Kernel: Reduce the number of TLB invalidations
...
Invalidations are not done if mapping or unmapping previously unmapped
page. TLB invalidate IPIs are now ignored if they don't affect the
currently mapped address space
2026-01-16 16:22:29 +02:00
Bananymous
1143dc3cae
Kernel: Rework syscall memory validation and locking
...
Process's memory regions are now behind an rwlock instead of using the
full process lock. This allows most pointer validations to not block as
write operations to memory regions are rare.
Thread's userspace stack is now part of process's memory regions. This
simplifies code that explicitly looped over threads to see if the
accessed address was inside a thread's stack.
Only drawback of this is that MemoryRegions don't support guard pages,
so userspace stackoverflow will be handeled as cleanly as it was prior
to this.
This patch also fixes some unnecessary locking of the process lock and
moves locking to the internal helper functions instead of asserting that
the lock is held. Also we now make sure loaded ELF regions are in sorted
order as we previously expected.
2026-01-16 16:09:38 +02:00
Bananymous
0299d4d44e
Kernel/LibC: remove SYS_TERMID
...
This syscall is not needed. /dev/tty is already a symlink to the
controlling terminal. Also this syscall did not handle pseudo terminals
2026-01-16 15:57:36 +02:00
Bananymous
1d07151743
ports/xash-fwgs: Cleanup patches
...
Remove patches that are no longer needed and cleanup the general support
patch
2026-01-13 20:51:58 +02:00
Bananymous
a83fa6f4c6
Kernel: Optimize futexes
...
Eeach futex object now has its own mutex to prevent unnecessary locking
of the process/global futex lock. This basically removes sys_futex from
profiles when running software with llvmpipe
2026-01-13 19:18:52 +02:00
Bananymous
c30fc9d60f
LibGUI: Rewrite using epoll
...
select is slow :^)
2026-01-12 23:53:11 +02:00
Bananymous
311a68160c
Kernel: Don't delete futex objects after they are not used anymore
...
Hashmap insertions and deletions made futex very slow to use. When
running SuperTuxKart, ~15% of cpu time was spent doing these.
Never freeing objects is not great either but at least the performance
is usable now :)
2026-01-12 23:52:04 +02:00
Bananymous
343aef31c3
AudioServer: Rewrite using epoll
...
select is slow :^)
2026-01-12 23:46:51 +02:00
Bananymous
3ac8f7e14f
WindowServer: Rewrite using epoll
...
Looking at profiles, select is a very slow syscall as it has to allocate
a temporary epoll instance
2026-01-12 23:46:03 +02:00
Bananymous
0cef66d155
Kernel: Fix epoll reporting multiple of the same event
2026-01-12 23:45:17 +02:00
Bananymous
9ffbb9fbf0
LibC: Fix clock_gettime return value
2026-01-11 22:44:03 +02:00
Bananymous
c9a8f5b456
Kernel: Fix ext2 fileystem super block backups
...
Check if rev >= 1 sets sparse superblock feature instead of assuming it
is set
2026-01-11 19:55:10 +02:00