Commit graph

2572 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
cffa7fa7b7 Add manual pages to the release. 2021-06-24 22:35:39 +02:00
Jonas 'Sortie' Termansen
aeb7e0ccfc Store kernel and initrds in the release directory. 2021-06-24 22:35:39 +02:00
Jonas 'Sortie' Termansen
5e7605fad2 Implement threading primitives that truly sleep.
The idle thread is now actually run when the system is idle because it
truly goes idle. The idle thread is made power efficient by using the hlt
instruction rather than a busy loop.

The new futex(2) system call is used to implement fast user-space mutexes,
condition variables, and semaphores. The same backend and design is used as
kutexes for truly sleeping kernel mutexes and condition variables.

The new exit_thread(2) flag EXIT_THREAD_FUTEX_WAKE wakes a futex.

Sleeping on clocks in the kernel now uses timers for true sleep.

The interrupt worker thread now truly sleeps when idle.

Kernel threads are now named.

This is a compatible ABI change.
2021-06-23 22:10:47 +02:00
Jonas 'Sortie' Termansen
29b14378e8 Fix usleep(2) sleeping 1000x too much regression. 2021-06-23 22:09:57 +02:00
Jonas 'Sortie' Termansen
4daedc31f7 Fix handling of overflow and non-canonical values in timespec APIs.
Support zero relative and absolute times in the timer API.
2021-06-22 21:48:27 +02:00
Jonas 'Sortie' Termansen
109a229b42 The Master Boot Record counts numbers of 512 bytes rather than sectors.
It seems that CD-ROMs with MBRs count number of 512 bytes rather than number
of 2048-byte sectors.
2021-06-17 23:58:19 +02:00
Jonas 'Sortie' Termansen
3b036b6c5d Add getdnsconfig(2) and setdnsconfig(2). 2021-06-13 23:27:52 +02:00
Jonas 'Sortie' Termansen
23ddc536bc Add -bdfgikhMnt options to sort(1). 2021-06-13 12:51:18 +02:00
Jonas 'Sortie' Termansen
27f81b09a6 Add /var/cache, /var/log, and /var/run. 2021-05-30 23:50:42 +02:00
Jonas 'Sortie' Termansen
9d87d76957 Abort on overlapping memcpy. 2021-05-30 23:48:19 +02:00
Jonas 'Sortie' Termansen
280ba8d64d Rewrite find(1). 2021-05-29 01:04:53 +02:00
Jonas 'Sortie' Termansen
1c9233e0c9 Add ENOMEDIUM. 2021-05-29 00:52:33 +02:00
Jonas 'Sortie' Termansen
18ba2d2fe3 Use example domain in serial-transfer(7). 2021-05-28 22:59:18 +02:00
Jonas 'Sortie' Termansen
11be0007b8 Remove ENOUSER and ENOGROUP.
The <pwd.h> and <grp.h> family of functions are supposed to return
nothing with no error set if there is no matching entry.
2021-05-10 23:26:31 +02:00
Juhani Krekelä
7f9a62d916 Implement Alt + key mapping to Esc followed by key in kernel tty 2021-05-05 00:19:56 +02:00
Juhani Krekelä
73e42780f4 Add more keybinds for scrolling in pager(1)
b commonly corresponds to Page Up, and f is added to match.

j and k for lines, ^F and ^B for pages, and g and G for home/end are from vi.

C-n and C-p for lines and C-v and M-v for pages are from Emacs.

< and > for home/end allow using Emacs M-< and M->, tho they are from less(1).
2021-05-04 22:14:47 +00:00
Juhani Krekelä
5e666dce8a Change go to line keybind in editor(1) from ^I to ^G
Since this is a console program, ctrl + letter gets mapped to a
control character in the range 1 to 26. Most of these control
characters are no longer in use and can safely be assumed to be
result of ctrl + letter, but ^I maps to the tab character.

