99fc7817c6
Kernel: Cleanup stack alignment assembly
2025-04-20 16:55:18 +03:00
252784ff5b
Kernel: Preserve kernel command line on fork
2025-04-19 21:29:52 +03:00
6f9dc2a9b8
Kernel/LibC: Implement fchdir, cleanup chdir and getcwd
2025-04-19 21:28:31 +03:00
201d752850
Kernel: Allow pipe to write partial data
...
This allows potential blocking
2025-04-19 00:39:42 +03:00
63b3d9875d
Kernel: Fix Thread::block_with_eintr* functions
...
I was using wrong block function, `block_with_timeout` instead of
`block_with_wake_time`. This caused functions to block way too long and
caused a lot of hangs.
2025-04-19 00:39:42 +03:00
85505b0482
Kernel: Fix ANSI SGR color invert
2025-04-18 17:31:46 +03:00
703c1a485c
Kernel: Fix Ext2 bug for big files
...
My ext2 implementation was reading wrong blocks for very big block
indices.
2025-04-18 04:17:31 +03:00
9258c73484
Kernel: Optimize VTTY cursor rendering
...
cursor is now only updated once after all consecutive `putchar`s are
handled.
2025-04-18 03:55:56 +03:00
6858546ce9
Kernel: Fix rendering bugs with framebuffer cursor
2025-04-18 03:54:17 +03:00
7c6966a9c4
Kernel: Add support for text mode terminal
...
This probably won't be used at all but it was so simple and made me do
really nice refactorings so i decided to add it :)
2025-04-18 02:45:06 +03:00
40d1d20cd6
Kernel: Move cursor handling from TTY -> TerminalDriver
2025-04-18 02:43:41 +03:00
c0942d78cb
Kernel: Fix TTY ANSI ? handling
2025-04-18 02:42:49 +03:00
cef8779bf7
Kernel: Improve error handling when setting TTY font
2025-04-18 02:42:24 +03:00
d6667844de
Kernel: Fix fcntl F_SETFL and masking
2025-04-18 02:37:44 +03:00
4cdf218145
Kernel: Don't allow opening file with path ""
2025-04-18 02:37:16 +03:00
994713d04c
Kernel: Implement FramebufferDevice::get_pixel()
2025-04-18 02:35:28 +03:00
554b13ac50
Kernel: Restructure terminal initialization
...
This is still very ugly and will be rewritten in the future :D
2025-04-18 01:19:59 +03:00
439fb57d88
Kernel: Fix ANSI CSI @ and b for VirtualTTY
2025-04-17 23:24:17 +03:00
ac90800c3c
Kernel/LibC/DynamicLoader: Implement thread local storage
...
For some reason this does not work on 32 bit version, so it is disabled
on that platform. I'll have to look into it later to find the bug :)
2025-04-15 23:33:39 +03:00
08f5833ca8
Kernel/LibC: Implement pthread_attr_init
2025-04-15 23:31:17 +03:00
4bcd3ed86f
Kernel: Start working on TLS, add SYS_{SET,GET}_TLS
2025-04-15 23:31:17 +03:00
a933fabb86
Kernel: Define constant USERSPACE_END
...
This should be used for userspace generic allocations. Currently I used
KERNEL_OFFSET, but I want to limit userspace to the actual lower half of
the address space
2025-04-15 23:31:17 +03:00
36baf7b0af
Kernel/LibC/DynamicLoader: Update process start ABI
...
We now use SysV abi for process startup
2025-04-15 23:05:52 +03:00
4b1c20fa36
Kernel: Make SYS_{,P}READ work with count == 0
2025-04-15 21:36:00 +03:00
00015285ab
Kernel: Add vaddr->paddr getter to VirtualRange
2025-04-15 21:25:15 +03:00
0f936fc163
Kernel: Cleanup 32 bit interrupt stack alignment
2025-04-15 21:21:23 +03:00
15045cc486
Kernel: Make nonblocking sockets unblocking :)
2025-04-05 18:42:02 +03:00
c9132d984b
Kernel: Fix TCP window scaling
2025-04-05 18:40:23 +03:00
a0123e7c2d
Kernel: save and load sse context in more spaces
2025-04-02 12:58:39 +03:00
be786be67d
Kernel/LibC: Implement pthread_join
2025-04-02 12:58:39 +03:00
9066e62a97
Kernel/LibC: Implement sched_yield
2025-04-02 12:58:39 +03:00
5549696c3a
Kernel/LibC: Implement pthread_self
2025-04-02 02:39:29 +03:00
9fb161c320
Kernel: Move thread stacks 1 MiB back
2025-04-01 23:26:13 +03:00
c1618e2b5d
Kernel/LibC: Add basic support for pthread_{create,exit}
2025-04-01 23:26:13 +03:00
36026d4ec6
Kernel: Cleanup TCP and add basic window scaling support
2025-04-01 23:09:30 +03:00
96767f5ca8
Kernel: Implement PCI interrupt routing
...
This does not really work but I have no idea what I'm doing wrong
2025-04-01 23:09:30 +03:00
76bad31dd5
Kernel: Reorder locking with VirtualRange
2025-04-01 23:09:30 +03:00
2e3b917192
Kernel: Cleanup PS2 mouse button event generation
2025-04-01 23:09:30 +03:00
95f262b3e6
Kernel: Print process pid through /dev/debug
2025-04-01 23:09:30 +03:00
aebacb6b6a
Kernel: Bypass PS2 detection if scancode set is forced
2025-04-01 23:09:30 +03:00
27613da5ea
Kernel: Route PCI Interrupt Link Device interrupts
2025-04-01 23:09:30 +03:00
28ac6c2267
Kernel: Implement AML FindSet{Left,Right}Bit
2025-04-01 23:09:30 +03:00
1c1fc65c7c
Kernel: Add API to reserve GSI instead of irq
...
This also fixes a bug with IOAPIC gsi_base != 0
2025-04-01 23:09:30 +03:00
ba74b352bd
Kernel: Make BufferField actually access the buffer and not copy
2025-04-01 23:09:30 +03:00
0474ac4262
Kernel: Expose ACPI resolve_package_element to outside
2025-04-01 23:09:30 +03:00
aba49cc93f
Kernel: Add API to get ACPI reference paths
2025-04-01 23:09:30 +03:00
b3b5b40163
Kernel: Add _OS an _REV to ACPI namespace
2025-04-01 23:09:30 +03:00
0e085b30cc
Kernel: ACPI add easier API for calling methods with arguments
2025-04-01 23:09:30 +03:00
35149b6960
Kernel: Add helper functions to create AML String and Buffer
2025-04-01 23:09:30 +03:00
3800d5420e
Kernel: Collect created AML nodes in add_{named,alias}...
...
This makes it harder to miss adding scoped objects. Before I was not
deleting all types of nodes on method return
2025-04-01 23:09:25 +03:00