Commit Graph

2756 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 944ae77da6 Work around pty deadlock. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen e5013cae4c Add cdrom mounting live environment. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 73e2f526f8 Revert "Parallelize driver initialization."
This reverts commit 0fef08bbc4.
2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 2d6f7cde21 Parallelize driver initialization. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 8daa313f75 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:55:23 +02:00
Jonas 'Sortie' Termansen 4905450d1d Decrease PS/2 timeouts. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 58885fedeb Add uptime(1) -pr options. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen c293d96cc3 Add iso9660 filesystem implementation. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 8153e44cd8 Add kernel virtual address space usage debug information. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 06ccbcd9ac Revert "Update to bison-3.8.2."
This reverts commit b82fae810b42c5426d21c4dc153b32f086dd7fde.
2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen bba34e93bf Update to bison-3.8.2. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 8db8515b0b Debug TCP socket state listing. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 264b9927e3 Add kernel heap allocation tracing debug facility. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen f27a8e3958 Add m4, perl, and texinfo to the basic ports set. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen d02c7daac6 Trianglix 4. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen a53819acfc Add tix-check(8). 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen fd0863c808 Volatile release. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 71829e41ef Add tix-upgrade(8). 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen f114453f28 Add pty(1). 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 792df0f9e1 Add signify port. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 1e7d262dcb Add irc(1).
Co-authored-by: Juhani Krekelä <juhani@krekelä.fi>
2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen b50c59ed66 Add getaddrinfo(1). 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen d505b8080f Add host(1). 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 92263fcd45 Enable stack smash protection by default. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 300093400b Enable undefined behavior sanitization by default. 2023-06-24 00:55:23 +02:00
Jonas 'Sortie' Termansen 917722cf70 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:43:36 +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