Commit graph

431 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
79a49b2015 Add socket interface. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
ee106231c4 Add utimensat(2) and futimens(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
472155173d Adopt struct timespec as the kernel time format.
Note: Incompatible ABI change.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen
8162011b5d Add <time.h> header forward declarations.
Note that many of the functions are not yet implemented.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
dbc6c8c663 Add ioctl(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ade239f18b Add {g,s}et{e,}{g,u}id(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
087bacb30f Increase user-space stack to 512 KB. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
38b146472e Implement F_SETFL and F_GETFL support in fcntl. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
ac1d64fd7e Refactor descriptor flags and security. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f29abd73ec Add fsync(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
80b4287c9d Print program image path upon crash. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
f2556c3551 Keep track of program image path. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
e4bd7cad82 Add MAP_PRIVATE and MAP_SHARED to sortix/mman.h. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen
729bfa3c32 Add readlink{,at}(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
fc8d64013d Refactor datatype declarations. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
ce66539ff7 Free surplus unused bcache blocks. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
9434ee94fd Add file cache. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
dc4924585e Free the initrd after extraction. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
54da838c79 Refactor kernel address space allocation. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen
b8f85d9ef2 Add NSIG. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen
b9d633108d Add wctype(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
8e0aefda20 Add rename(2) and renameat(2). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
fd6098a3a2 Locking a NULL pointer using ScopedLock is a noop. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
bb284d9421 Support doing calltraces on user-space/kernel crashes. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
7b3fd0f06f Support doing kernel calltraces on another stack. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ef53864d36 dispd: Wait for console rendering to finish.
This prevents a race condition where the console may still be rendering,
but the process may be able to get data on the screen faster, which results
in visual corruption as the two race.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ca7ad9709f Queue lfb text render commands with async render. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
ad0875aaac Add TextPos relations. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
907acf1e18 Add GetKernelProcess function to scheduler. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
193b76f8cb Refactor scheduler API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
9ba7f26bf0 Refactor kernel time API and add timespec API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
5424760719 Refactor kernel interrupt API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
2ce76e3876 Refactor system call API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen
76fe8602f3 Add poll support to pipes. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
51da410dea Add poll support to log terminal. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
b2b55bc34a Add poll(2) and ppoll(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
e76073cc4f Add user-space filesystem API. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
3b35dad9f7 Add AT_REMOVEFILE flag to unlinkat(2).
This allows unlinkat(2) to delete files and directories in the same call,
which is useful for the implementation of remove(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
1fa2df3e6a Replace system calls that accept a path with *at versions. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
921deb6eeb Add linkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
2ef2269168 Add fchmodat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f21462bf18 Add fchmod(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
c1280bedb0 Add fchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
cb4569c615 Add fchownat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
f843e15666 Add truncateat(2).
Linux doesn't have this, but since I do truncate(2) in the kernel, it would
be more consistent to do it 'at'-style. (I will remove truncate(2) from the
kernel and let libc call truncateat(2) soon anyway).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
37a4c8f05e Add fchdir(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
7dd59dd2e0 Add mkdirat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
caf4a1f2c5 Add faccessat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
835f0d5fbc Add unlinkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen
8e50f3d76b Add dup2(2). 2013-12-17 14:30:25 +01:00