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
12158d9208
Kernel: Add OpenFileDescriptorSet::get_max_open_fd
2026-05-21 14:59:35 +03:00
5c94c30e1b
Kernel: Use spinlocks instead of mutexes for RWLock
...
All the operations are super fast, just checking or changing few
integers, there is no need for a yielding mutex :^)
2026-05-21 02:17:34 +03:00