Commit Graph

2756 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 321e52d541 Work around pty deadlock. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen c5ab9c5da8 Add cdrom mounting live environment. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen de5314b2df Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 74a0e9cf4c Parallelize driver initialization. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen f74581b948 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.
2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 80d9d548c5 Decrease PS/2 timeouts. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 19f1c87029 Add uptime(1) -pr options. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen bdc275794e Add iso9660 filesystem implementation. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 780f85d0cb Add kernel virtual address space usage debug information. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 48699ef691 Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 5cef36edf5 Update to bison-3.8.2. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 5f2f9c998d Debug TCP socket state listing. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 983fcf1a4f Add kernel heap allocation tracing debug facility. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 35b773e347 Add m4, perl, and texinfo to the basic ports set. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 5e0e161fc0 Trianglix 4. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen e07b827e98 Add tix-check(8). 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 606e67656a Volatile release. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen ee9709babc Add tix-upgrade(8). 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen bd64649223 Add pty(1). 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen ef2e937ee2 Add signify port. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 21d7317a57 Add irc(1).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen ba660cc66a Add getaddrinfo(1). 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 57c52a97be Add host(1). 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 7ebd4a4984 Enable stack smash protection by default. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 5d3819ea50 Enable undefined behavior sanitization by default. 2023-06-24 00:15:48 +02:00
Jonas 'Sortie' Termansen 6c8e6e5fff Add display server.
This change adds the display(1) graphical user interface and desktop
environment with basic windowing support and the graphical terminal(1)
emulator along with integrations in chkblayout(1), chvideomode(1),
sysinstall(8), sysupgrade(8), as well as the games and ports.

Adopt the Aurora procedural wallpaper in display(1) and login(8).

Remove the obsolete dispd.

Juhani contributed keyboard and video mode APIs to the display protocol
and other miscellaneous changes.

dzwdz contributed the initial functioning window buttons, improved title
bar, window tiling, and minor bug fixes

Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
Co-authored-by: dzwdz <kg67199@gmail.com>
2023-06-24 00:05:47 +02:00
Jonas 'Sortie' Termansen b384bce28c Switch trianglix(1) from dispd to dispmsg_issue(2). 2023-06-24 00:00:10 +02:00
Juhani Krekelä e4ce686576 Use standard termios flags and functions in chvideomode(1).
Previously chvideomode(1) used {get,set}termmode(2) as well as
tcgetwincurpos(2), which are non-standard and only work in the kernel
terminal.

This necessitates changing the keybind for exiting the menu from esc to
Q, as there is no good standard way to disambiguate between escape
character by itself and the start of an escape sequence.
2023-06-20 01:06:20 +03:00
Juhani Krekelä 0660d420f3 Fix pagination in chvideomode(1).
Pagination code deals with two indices for video modes, one relative to
the start of video modes array and one relative to the start of current
page. Previously when displaying the list of modes, the video mode array
would be accessed using the one relative to the start of the current
page, meaning that pages 2 and onwards displayed repeats of the video
modes on page 1. This changes the the display code to use indices
relative to the start of the video modes array when accessing the array.
2023-06-14 20:05:03 +03:00
Juhani Krekelä 1773d6a131 Fix setting custom modes on command line in chvideomode(1).
Previously setting a mode from the command line would only work if it
was one of the pre-set resolutions offered by the driver. If the driver
supported custom resolutions and a user tried to set one on the command
line, chvideomode(1) would instead launch in interactive mode.
2023-06-14 01:28:11 +03:00
Jonas 'Sortie' Termansen 9d4eec4267 Add reinit support to init(8). 2023-06-08 22:50:03 +02:00
Juhani Krekelä d671516e9c Change chvideomode(1) to use "WIDTHxHEIGHTxBPP" consistently.
Previously chvideomode(1) used "WIDTHxHEIGHTxBPP" on the command line
while interactively it used "BPP x WIDTH x HEIGHT". Change everything
to "WIDTHxHEIGHTxBPP".
2023-05-22 00:50:27 +03:00
Juhani Krekelä f6d6b60c10 Use getopt_long(3) and err(3) family in chvideomode(1). 2023-05-18 19:20:54 +03:00
Juhani Krekelä 2c0a559309 Use getopt_long(3) and err(3) family in chkblayout(1). 2023-05-18 19:20:54 +03:00
Juhani Krekelä 66c4b7486a Move chkblayout(1) and chvideomode(1) into their own directories. 2023-05-16 02:25:18 +03:00
Juhani Krekelä 610b51ffdc Fix getopt_long(3) handling of required argument at the end of argv.
Previously if argv ended with a long option that required an argument
followed by said argument, getopt_long(3) would generate an error saying
that the option requires an argument even though it was provided. This
was because the comparison of optind against argc did not account for
the fact that optind had already been incremented, causing an
off-by-one.
2023-05-16 02:17:22 +03:00
Jonas 'Sortie' Termansen 1e17e7fab7 Add automatic installer and upgrader. 2023-05-15 23:25:19 +02:00
Jonas 'Sortie' Termansen 77c2e7f59e Fix chvideomode(1) --max- option parsing. 2023-05-15 23:24:33 +02:00
Jonas 'Sortie' Termansen e9d9eabb6e Add non-interactive mode to disked(8). 2023-04-23 23:35:08 +02:00
Jonas 'Sortie' Termansen b029127df5 Add passwd(1) -H option. 2023-04-23 23:35:08 +02:00
Jonas 'Sortie' Termansen c77745e447 Change chvidemode(1) to set requested mode instead of running command. 2023-04-22 19:54:40 +02:00
Juhani Krekelä adcf11944f Update to libressl-3.7.2. 2023-04-21 23:00:33 +03:00
Juhani Krekelä 4657132716 Fix tix-port(8) diffs on non-English locales.
tix-port(8) parses the diff(1) output, to remove the "Only in …"
informational messages. As they are meant to be human-readable, not
machine-readable, they are translated to different languages, which
causes tix-port(8) to miss them. This patch sets LC_ALL=C for the diff
invocation, so that the messages are always in English.
2023-04-12 14:01:11 +03:00
Jonas 'Sortie' Termansen caa92556c5 Try the router when ARP hasn't found neighbors. 2023-04-08 17:17:30 +02:00
Jonas 'Sortie' Termansen a773199a90 Add nginx port. 2023-04-07 14:20:56 +02:00
Jonas 'Sortie' Termansen 755f2cf539 Mix in the current random seed when writing the new one.
This behavior lets the sysadmin add entropy to the random seed effective
after the next reboot.
2023-04-06 23:26:10 +02:00
Jonas 'Sortie' Termansen cb88c18bf0 Fix system calls returning errno values instead of setting errno. 2023-04-06 23:26:10 +02:00
Juhani Krekelä eeea3bdcc6 Update to links-2.29. 2023-04-06 20:35:31 +03:00
Jonas 'Sortie' Termansen af92d5cae8 Fix strftime(3) %I off by one. 2023-04-04 20:44:38 +02:00
dzwdz d3aee98c1a Allow overriding the login session, refactor special users. 2023-04-04 21:00:00 +03:00