Bananymous
f15f88ebd6
TaskBar: Don't leak fds when reading battery info
2025-08-28 15:57:10 +03:00
Bananymous
391fc0c4c2
Kernel: Don't crash if Ext2 filesystem doing too many fileops
...
I had a hardlimit of 10 block buffers and if they ran out, the kernel
would crash. this patchs increases the number of buffers to 16 and
removes the crash condition when they run out :D
2025-08-28 15:55:40 +03:00
Bananymous
948ef2c820
Kernel: Fix race condition when destroying threads
2025-08-28 15:55:40 +03:00
Bananymous
c1b6b6b76a
Kernel: Fix string validation in unlink syscall
2025-08-28 15:55:40 +03:00
Bananymous
a8bb07052e
Kernel: Rewrite SMP message code
...
Remove locks and map smp buffer as uncached
2025-08-28 15:55:40 +03:00
Bananymous
6976a2dae7
Kernel: Add hardlink support to USTAR
...
Also handle file types L and K for long file names and link names
2025-08-28 15:55:40 +03:00
Bananymous
51cd951b4c
Kernel: Add hardlink support to tmpfs
2025-08-28 15:55:40 +03:00
Bananymous
16a5a234c1
Kernel: Cleanup hardlink creation
2025-08-28 15:55:40 +03:00
Bananymous
f994210927
LibC: Fix sigsetjmp (again)
...
I was using a wrong register for signal mask storage...
2025-08-28 15:55:40 +03:00
Bananymous
aaa8760d09
Kernel: Don't wait for ps2 timeout when flushing buffer
...
This speeds up boot time by a second :dd:
2025-08-28 15:55:40 +03:00
Bananymous
cea19ecc31
Kernel: Fix possible crash during exec
2025-08-28 15:55:40 +03:00
Bananymous
706cfeb443
Kernel: Allow file backed mapping be larger than inode size
...
This is only allowed if the mapping does **not** exceed a page boundary.
Some port was doing an exactly two-page-mapping on a file that was one
and a half page long
2025-08-28 15:55:40 +03:00
Bananymous
d9c91589f0
Kernel: Don't limit /tmp max size
2025-08-28 15:55:40 +03:00
Bananymous
9854691265
LibC: Don't leak fds on rename
2025-08-28 15:55:40 +03:00
Bananymous
32afa33a06
LibC: Make sure FILE's buffer does not get overflown
2025-08-28 15:55:40 +03:00
Bananymous
c6946d0145
LibC: Use pthread_mutex on FILE instead of atomics
2025-08-28 15:55:40 +03:00
Bananymous
abbe7b79d6
Kernel: Add /proc/<pid>/exe
2025-08-28 15:55:40 +03:00
Bananymous
e4abe75043
Kernel: Add /proc/self
2025-08-28 15:55:40 +03:00
Bananymous
b904503691
ports: Update GCC 15.1.0->15.2.0
2025-08-28 15:55:40 +03:00
Bananymous
2db42dfb2e
BuildSystem: Don't download config.sub every hour
...
There isn't really any need to :D
2025-08-25 22:16:23 +03:00
Bananymous
10bd24e585
Kernel: Fix signal delivery without an alternate stack
...
I had only tested that sigaltstack worked, so I didn't notice my normal
signals broke :D
2025-08-25 22:16:23 +03:00
Bananymous
f926e599fa
Kernel: Zero initialize Processors
...
This moves processor array to .bss reducing data size by 8192 bytes :)
This needed GCC updated to 15.2.0 because of an internal compiler error
I found :)
2025-08-25 18:29:14 +03:00
Bananymous
e7b518ba67
BuildSystem: binutils 2.44->2.45, gcc 15.1.0->15.2.0
2025-08-25 18:25:36 +03:00
Bananymous
a4698f0bde
Kernel: Fix IOAPIC max redirection entry fetching
...
Also max redirection entry is an index, not count so comparisons should
check for equality :)
2025-08-25 17:15:55 +03:00
Bananymous
9a6eae69ba
Kernel: Replace all occurances of BSB with BSP
2025-08-25 17:11:32 +03:00
Bananymous
0ff365c7f0
ports: Add qemu port
2025-08-21 03:11:16 +03:00
Bananymous
214e7a5672
ports: Add glib port
2025-08-21 03:11:16 +03:00
Bananymous
24b69a6dea
ports: Add libffi port
2025-08-21 03:11:16 +03:00
Bananymous
699235147c
ports: Add pcre2 port
2025-08-21 03:11:16 +03:00
Bananymous
72ad413a61
ports/SDL2: Handle window focus events
2025-08-21 03:11:16 +03:00
Bananymous
f11bb082e4
WindowServer/LibGUI: Add window focus events
2025-08-21 03:11:16 +03:00
Bananymous
2f3fd6867d
Kernel: Add VERY HACKY MAP_FIXED fix
...
This definitely will break stuff but I don't think anything depends on
this (except maybe dynamic loader)
This WILL get fixed soon (I hope :D)
2025-08-21 03:11:16 +03:00
Bananymous
350ae90bb6
Kernel: Make all futexes shared
...
Some stuff tries to use shared futexes so make them all shared. Private
futexes would be faster as they are process specific but supporting both
would need some reworks
2025-08-21 02:56:17 +03:00
Bananymous
fb61cab70d
LibC: Rewrite pthread_mutex using a futex
2025-08-21 02:52:49 +03:00
Bananymous
1d6c08478d
LibC: Fix sigsetjmp
...
the call from C sigsetjmp messed up rbp, now sigsetjmp is also written
in assembly.
I did not test the 32 bit code, just ported the tested 64 bit version
over :D
2025-08-21 02:52:49 +03:00
Bananymous
0dfe0b7023
Kernel/LibC: Implement sigaltstack
2025-08-21 02:52:49 +03:00
Bananymous
def236b7cd
Kernel/LibC: Implement sigwait
2025-08-20 20:16:19 +03:00
Bananymous
247743ef9c
Kernel/LibC: Implement sigsuspend
2025-08-20 20:14:54 +03:00
Bananymous
49122cf729
Kernel: Allow adding signals to thread that are blocked
2025-08-20 18:35:18 +03:00
Bananymous
84f579be81
ports: Add nano port
2025-08-19 17:00:14 +03:00
Bananymous
3d5f23a1b2
LibC: Implement wctomb
2025-08-19 16:44:18 +03:00
Bananymous
8b26b6604d
LibC: Make mbstate_t into int
...
This is not used, but makes more sense than an empty struct
2025-08-19 16:29:46 +03:00
Bananymous
f88e55ffa8
ports: Add nyancat port
2025-08-19 16:23:30 +03:00
Bananymous
34bdcb12e5
Kernel: Fix termios and enter key handling
...
Enter key now produces expected \r which gets converted to \n by default
by the ICRNL input flag.
Also input flags are now handled always, not just when ICANON is set.
I don't know why I though ICANON should disable input handling
2025-08-19 16:23:30 +03:00
Bananymous
95b353dae5
LibInput: Fix numpad keycode generation
...
I had made this function with broken PS/2 scancode set 3, so it seemed
like it worked
2025-08-19 16:23:30 +03:00
Bananymous
6560f229b1
Kernel: Fix PS/2 scancode set 3 numpad keys
2025-08-19 16:23:30 +03:00
Bananymous
8c9ab2d68c
WindowServer: Fix crash when window closes while being "button window"
2025-08-19 16:23:30 +03:00
Bananymous
8496726ab1
Terminal: Ignore some control characters
2025-08-19 16:23:30 +03:00
Bananymous
32d7f429f8
Kernel: Fix default ignored signals
...
SIGWINCH and SIGCANCEL ended up interrupting functions even when they
were marked as SIG_DFL. Now resizing the userspace terminal emulator
does not get interrupted!
2025-08-19 16:23:30 +03:00
Bananymous
0f52f49188
Terminal: Remove unused code
2025-08-19 16:23:30 +03:00