Commit graph

2798 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
8f3e11b162 Fix missing mutex in Unix socket shutdown. 2017-02-25 17:22:40 +01:00
Meisaka Yukara
961ba9ec6c Add cache-aware memory mapping functions.
This commit is joint work by Meisaka Yukara <Meisaka.Yukara@gmail.com> and
Jonas 'Sortie' Termansen <sortie@maxsi.org>.
2017-02-19 12:13:32 +01:00
Meisaka Yukara
307223a5a7 Add PCI scanning functions and busmastering functions.
This commit is joint work by Meisaka Yukara <Meisaka.Yukara@gmail.com> and
Jonas 'Sortie' Termansen <sortie@maxsi.org>.
2017-02-19 12:10:59 +01:00
Jonas 'Sortie' Termansen
970bf0c5e3 Major bump Sortix ABI following incompatible socket(2) change.
Commit "Add socket(2)" 4b2cf28bbf forgot to
major bump the ABI after removing /dev/net and adding a new system call.
2017-02-18 16:05:55 +01:00
Jonas 'Sortie' Termansen
fcefd86432 Implement shutdown(2). 2017-02-18 15:29:40 +01:00
Nicholas De Nova
d217621649 Correct manpage spacing per roff(7) convention.
roff(7) dictates that "Each sentence should terminate at the end of an
input line." Instead of doing this, Sortix manpages (incorrectly) used
double-spaces to separate sentences.

Additionally, fix a few small typos.
2017-02-16 14:42:28 -06:00
Jonas 'Sortie' Termansen
4b2cf28bbf Add socket(2).
This removes the /dev/net socket interface.

This is an incompatible ABI change.
2017-02-14 20:43:31 +01:00
Jonas 'Sortie' Termansen
50266bb724 Add getnameinfo(3). 2017-02-14 20:43:30 +01:00
Jonas 'Sortie' Termansen
5de36cf449 Add inet_pton(3). 2017-02-14 20:43:30 +01:00
Jonas 'Sortie' Termansen
ba3b6d386e Add inet_ntop(3). 2017-02-14 20:43:30 +01:00
Jonas 'Sortie' Termansen
e5eed18cf4 Deprecate inet_addr(3) and inet_ntoa(3). 2017-02-14 20:43:30 +01:00
Jonas 'Sortie' Termansen
a53dd5d29d Support deallocating kernel timers in timer handlers. 2017-02-14 20:43:30 +01:00
Jonas 'Sortie' Termansen
7a8a71674e Move readv/writev family and sendmsg/recvmsg into drivers. 2017-02-13 22:04:21 +01:00
Jonas 'Sortie' Termansen
28229eb6e6 Fix pipe2(2) not supporting O_NONBLOCK. 2017-02-13 21:12:24 +01:00
Nicholas De Nova
eddc4f7407 Document chvideomode(1). 2017-02-13 13:57:16 -06:00
Jonas 'Sortie' Termansen
0b6e58a7ef Document scram(2). 2017-02-12 13:59:07 +01:00
Jonas 'Sortie' Termansen
9cd1c2fc9f Add sysroot-overlay-* to .gitignore. 2017-02-12 13:27:04 +01:00
Jonas 'Sortie' Termansen
7de1942803 Only the tty1 login session powers off. 2017-02-12 13:26:26 +01:00
Jonas 'Sortie' Termansen
88a6317700 Fix trianglix not using -std=gnu++11. 2017-02-12 13:11:07 +01:00
Jonas 'Sortie' Termansen
7d59575921 Fix videomode(5) mentioning fixed bugs. 2017-02-12 13:11:07 +01:00
Jonas 'Sortie' Termansen
b86a227f7b Fix unterminated list in pager(1). 2017-02-12 13:11:07 +01:00
Jonas 'Sortie' Termansen
987cd88472 Use git ls-files in linecount target. 2017-02-05 22:21:22 +01:00
Nicholas De Nova
912a5448c5 Document uname(1). 2017-02-05 13:41:07 -06:00
Matthew Smith
eec161761d Add UK keyboard layout. 2017-02-05 14:24:22 +00:00
Jonas 'Sortie' Termansen
e9ee189d29 Fix BGA driver crashes without vbox guest additions. 2017-01-22 22:28:58 +01:00
Jonas 'Sortie' Termansen
bdc791f692 Fix saving and restoring console cursor position. 2017-01-22 22:28:58 +01:00
Nicholas De Nova
73d984bca3 Panic upon detection of xz, gzip, or bzip2 magic in loaded modules. 2016-12-29 12:57:57 -06:00
Jonas 'Sortie' Termansen
6e91b4df4f Fix trianglix(1) rune hint typos. 2016-12-28 23:08:29 +01:00
Jonas 'Sortie' Termansen
ef1d85ca55 Fix EDESTADDRREQ typo. 2016-12-28 23:08:29 +01:00
Jonas 'Sortie' Termansen
442b139cc3 Fix following-development(7) typos. 2016-12-28 23:08:29 +01:00
Jonas 'Sortie' Termansen
9bbdb791af Add split packages and cross-bootstrapping support to tix-build(8).
pkg.use-bootstrap can now be set to true to add a bootstrap phase to
cross-builds. I.e. the package is built for the native platform and
installed to a temporary location, which is in the PATH during the
actual cross-compilation. This feature is useful for some misbehaving
ports that can cross-compile, but require the exact same version of the
software installed locally. The bootstrap build is controlled with the
bootstrap.foo variables rather than the normal pkg.foo variables.

