Commit Graph

2929 Commits

Author SHA1 Message Date
Bananymous fe9a8b542a ports: Add bochs port
THIS IS SUPER SLOW
2025-06-28 20:54:45 +03:00
Bananymous cd101b6844 ports: Add sdl12-compat port 2025-06-28 20:54:45 +03:00
Bananymous 69229102c4 ports: Add SDL2 port 2025-06-28 20:52:33 +03:00
Bananymous 4bc3630d19 ports: Add glu port 2025-06-28 20:52:20 +03:00
Bananymous ab00686ac9 ports: Add mesa port 2025-06-28 20:51:29 +03:00
Bananymous c3004a038f ports: Add bash port 2025-06-28 20:48:13 +03:00
Bananymous 9cf9d8847b ports: Add lua port 2025-06-28 20:48:13 +03:00
Bananymous 0a3c10566b ports: vim update to 9.1 2025-06-28 20:48:13 +03:00
Bananymous c94243e107 ports: Update some ports to new syntax 2025-06-28 20:48:13 +03:00
Bananymous 505388b9fa ports: Add pre_install and post_install to install.sh 2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous 3e6a4f2b16 LibC: Add getgroups stub 2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous e4f025edd6 LibC: Implement deprecated bcmp, bcopy, bzero 2025-06-28 20:25:35 +03:00
Bananymous 96f3efbf86 LibC: Fix enviroment variable allocation 2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous 463ce05da0 ports: Allow specifying custom make targets 2025-06-28 20:25:35 +03:00
Bananymous fa4095ba95 ports: Add pre_configure to build system
We have post_configure, so why not this :)
2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous 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
Bananymous 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
Bananymous f26a445ce6 LibC: Make malloc actually allign to s_malloc_default_align boundary 2025-06-28 16:55:13 +03:00
Bananymous 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
Bananymous 9e895e5286 Kernel: Use fxsave64 and fxrstor64 on 64 bit target 2025-06-28 16:55:13 +03:00
Bananymous 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
Bananymous 850b3284ac Terminal: Fix screen clearing when scrolling 2025-06-28 16:55:13 +03:00
Bananymous 05a727979a Kernel: Make sse initialization thread safe 2025-06-28 16:55:13 +03:00
Bananymous d68c88c3f9 LibC: Implement rewinddir 2025-06-28 16:55:13 +03:00
Bananymous 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
Bananymous fe62ce4bae Kernel: Fix spurious wakeup from SYS_SLEEP 2025-06-28 16:55:13 +03:00
Bananymous fb09aa4d06 LibInput: Correctly resize keyboard layout maps 0xFF->0x100 2025-06-28 16:55:13 +03:00
Bananymous 4d080b30ab LibInput: Pass raw scancode in KeyEvent 2025-06-28 16:55:13 +03:00
Bananymous 2d314e72fe LibGUI: Implement basic message box 2025-06-28 16:55:13 +03:00
Bananymous cf07b747fe LibGUI/WindowServer: Implement per-window custom cursors 2025-06-28 16:55:13 +03:00
Bananymous 273e9bbc92 LibGUI/WindowServer: Implement per-window cursor hiding 2025-06-28 16:55:13 +03:00
Bananymous 7dcf1797e9 WindowServer: Cleanup packet callback calling 2025-06-28 16:55:13 +03:00
Bananymous 7aa24b6157 LibGUI: Implement serialization for BAN::Vector 2025-06-28 16:55:13 +03:00
Bananymous d73a667437 LibGUI: Implement very bad widget system :D 2025-06-28 16:55:13 +03:00
Bananymous 4695fa061d Kernel: Don't panic if UNIX socket is already bound but deleted 2025-06-28 16:55:13 +03:00
Bananymous 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
Bananymous 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
Bananymous 83c0ef3514 Kernel: Implement CLOCK_{PROCESS,THREAD}_CPUTIME_ID 2025-06-28 16:55:13 +03:00
Bananymous 4fa40de557 WindowServer: Fix crash when moving mouse out of bounds 2025-06-28 16:55:13 +03:00
Bananymous bc06926702 LibC: Implement gethostbyaddr 2025-06-28 16:55:13 +03:00
Bananymous 9de27110e2 LibC: Add alloca.h 2025-06-28 16:55:13 +03:00
Bananymous 93e5d09a63 Kernel/LibC: Implement flock 2025-06-28 16:55:13 +03:00
Bananymous 0cbc39698c WindowServer: Ignore SIGPIPE so we don't crash unexpectedly 2025-06-28 16:55:13 +03:00
Bananymous 83069e433f LibGUI/WindowServer: Implement window showing/hiding 2025-06-28 16:55:13 +03:00
Bananymous bbb490b24f LibGUI: Implement set_max_size
I already support set_min_size so why not this :)
2025-06-28 16:55:13 +03:00
Bananymous 85f200bd86 LibC: Add sched_get_priority_{min,max}
I don't support priority scheduling so these are just no-ops
2025-06-28 16:55:13 +03:00