51cd951b4c
Kernel: Add hardlink support to tmpfs
2025-08-28 15:55:40 +03:00
16a5a234c1
Kernel: Cleanup hardlink creation
2025-08-28 15:55:40 +03:00
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
cea19ecc31
Kernel: Fix possible crash during exec
2025-08-28 15:55:40 +03:00
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
d9c91589f0
Kernel: Don't limit /tmp max size
2025-08-28 15:55:40 +03:00
abbe7b79d6
Kernel: Add /proc/<pid>/exe
2025-08-28 15:55:40 +03:00
e4abe75043
Kernel: Add /proc/self
2025-08-28 15:55:40 +03:00
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
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
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
9a6eae69ba
Kernel: Replace all occurances of BSB with BSP
2025-08-25 17:11:32 +03:00
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
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
0dfe0b7023
Kernel/LibC: Implement sigaltstack
2025-08-21 02:52:49 +03:00
def236b7cd
Kernel/LibC: Implement sigwait
2025-08-20 20:16:19 +03:00
247743ef9c
Kernel/LibC: Implement sigsuspend
2025-08-20 20:14:54 +03:00
49122cf729
Kernel: Allow adding signals to thread that are blocked
2025-08-20 18:35:18 +03:00
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
6560f229b1
Kernel: Fix PS/2 scancode set 3 numpad keys
2025-08-19 16:23:30 +03:00
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
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
3e97a82af0
Kernel: Allow getgroups with size
...
This can be used to query the number of groups
2025-08-19 16:23:30 +03:00
0066b20413
Kernel: Fix spinlock leaks with unix sockets
2025-08-19 16:23:30 +03:00
9d6656451a
LibC: Make time_t signed integer
...
Some port like python3 assumes this is the case
2025-08-19 16:23:30 +03:00
32f980e259
Kernel: Fix ACPI namespace lookup for multi segment names
2025-08-19 16:23:30 +03:00
0bece8a54c
Kernel: Add missing ACPI resource header
2025-08-19 16:23:30 +03:00
b6793cc6f2
Kernel: Add AML ConcatResOp
2025-08-15 18:54:17 +03:00
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
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
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
3804d4332b
Kernel: Make _SEG, _BBN and _ADR lookup absolute
2025-08-15 17:02:15 +03:00
064aaef6c3
Kernel: Don't fail on creating reserved opregion
2025-08-15 17:02:15 +03:00
ce262a5d2d
Kernel: Allow ReturnOp in global scope
2025-08-15 17:02:15 +03:00
d128f4d70b
Kernel: Fix AML CreateField debug print
2025-08-15 17:02:15 +03:00
46d1ada708
Kernel: Allow AML package->package conversion
2025-08-15 17:02:15 +03:00
2819e5f647
Kernel: Make _STA and _INI lookup absolute
2025-08-15 17:02:15 +03:00
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
58ad839136
Kernel: Add support for ACPI Embedded Controllers
2025-08-15 17:02:15 +03:00
8ed5a71c45
Kernel: Register IDT handlers from a vector
...
This drops code size by a lot :D
2025-08-13 18:27:46 +03:00
ef6ee78fd1
Kernel/LibC: Implement chroot
2025-08-11 14:07:37 +03:00
695262624d
Kernel: Fix potential UB in AML OpRegion initialization
2025-08-11 03:45:38 +03:00
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
f41e254e35
Kernel: Fix dead lock on process exit
2025-08-10 19:57:31 +03:00
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
5b587d199e
Kernel/LibC: Implement FIONREAD for tcp and udp sockets
2025-08-10 19:57:31 +03:00
3aa20a3a32
Kernel: Fix ACPI _GPE calling
...
This adds patch adds support for extended GPEs and the second GPE
register block.
2025-08-07 19:35:13 +03:00
de7c3d3d29
Kernel: Don't try to create . in USTAR
...
Our build system adds . entry to the tar archive and it should be
handled as an no-op
2025-08-07 19:35:13 +03:00
3f89df338e
IDT: Remove stack OOB check
...
This makes debugging easier when you can see the actual register values
and what is mapped and where
2025-08-07 19:35:13 +03:00
7ad3f967db
Kernel: Don't stop audio processing after each entry in AC97
2025-08-07 16:43:05 +03:00