Commit Graph

2881 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen c4a44531bf Add _Fork(2). 2024-06-23 13:40:39 +02:00
Jonas 'Sortie' Termansen 82fd2d4c92 Recognize and advertise POSIX 2024 support.
Update feature macros for interfaces added to POSIX 2024.

This commit begins the work of implementing POSIX 2024, which was
largely already implemented as extensions.
2024-06-23 13:33:55 +02:00
Jonas 'Sortie' Termansen 50792cb986 Remove unused alternative const safe sortix string functions. 2024-06-23 12:10:18 +02:00
Jonas 'Sortie' Termansen 442aa49070 Modernize process and thread member variable names. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen bfa2083ff0 Fix ppoll(2) EINTR handling. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen b46c25ea0c Add pstree(1) -is options. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen ed8bb024c5 Add chroot(8) -I option. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 49bf6298a7 Modernize chroot(8). 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 5d18d8be30 Prevent init(8) from using the tty when a daemon uses it. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen e90e2077e7 Run daemons in their own session. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 6e51c1ae51 Add init groups.
Every process now has an init process like it has a session, and each
session belong to an init. Orphaned processes are reparented to its init
process. All descendent processes are SIGKILL'd when an init process exits
and creating additional processes/threads fails.

Add setinit(2) for becoming the init process for your child processes and
add getinit(2) for locating your init process.

Add TIOCSCTTY force flag that releases a terminal from its current session
and makes it the controlling terminal for the current session. This ioctl
is essential to transferring the controlling terminal to a nested init,
which has its own session.

Add TIOCUCTTY that releases the terminal as the controlling terminal for
its current session.

Remove INIT_PID as it is replaced by getinit(2).
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 09ca6ea01e Add service(8). 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 2629d5bdcc Add checksum(1) --cache option. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 70dbd6952a Add php port. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen b90b063efe Revert "Update to perl-5.39.5."
This reverts commit 781ff8880f3e2d29e31460427bccf50cc1ec436e.

File/Spec was no longer being installed when --all-static, breaking
texinfo.
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 1f616954a5 Update to perl-5.39.5. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen f96d02415d Revert "Update to python-3.12.1."
This reverts commit 8ae8363167cc195f92803489e2f97391e2527c5f.

The libglib build broke due to no distutils module.
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 2e2def6288 Update to python-3.12.1. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen c258e9b68d Revert "Update to texinfo-7.1."
This reverts commit 9813bb1d13c625d48ecd950bfaafc274383ca049.

ffmpeg fails to build natively with the new makeinfo:

perl ./doc/texidep.pl . doc/ffmpeg-utils.texi doc/ffmpeg-utils.html >doc/ffmpeg-utils.html.d
makeinfo --html -I doc --no-split -D config-not-all --init-file=./doc/t2h.pm --output doc/ffmpeg-utils.html doc/ffmpeg-utils.texi
makeinfo: error parsing ./doc/t2h.pm: Undefined subroutine &Texinfo::Config::set_from_init_file called at ./doc/t2h.pm line 24.
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen abd57ad77c Update to texinfo-7.1. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 2639949a3b Revert "Update to dash-0.5.12."
This reverts commit 16bedfc9630779c01ebae5513fd307e969c329de.

Something is wrong with the case pattern matching, maybe fnmatch?
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 48e5fb31cd Update to dash-0.5.12. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen cfd607f35e Revert "Update to freetype-2.13.2."
This reverts commit 5ad1e5f6054dd1e44ecb955b9326c1198ef17ff0.

configure runs make and crashes on a stack overflow in make.
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 5abaee0b07 Update to freetype-2.13.2. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 5a40d167f5 Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 9af68c9e79 Update to bison-3.8.2. 2024-06-22 18:25:49 +02:00
Jonas 'Sortie' Termansen 12ef28d590 Revert "Schedule interactive threads fairly under load."
This reverts commit 47731b91c37933943a73010c5a4494101cce52dc.

There is a rare freeze when the scheduler fails to run anything.
2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen a2b6b05838 Schedule interactive threads fairly under load.
Preempted threads are now removed from the runnable list until every
other thread has been preempted or the system goes idle. This ensures
threads that roundtrip to other threads get a full chance to perform
their work cooperatively without being starved by CPU intensive threads
whenever they yield.
2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 81947e4f3b Kinda fix pager(1) man bullet points. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen e142c64dc8 Fix ESP endian. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 7e1e5bc6ce Support booting with EFI. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 784481dab6 Add kernel(7) --firmware option. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 58bab55351 Add fatfs(8). 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen cb5ccbec33 Add getty(8). 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen c6f6aaa285 Add terminal and interrupt support to com(4). 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen d1a05c28ab Add nyan(1). 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 39072cbcff Work around pty deadlock. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen cd5b226201 Add cdrom mounting live environment. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen c9917c00a1 Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen f0d03cdd57 Parallelize driver initialization. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen a8eba7e85f Speed up ata(4) 400 ns waits.
Waiting for any non-zero duration currently waits for at least one timer
cycle (10 ms), which is especially expensive during early boot.

The current workaround of simply reading the status 14 times seems really
suspicious although the osdev wiki documents it, but let's see how well it
works on real hardware, it's probably good enough.

Try to determine the initial selected drive to save one drive selection.
2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 61c6f65839 Decrease PS/2 timeouts. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen a9738417c7 Add uptime(1) -pr options. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 2100eb369d Add iso9660 filesystem implementation. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen fd58b62068 Add kernel virtual address space usage debug information. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen f636b310f6 Debug TCP socket state listing. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen eb1f28c738 Add kernel heap allocation tracing debug facility. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 23309f39b1 Trianglix 4. 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen ab7cb1314f Add tix-check(8). 2024-06-22 18:25:48 +02:00
Jonas 'Sortie' Termansen 1c3465260a Volatile release. 2024-06-22 18:25:48 +02:00