pkg.source-package can now be set to the name of another package, whose
source code is built using the current tixbuildinfo. This feature allows
providing multiple packages using the same source code package. By
default, the source code of the source package is assumed to be in
../${pkg.source-package}, but this can be overridden with the option
--source-directory.

pkg.alias-of can now be set to the name of another package to specify
that this package is an alias of the other package, creating an empty
binary package depending on the real package.

pkg.subdir support has been fixed in the clean and post-install phases.

pkg-config support has been improved and PKG_CONFIG is now set to
$HOST-pkg-config and PKG_CONFIG_FOR_BUILD is set to pkg-config.

tix-build has been refactored as needed and generally cleaned up. Error
handling, such as on allocations, have been added in a lot of cases. The
support for FOO_FOR_BUILD variables have been unified and simplified.
Appending to PATH now correctly handles the empty PATH.
2016-12-27 23:14:00 +01:00
Jonas 'Sortie' Termansen
0cf88fd58a Revert "Add <limits.h>."
This reverts commit f6cde2d7a6.

gcc detected this header existing and emitted its own limits.h that
included the libc limits.h. This caused the #include_next chain to reach
the end and including the header failed.

Undoing this commit for now until the compiler toolchain is updated to
avoid this problem.
2016-12-27 21:58:07 +01:00
Jonas 'Sortie' Termansen
00261ea9e1 Test if exit() works in a multi-threaded process.
Commit 2d91c7d385 fixed this issue.
2016-11-27 11:20:53 +01:00
Jonas 'Sortie' Termansen
2a143e6875 Make update-initrd(8) invoke its sysmerge replacement if any. 2016-11-27 11:20:53 +01:00
Jonas 'Sortie' Termansen
0bb608b09e Support 8-bit/24-bit color and more escape codes in the graphical console.
The console has gained these escape codes:
 - Set color to any of 256 entries in the palette.
 - Set color to any 24-bit RGB value.
 - Inverse mode.
 - Bold mode.
 - Underline mode.
 - Move cursor to line N.
 - \a is now ignored.

The effectively unused ATTR_CHAR has been removed. Parsing of escape codes
has been improved. The graphical palette has been changed to the tango
colors, which makes Sortix look a bit differently. Some user-space programs
have been changed to use different colors that look better under the new
palette.

Remove const from methods that weren't really const and remove mutable
keyword workaround.
2016-11-27 11:19:03 +01:00
Jonas 'Sortie' Termansen
ce54be34da Add VirtualBox Guest Additions. 2016-11-27 11:18:49 +01:00
Jonas 'Sortie' Termansen
e7c5d032d1 Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
0342e03073 Add debug uart utility functions. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
1990c899dd Fix not offering setting a resolution with one display. 2016-11-27 11:18:48 +01:00
Jonas 'Sortie' Termansen
dc44993465 Add tty(1). 2016-11-23 22:31:41 +01:00
Jonas 'Sortie' Termansen
52ea22d793 Add ptsname_r(3). 2016-11-23 22:31:41 +01:00
Jonas 'Sortie' Termansen
1f742d521c Add ptsname(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
88de69487b Add unlockpt(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
46ebbf82d4 Add grantpt(3). 2016-11-23 22:31:40 +01:00
Jonas 'Sortie' Termansen
2563b926ad Add posix_openpt(3). 2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
365815401b Add openpty(3). 2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
b38c84852c Add pseudo terminals.
This is a compatible ABI change riding on the previous commit's bump.
2016-11-23 22:31:05 +01:00
Jonas 'Sortie' Termansen
6ef5a5cee3 Detect whether the terminal has a display and a keyboard layout.
A new ioctl TIOCGDISPLAYS allow detecting which displays the terminal
has associated. The ability to set a keyboard layout can be detected
with tcgetblob kblayout.

Improve the user-space multi-monitor support while here.

The kernel now sets TERM rather than init(8).

This is a compatible ABI change riding on the previous commit's bump.
2016-11-23 22:31:04 +01:00
Jonas 'Sortie' Termansen
db7182ddc3 Add support for sessions.
This change refactors the process group implementation and adds support
for sessions. The setsid(2) and getsid(2) system calls were added.

psctl(2) now has PSCTL_TTYNAME, which lets you get the name of a process's
terminal, and ps(1) now uses it.

The initial terminal is now called /dev/tty1.

/dev/tty is now a factory for the current terminal.

A global lock now protects the process hierarchy which makes it safe to
access other processes. This refactor removes potential vulnerabilities
and increases system robustness.

A number of terminal ioctls have been added.

This is a compatible ABI change.
2016-11-23 22:30:47 +01:00
Jonas 'Sortie' Termansen
d529a1e332 Add factory inode support. 2016-11-23 21:46:06 +01:00