Commit Graph

2935 Commits

Author SHA1 Message Date
19897ffa26 userspace: Compile test utility :D 2025-06-28 22:40:00 +03:00
42a10b21c7 userspace: Implement true and false utilities 2025-06-28 22:39:19 +03:00
5df0e25c1f userspace: Implement chown utility 2025-06-28 21:32:59 +03:00
ebf2b16d09 Kernel: Implement chown to ext2 and tmpfs 2025-06-28 21:28:54 +03:00
f2eaab6e43 ports: Add tuxracer port
THIS IS SUPER SLOW
2025-06-28 20:54:45 +03:00
a847823411 ports: Add tcl port 2025-06-28 20:54:45 +03:00
fe9a8b542a ports: Add bochs port
THIS IS SUPER SLOW
2025-06-28 20:54:45 +03:00
cd101b6844 ports: Add sdl12-compat port 2025-06-28 20:54:45 +03:00
69229102c4 ports: Add SDL2 port 2025-06-28 20:52:33 +03:00
4bc3630d19 ports: Add glu port 2025-06-28 20:52:20 +03:00
ab00686ac9 ports: Add mesa port 2025-06-28 20:51:29 +03:00
c3004a038f ports: Add bash port 2025-06-28 20:48:13 +03:00
9cf9d8847b ports: Add lua port 2025-06-28 20:48:13 +03:00
0a3c10566b ports: vim update to 9.1 2025-06-28 20:48:13 +03:00
c94243e107 ports: Update some ports to new syntax 2025-06-28 20:48:13 +03:00
505388b9fa ports: Add pre_install and post_install to install.sh 2025-06-28 20:25:35 +03:00
7314cf708c Kernel: Only restart certain syscalls with SA_RESTART
SA_RESTART is not supposted to restart every function.
2025-06-28 20:25:35 +03:00
3e6a4f2b16 LibC: Add getgroups stub 2025-06-28 20:25:35 +03:00
c7c3dd7662 init/ports: Fix environment variables in init/ncurses
init no longer sets NCURSES_NO_UTF8_ACS
ncurses no longer sets TERM
2025-06-28 20:25:35 +03:00
e4f025edd6 LibC: Implement deprecated bcmp, bcopy, bzero 2025-06-28 20:25:35 +03:00
96f3efbf86 LibC: Fix enviroment variable allocation 2025-06-28 20:25:35 +03:00
2b2130ff42 toolchain/ports: Use strip install targets
I just found that these exist. This is much cleaner than manually
stripping the executables!
2025-06-28 20:25:35 +03:00
463ce05da0 ports: Allow specifying custom make targets 2025-06-28 20:25:35 +03:00
fa4095ba95 ports: Add pre_configure to build system
We have post_configure, so why not this :)
2025-06-28 20:25:35 +03:00
db571b4859 Kernel: Allow relockign mutex even when holding a spinlock
Only reason mutex locking is now allowed with spinlocks is to prevent
yield.

Also try_lock can be now safely used while holding a spinlock
2025-06-28 19:40:54 +03:00
e8491b34b8 Kernel/LibC: Rework TIOC{G,S}WINSZ more linux like
Userspace can freely set terminal size, kernel just updates it when for
example new font is loaded. Also SIGWINCH is now sent by kernel instead
of userspace.
2025-06-28 19:40:54 +03:00
521457eb92 DynamicLoader: Add support for calling destructors
After all libraries are initialized, their destructors are registered
using atexit
2025-06-28 16:55:13 +03:00
f26a445ce6 LibC: Make malloc actually allign to s_malloc_default_align boundary 2025-06-28 16:55:13 +03:00
f73bb242f3 Kernel: Save fpu state and flags in signal handler
This was causing some weird crashes :D
2025-06-28 16:55:13 +03:00
9e895e5286 Kernel: Use fxsave64 and fxrstor64 on 64 bit target 2025-06-28 16:55:13 +03:00
5b0e5512a8 Kernel: Don't block in send until full message is sent
Only block until some data was sent. This allows select + send to be
actually non blocking if used correctly.

Also fixes a bug with non blocking sockets that could not send the full
message is one try.
2025-06-28 16:55:13 +03:00
850b3284ac Terminal: Fix screen clearing when scrolling 2025-06-28 16:55:13 +03:00
05a727979a Kernel: Make sse initialization thread safe 2025-06-28 16:55:13 +03:00
d68c88c3f9 LibC: Implement rewinddir 2025-06-28 16:55:13 +03:00
5f07d53034 WindowServer: Send mod key to clients
Also roll back accidental mod key update from super->alt
2025-06-28 16:55:13 +03:00
fe62ce4bae Kernel: Fix spurious wakeup from SYS_SLEEP 2025-06-28 16:55:13 +03:00
fb09aa4d06 LibInput: Correctly resize keyboard layout maps 0xFF->0x100 2025-06-28 16:55:13 +03:00
4d080b30ab LibInput: Pass raw scancode in KeyEvent 2025-06-28 16:55:13 +03:00
2d314e72fe LibGUI: Implement basic message box 2025-06-28 16:55:13 +03:00
cf07b747fe LibGUI/WindowServer: Implement per-window custom cursors 2025-06-28 16:55:13 +03:00
273e9bbc92 LibGUI/WindowServer: Implement per-window cursor hiding 2025-06-28 16:55:13 +03:00
7dcf1797e9 WindowServer: Cleanup packet callback calling 2025-06-28 16:55:13 +03:00
7aa24b6157 LibGUI: Implement serialization for BAN::Vector 2025-06-28 16:55:13 +03:00
d73a667437 LibGUI: Implement very bad widget system :D 2025-06-28 16:55:13 +03:00
4695fa061d Kernel: Don't panic if UNIX socket is already bound but deleted 2025-06-28 16:55:13 +03:00
7bf7bfbe13 Texture: Add invisible color when copying textures
This should probably support proper alpha blending but I'm lazy :)
2025-06-28 16:55:13 +03:00
397219c22e LibC: Implement very hacky dlopen/dlsym/dclose
If ELF loading fails, this will just crash the program :D

And there is no support for RTLD_LOCAL
2025-06-28 16:55:13 +03:00
83c0ef3514 Kernel: Implement CLOCK_{PROCESS,THREAD}_CPUTIME_ID 2025-06-28 16:55:13 +03:00
4fa40de557 WindowServer: Fix crash when moving mouse out of bounds 2025-06-28 16:55:13 +03:00
bc06926702 LibC: Implement gethostbyaddr 2025-06-28 16:55:13 +03:00