Commit Graph

3479 Commits

Author SHA1 Message Date
Bananymous 9c3e2dab40 ports: Add pango port 2026-03-23 17:58:39 +02:00
Bananymous eddb68f2fa ports/mesa: Build with x support 2026-03-23 17:55:57 +02:00
Bananymous 791091174a ports/cairo: Build with x support 2026-03-23 17:50:35 +02:00
Bananymous dd9280c6ea ports/expat: Add support for shared libraries 2026-03-23 17:48:19 +02:00
Bananymous a4d83f9fdb ports: Add xbanan port
This allows running x apps on top of my own GUI interface!
2026-03-23 17:47:11 +02:00
Bananymous f42c5c4a5b ports: Add a lot of x library ports + xeyes/xclock 2026-03-23 17:45:59 +02:00
Bananymous 186fa4f1a1 ports: Update git 2.52.0->2.53.0 2026-03-23 17:35:08 +02:00
Bananymous 09292bb87e BAN: Cleanup math code and add SSE sqrt
We should prefer SSE instructions when they are easily available. For
other functions x87 is just simpler. It's hard to write faster and close
to as accurate approximations with SSE.

This does not use xmmintrin.h as clangd does not like that file and
starts throwing errors in every file that includes this :)
2026-03-22 22:07:48 +02:00
Bananymous d18a0de879 Kernel: Fix mprotext for partial regions
if mprotected are did not contain the start of the region, mprotect
would exit early
2026-03-17 23:33:05 +02:00
Bananymous cdc45935b5 Kernel: Don't allow chdir into non-directories 2026-03-17 22:57:17 +02:00
Bananymous 43e18148a6 LibC: Define SSP things 2026-03-17 20:30:25 +02:00
Bananymous b0db645248 LibC: Add basic elf.h 2026-03-17 20:25:38 +02:00
Bananymous 07712758a7 BAN: Add default constructor to ipv4address 2026-03-17 20:24:48 +02:00
Bananymous c1a424a635 Kernel: Implement linux's eventfd 2026-03-17 20:24:06 +02:00
Bananymous a49588dbc7 DynamicLoader: Fix library lookup for already loaded files 2026-03-17 20:05:05 +02:00
Bananymous 1f22b9b982 DynamicLinker: Implement RTLD_NOLOAD 2026-03-17 20:04:48 +02:00
Bananymous 1d07d8e08e LibC/DynamicLoader: Add support for dynamically loaded TLS
Previously I failed to dlopen if any of the objects contained TLS
section
2026-03-17 20:01:51 +02:00
Bananymous 05b2424fca LibC: Implement more proper random number generator 2026-03-17 19:53:43 +02:00
Bananymous 07201c711e LibC: set endp in string to float conversion error 2026-03-17 19:50:12 +02:00
Bananymous 8fac88c9a6 LibC: Add sincos{,f,l} 2026-03-17 19:42:53 +02:00
Bananymous c9aafa78ec DynamicLoader: Fix RO section mprotect arguments 2026-03-05 17:57:03 +02:00
Bananymous e1c337a483 LibC: Fix compile and link flags
We were linking with -nostdlib and manually linked against libgcc. This
does not link with crtbegin and crtend which provides __dso_handle
preventing use of some global C++ constructors inside libc.

Now we just don't link against libc fixing this issue
2026-03-05 16:25:06 +02:00
Bananymous acebe68dfa DynamicLoader: Fix copy relocation and TLS initialization 2026-03-04 23:04:19 +02:00
Bananymous eeef945c25 Kernel: Make tty use the new byte ring buffer 2026-02-28 14:53:15 +02:00
Bananymous a602753bda Kernel: Add front/back/pop_back to ByteRingBuffer 2026-02-28 14:51:35 +02:00
Bananymous 812ae77cd7 Kernel: Make TCP sockets use the new ring buffer
Also fix race condition that sometimes prevented window updates not
being sent after zero window effectively hanging the whole socket
2026-02-28 14:22:08 +02:00
Bananymous 8b8af1a9d9 Kernel: Rewrite pipes using the new ring buffer 2026-02-28 14:20:52 +02:00
Bananymous 493b5cb9b1 Kernel: Implement byte ring buffer
This maps the ring twice right next to each other so we don't have to
care about wrapping around when doing memcpy or accessing the data
2026-02-28 14:18:23 +02:00
Bananymous 1ecd7cc2fe Kernel: Allow protocol specific socket options
I had forgot to remove this condition on the syscall
2026-02-27 19:20:22 +02:00
Bananymous 5c38832456 Kernel: use wake_with_waketime in epoll
We already have the wake time so there is no reason to calculate the
timeout
2026-02-27 19:14:35 +02:00
Bananymous d16f07a547 Kernel: Print thread id when writing to /dev/debug 2026-02-27 19:12:35 +02:00
Bananymous 54acb05131 Kernel: Don't print "./" prefix with debug functions 2026-02-27 19:10:51 +02:00
Bananymous 9ddf19f605 Kernel: Optimize networking code
Remove buffering from network layer and rework loopback interface.
loopback now has a separate recieve thread to allow concurrent sends and
prevent deadlocks
2026-02-27 19:08:08 +02:00
Bananymous ff378e4538 Kernel: Cleanup and optimize TCP
We now only send enough data to fill other ends window, not past that.
Previous logic had a but that allowed sending too much data leading to
retransmissions.

When the target sends zero window and later updates window size,
immediately retransmit non-acknowledged bytes.

Don't validate packets through listeing socket twice. The actual socket
will already verify the checksum so the listening socket does not have
to.
2026-02-24 16:20:23 +02:00
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