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
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
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
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
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
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
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
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
6560f229b1
Kernel: Fix PS/2 scancode set 3 numpad keys
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
8b7790ded2
Kernel: Fix userspace pointer checks
...
Some syscalls were unconditionally validating optional paramenters which
were allowed to be null pointers
2025-08-19 16:23:30 +03:00
Bananymous
3e97a82af0
Kernel: Allow getgroups with size
...
This can be used to query the number of groups
2025-08-19 16:23:30 +03:00
Bananymous
0066b20413
Kernel: Fix spinlock leaks with unix sockets
2025-08-19 16:23:30 +03:00
Bananymous
9d6656451a
LibC: Make time_t signed integer
...
Some port like python3 assumes this is the case
2025-08-19 16:23:30 +03:00
Bananymous
32f980e259
Kernel: Fix ACPI namespace lookup for multi segment names
2025-08-19 16:23:30 +03:00
Bananymous
0bece8a54c
Kernel: Add missing ACPI resource header
2025-08-19 16:23:30 +03:00
Bananymous
b6793cc6f2
Kernel: Add AML ConcatResOp
2025-08-15 18:54:17 +03:00
Bananymous
809d07546a
Kernel: Remove minimum timeout of 100 ms from epoll
...
This is not actually needed and was just temporary code to make sure i
notified the epoll everywhere
2025-08-15 18:28:11 +03:00
Bananymous
804cbeb1a7
Kernel: Increment kmalloc storage size to 64 MiB
...
I really don't want to do this, but rewriting kmalloc to be dynamic
would require me to rewrite 32 bit paging and I really don't want to.
2025-08-15 17:02:15 +03:00
Bananymous
c07188a60e
Kernel: Look for PS/2 devices in the ACPI namespace
...
This allows finding the PS/2 controller on newer machines that don't
have the 8042 bit set in FADT.
2025-08-15 17:02:15 +03:00
Bananymous
3804d4332b
Kernel: Make _SEG, _BBN and _ADR lookup absolute
2025-08-15 17:02:15 +03:00
Bananymous
064aaef6c3
Kernel: Don't fail on creating reserved opregion
2025-08-15 17:02:15 +03:00
Bananymous
ce262a5d2d
Kernel: Allow ReturnOp in global scope
2025-08-15 17:02:15 +03:00
Bananymous
d128f4d70b
Kernel: Fix AML CreateField debug print
2025-08-15 17:02:15 +03:00
Bananymous
46d1ada708
Kernel: Allow AML package->package conversion
2025-08-15 17:02:15 +03:00
Bananymous
2819e5f647
Kernel: Make _STA and _INI lookup absolute
2025-08-15 17:02:15 +03:00
Bananymous
c2017a5181
Kernel: Allow looking up devices with multiple eisa ids
...
Also match against _CIDs in addition to _HID
2025-08-15 17:02:15 +03:00
Bananymous
58ad839136
Kernel: Add support for ACPI Embedded Controllers
2025-08-15 17:02:15 +03:00
Bananymous
8ed5a71c45
Kernel: Register IDT handlers from a vector
...
This drops code size by a lot :D
2025-08-13 18:27:46 +03:00
Bananymous
ef6ee78fd1
Kernel/LibC: Implement chroot
2025-08-11 14:07:37 +03:00
Bananymous
695262624d
Kernel: Fix potential UB in AML OpRegion initialization
2025-08-11 03:45:38 +03:00
Bananymous
af0bca74e4
Kernel/LibC: Implement {get,set,init}groups
...
This allows dropping /etc/group parsing from the kernel :D
2025-08-10 19:57:31 +03:00
Bananymous
f41e254e35
Kernel: Fix dead lock on process exit
2025-08-10 19:57:31 +03:00
Bananymous
7e472a9c1d
Kernel: Fix USB FS device default max packet size
...
Apparently this is a common non spec compliant issue on many
controllers/devices.
thanks @sasdallas
2025-08-10 19:57:31 +03:00