I chose ^G since the keybind is memorable, and a user is unlikely
to try to type the BEL character.
2021-05-02 22:42:37 +02:00
Juhani Krekelä
86fa692c74 Do not try to copy zero-length buffers in editor_type_newline()
While under Sortix these operations ought to be safe, UBSan will
complain regardless if you do a zero-byte memmove from NULL. This
caused the editor forcibly quit whenever it tried to open a file
that had an empty first line and at least one another line.
2021-05-02 22:42:37 +02:00
Juhani Krekelä
287425ac5a Add Finnish Multilingual keyboard layout 2021-05-02 20:12:33 +03:00
Juhani Krekelä
eaa7732901 Add bare +altgr/-altgr modifier support to kblayout-compiler(1) 2021-05-02 20:08:21 +03:00
Jonas 'Sortie' Termansen
a83072bc3e Fix username/password typo in release-iso-modification(7).
Thanks to jjuran for spotting this error.
2021-04-21 22:30:22 +02:00
Jonas 'Sortie' Termansen
b52bfa5978 Add nl(1). 2021-04-21 22:30:21 +02:00
Jonas 'Sortie' Termansen
a8f8b4cfd6 Add format support to date(1). 2021-04-06 23:22:22 +02:00
Jonas 'Sortie' Termansen
6a778c6089 Fix strftime(3) error handling and add %F, %z, and %Z support. 2021-04-06 23:22:22 +02:00
Jonas 'Sortie' Termansen
c25f36cd53 Fix faccessat(2) not supporting root access. 2021-02-17 23:11:31 +01:00
Jonas 'Sortie' Termansen
a6295e6d90 Allow poll on all kinds of files. 2021-02-17 23:11:31 +01:00
Jonas 'Sortie' Termansen
fb106181a9 Fix sigsuspend(2) not running signal handlers with the temporary mask. 2021-02-13 22:35:39 +01:00
Jonas 'Sortie' Termansen
50543d3c36 Fix printf(3) handling of negative precision. 2021-02-13 22:33:03 +01:00
Jonas 'Sortie' Termansen
aadeef6a7c Fix psctl(2) not setting uid, euid, gid, and egid. 2021-02-11 20:47:49 +01:00
Jonas 'Sortie' Termansen
fff849b151 Fix improper uses of ScopedLockSignal. 2021-02-11 20:47:47 +01:00
Jonas 'Sortie' Termansen
b2235844da Add TCP_MAXSEG and TCP_NOPUSH definitions. 2021-01-23 00:35:38 +01:00
Jonas 'Sortie' Termansen
e695e93146 Fix st_blocks being wrong on ext2. 2021-01-19 23:20:05 +01:00
Jonas 'Sortie' Termansen
ba8800df2c Improve error handling in upgrade.conf(5) parsing. 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen
84b008e455 Clean up minor issues in sysinstall(8). 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen
69513b4396 Add grub-install boot device detection to sysmerge(8). 2021-01-19 00:04:59 +01:00
Jonas 'Sortie' Termansen
cb590ff205 Fix system upgrade leaking files. 2021-01-19 00:04:56 +01:00
Jonas 'Sortie' Termansen
29598b4fde Fix /tix/manifest permissions in installations. 2021-01-17 23:14:54 +01:00
Jonas 'Sortie' Termansen
5f84c38bc8 Fix sysinstall hook markers not being installed and prefix logic.
Document the compatibility hooks behavior while here.
2021-01-17 23:14:52 +01:00
Jonas 'Sortie' Termansen
37b1bf5e75 Fix /tmp permissions in the live environment. 2021-01-17 23:05:16 +01:00
Jonas 'Sortie' Termansen
ad8e17a968 Fix sysupgrade(8) buffer overflowing on more than 16 installations. 2021-01-17 23:05:15 +01:00
Jonas 'Sortie' Termansen
516c15d69e Fix sysupgrade(8) cancelation of pending sysmerge(8) upgrades. 2021-01-17 23:03:07 +01:00
Jonas 'Sortie' Termansen
4c089a01d6 Fix sysroot-source git clone not escaping the current directory. 2021-01-02 17:54:38 +01:00
Jonas 'Sortie' Termansen
3a874e7f40 Fix /var/empty permissions. 2021-01-02 17:54:38 +01:00
Jonas 'Sortie' Termansen
4de24d1f96 Fix sysmerge(8) -c short option not working. 2021-01-02 17:54:37 +01:00
Jonas 'Sortie' Termansen
1a1c006982 Fix extra newline in verbose tix-install with a collection. 2020-12-30 16:33:33 +01:00
Jonas 'Sortie' Termansen
006690d51e Fix tix-build host pkg-config with no sysroot. 2020-12-30 16:31:56 +01:00
Jonas 'Sortie' Termansen
fa11548c56 Fix pow(3) and powf(3) regression in earlier undefined behavior fix. 2020-12-07 16:44:19 +01:00
Jonas 'Sortie' Termansen
7139de4a53 Add stty(1). 2020-11-25 20:47:19 +01:00
Jonas 'Sortie' Termansen
20d4c09e26 Undefine the eol character in the default terminal settings. 2020-11-22 17:39:55 +01:00
Jonas 'Sortie' Termansen
eb70062331 Fix utils/chown not being gitignored. 2020-10-28 12:47:35 +01:00