Bananymous
e01e35713b
LibC: Allow including assert.h multiple times
...
Some shit seems to depend on this
2026-04-02 15:38:06 +03:00
Bananymous
82d5d9ba58
LibC: Write memchr, memcmp and strlen with sse
2026-04-02 15:35:03 +03:00
Bananymous
d168492462
WindowServer: bind volume up/down to volume control
2026-04-02 15:24:02 +03:00
Bananymous
6f2e8320a9
TaskBar: Show current volume level
2026-04-02 15:22:42 +03:00
Bananymous
bf4831f468
AudioServer: Add support for volume control
2026-04-02 15:21:38 +03:00
Bananymous
5647cf24d2
Kernel: Implement volume control to audio drivers
2026-04-02 15:14:27 +03:00
Bananymous
85f61aded5
BAN: Use builtins for math overflow
2026-04-02 14:49:12 +03:00
Bananymous
21639071c2
kill: Allow killing with process name
2026-04-02 05:02:05 +03:00
Bananymous
68506a789a
Kernel: Add support for volume control keys
2026-04-02 05:02:05 +03:00
Bananymous
d9ca25b796
LibC: Add FNM_CASEFOLD and FNM_IGNORECASE
...
These are part of POSIX issue 8
2026-03-25 04:27:00 +02:00
Bananymous
e9c81477d7
BAN/LibC: Implement remainder
...
This is basically just fmod but with fprem1 instead of fprem
2026-03-25 01:06:45 +02:00
Bananymous
5c20d5e291
Kernel: HDAudio hide unusable pins and cleanup path finding
2026-03-24 01:16:47 +02:00
Bananymous
f89d690716
Kernel: HDAudio only probe codecs in STATESTS
...
This removes unnecessary probing that lead to timeouts. Also cap codec
address at 14 instead of 15. My test laptop was duplicating codec 0 at
address 15 leading to duplicate devices.
2026-03-24 00:49:47 +02:00
Bananymous
c563efcd1c
AudioServer: Query pins of the asked device and not the current one
2026-03-23 22:57:49 +02:00
Bananymous
dedeebbfbe
Kernel: Use ByteRingBuffer with audio buffers
2026-03-23 22:12:40 +02:00
Bananymous
35e2a70de0
AudioServer: Handle client data before disconnecting clients
2026-03-23 20:41:13 +02:00
Bananymous
81d5c86a7a
WindowServer: Automatically launch xbanan if installed
2026-03-23 19:39:08 +02:00
Bananymous
db6644bae9
BuildSystem: Set glib-compile- binaries in meson cross file
2026-03-23 19:34:00 +02:00
Bananymous
14f1c1a358
LibC: Implement vsyslog
2026-03-23 19:13:38 +02:00
Bananymous
5be9bc64a2
ports/libxml2: Configure with -shared-libgcc
...
otherwise it doesn't seem to find libiconv due to __divdc3
2026-03-23 19:09:33 +02:00
Bananymous
64d3a5c8b7
ports: Update zlib 1.3.1->1.3.2
...
1.3.1 is no longer available at zlib.net
2026-03-23 18:54:57 +02:00
Bananymous
ccb4d13a82
Kernel: Compile EventFD file
2026-03-23 18:25:18 +02:00
Bananymous
cbe835a2c8
DynamicLoader: Add missing strlen definition
2026-03-23 18:23:31 +02:00
Bananymous
6a77754adf
LibC: Don't link against libstdc++
...
This prevented building the toolchain
2026-03-23 18:22:42 +02:00
Bananymous
7d7d5ba734
LibC: Compile eventfd file
2026-03-23 18:22:04 +02:00
Bananymous
684fa1c4b0
ports: Add pixman port
...
This fixes cairo dependencies
2026-03-23 17:58:39 +02:00
Bananymous
a98d851fde
ports: Add gtk3 port
2026-03-23 17:58:39 +02:00
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
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