Commit Graph

3758 Commits

Author SHA1 Message Date
17e6e53948 Kernel: Move Ethernet header prepending from NIC to helper 2026-06-30 20:14:38 +03:00
223835c37d Kernel: Fix TCP stack sending a lot of DUP-ACKs 2026-06-30 20:14:37 +03:00
aedd53b3e0 Kernel: Disable interrupts while appending packet in E1000
This avoids getting rescheduled and having other packets waiting to get
sent because of that
2026-06-30 20:14:37 +03:00
6339044e4c Kernel: Fix RTL8169 driver
This now works properly on real hardware. Main issue was a race
condition with now ISR was handled in the interrupt handler. We now loop
until we read back ISR as zero
2026-06-30 20:14:37 +03:00
924576cf0d WindowServer: Fix invalidation for fullscreen windows 2026-06-30 20:14:37 +03:00
ac333c9677 ports: Update llvm 20.1.8->22.1.8 2026-06-30 20:14:37 +03:00
6e47fa084b Kernel: Fix ext2 indirect block lookup math
This was broken for doubly and triply indirect blocks :D
2026-06-30 20:14:37 +03:00
32c10f7db2 Userspace: Add very simple top program
This is very bare bones but does show what programs use most cpu and
memory
2026-06-30 20:14:37 +03:00
9919cbf66e Kernel: Pass interpreter base address in auxiliary vector 2026-06-30 20:14:37 +03:00
fc1a6cacdc Kernel: Optimize process stopping 2026-06-27 03:24:15 +03:00
040bdea08e Kernel: Support volume keys from USB consumer page 2026-06-27 03:24:15 +03:00
579cd07109 Kernel: Expose process cpu time in proc filesystem 2026-06-27 03:24:15 +03:00
7bf7de44d2 Kernel: Support SO_TYPE and SO_KEEPALIVE getsockopt in UNIX socket 2026-06-27 03:24:15 +03:00
58aff97c28 Kernel: Implement getsockname for UNIX sockets 2026-06-27 03:24:15 +03:00
2bb9b9b4b3 Kernel: Don't read CR registers on every exception 2026-06-27 03:24:15 +03:00
59ec05c898 Kernel: Make TSC based timer monotonic
Prior to this I was just blindly rebasing the current TSC stats every
once in a while. Now I check for drift and scale the multiplier
accordingly to keep the timer from drifting
2026-06-27 03:24:15 +03:00
ac0ef53e87 Kernel: Fix HPET interrupt routing
If the HPET did not support legacy routing we would still use IRQ0 which
lead to using PIT irq which fired ~18 times per second
2026-06-27 03:24:15 +03:00
5aea95129e BuildSystem: Allow building compressed initrd
Building with BANAN_INITRD=2 will now compress using gzip!
2026-06-25 22:43:47 +03:00
92d10f612e Kernel: Make sure PCIeInfo is zero initialized 2026-06-25 01:42:02 +03:00
f3f40a465b Kernel: Fix HDA amplifier step size calculation
step size is zero based, 0 means 250 mdB
2026-06-25 01:41:41 +03:00
d3130884b6 Kernel: Hack TTY to work as debug console
debug printing takes the debug lock, but TTY uses mutex for its lock
2026-06-25 01:41:41 +03:00
5a516a6130 ports/xbanan: Update to new version 2026-06-23 23:56:08 +03:00
689494db63 LibGUI/WindowServer: Allow querying global cursor position 2026-06-23 23:31:17 +03:00
1287c8e335 LibGUI: Cleanup packet creation 2026-06-23 23:30:42 +03:00
763a742f6d WindowServer: Fix client fd leaks 2026-06-23 21:08:57 +03:00
4ad586552d LibGUI/WindowServer: Send window move events 2026-06-23 20:52:12 +03:00
8bc93069be Terminal: Fix foreground and background colors when inverted
I was not checking for inverted colors in a lot of places :P
2026-06-23 20:16:25 +03:00
160821869d ports: Add libX{composite,cursor,damage,inerama} ports 2026-06-23 15:28:25 +03:00
aa1b1e1af9 ports: Add butterscotch port 2026-06-22 21:25:04 +03:00
e19414a64e BuildSystem: Fix GCC compilation with new host GCC
Newer GCCs fail to compile GCC 15.2.0 because of how u8"" literals are
handled. This can be bypassed by compiling with -fno-char8_t
2026-06-07 03:20:50 +03:00
98fd86477a Kernel: Remove allocations from path lookup
this bumped looped /usr/bin/ls stat performance from 750k->1100k/s
2026-05-26 19:10:16 +03:00
16a442f473 Kernel: Fix Thread::will_exit_because_of_signal
I was not checking whether the signal handler has been overwritten to
ignore the signal leading to infinite busy loops :)
2026-05-26 03:31:20 +03:00
becfa228fe Kernel: fix signal handler block mask restoration 2026-05-26 03:31:20 +03:00
c0ce647c74 ports: Cleanup dependencies and configure flags 2026-05-26 03:31:20 +03:00
05250083b9 ports: Clenup toolchain files 2026-05-26 03:31:20 +03:00
bb170ba613 ports: Allow build scripts install to custom path
This will maybe allow packaging ports :)
2026-05-26 03:31:20 +03:00
c79e412215 resolver: Fix UB and resolve localhost 2026-05-25 03:19:20 +03:00
585e021c7f Kernel: Don't panic when stack trace leads to GPF
if there is was a uncanonical address in stack trace we ended up in an
infinite recursive loop trying to print stack trace
2026-05-25 02:19:56 +03:00
43d03eb4a9 LibC: Add shm_open/shm_unlink
These can just open files in /tmp/shm. no need for anything fancier
2026-05-25 02:14:04 +03:00
2a6792b44a LibC: Make mlock, munlock and madvice no-ops
These don't have to do anything as I don't swap processes to disk
2026-05-25 02:14:04 +03:00
954898b14d Kernel: Fix file backed mmap syncing, my if condition was inverted 2026-05-25 02:14:04 +03:00
d266d2ca88 Kernel: Allow network interface ioctls on interfaces
previously it was only on the sockets
2026-05-25 02:14:04 +03:00
c72f2f9b31 LibC: Fix posix_spawn
signal was checking for NULL instead of SIG_ERR

there is no need to do post fork waiting in posix_spawn, we just have to
exit with 127 on error
2026-05-25 02:14:04 +03:00
62e2f4896a LibC: reorder LOCK_SH and LOCK_EX
Some software im porting has static asserts for these :)
2026-05-25 02:14:04 +03:00
9ccdebcd96 LibC: Implement/fix mk{,o}stemp{,s} 2026-05-25 02:14:04 +03:00
fe533c2e62 LibC: Fix freopen to preserve file state :) 2026-05-25 02:14:04 +03:00
ee5c225954 LibC: Add __fseterr
This is used by some ports to not require internal FILE structure
2026-05-25 02:14:04 +03:00
8fccb74542 Kernel: Add indirect block cache to ext2 inode
This reduces indirect block lookup by a lot :)
2026-05-25 02:14:04 +03:00
bc8ecbd6fa Kernel: Add directory entry cache for ext2 inodes 2026-05-25 02:14:04 +03:00
60484b286f Kernel: Fix bugs in sys_pselect
I was not validating nfds passed from userspace. Also invalid fds are
supposed to return EBADF instead of ignoring those entries
2026-05-25 02:14:04 +03:00