|
1f4c4928cc
|
kernel+libc+apps: Add mount and umount syscalls, libc wrappers, and utilities
continuous-integration/drone/push Build is passing
|
2023-05-17 20:30:15 +02:00 |
|
|
29174ca228
|
kernel/VFS: Add a way to unmount file systems
|
2023-05-17 19:52:26 +02:00 |
|
|
e7d482e78a
|
kernel+init: Add a VFS mount system and auto-populate the devfs
|
2023-05-17 19:40:37 +02:00 |
|
|
4d106b6b8c
|
libos: Add error handling to vector argument usage
continuous-integration/drone/push Build is passing
|
2023-05-13 13:22:49 +02:00 |
|
|
65d3195caa
|
libos: Allow ArgumentParser users to specify they want leftover arguments
continuous-integration/drone/push Build is passing
|
2023-05-13 13:22:10 +02:00 |
|
|
dc7e503342
|
tests: Test character formatting
continuous-integration/drone/push Build is passing
|
2023-05-13 12:50:10 +02:00 |
|
|
e481ce45d0
|
tests: Add way more tests to TestFormat now that formatting is fixed
|
2023-05-13 12:45:14 +02:00 |
|
|
e098a3269a
|
libluna: Treat a negative precision as if precision was omitted
|
2023-05-13 12:40:03 +02:00 |
|
|
38541e22e9
|
libluna: Fix flag shenanigans in cstyle_format
Finally, zero-pad and left-align work properly!
|
2023-05-13 12:39:31 +02:00 |
|
|
5911b052dc
|
libluna: Add more options to to_dynamic_unit()
continuous-integration/drone/push Build is passing
Also, make the output look more like how it is on linux.
|
2023-05-13 12:01:09 +02:00 |
|
|
a5ad8e16de
|
ls: Add the --human-readable flag
|
2023-05-13 11:15:28 +02:00 |
|
|
300d68088b
|
libos: Add FileSystem::stat()
continuous-integration/drone/push Build is passing
|
2023-05-12 23:47:20 +02:00 |
|
|
64d0f30bd9
|
kernel: Disallow write-related flags when opening a directory, not only when the directory flag is set
continuous-integration/drone/push Build is passing
Also return EISDIR instead of EINVAL as that is what Dr. POSIX mandates.
|
2023-05-11 21:29:49 +02:00 |
|
|
1035b91a3d
|
su: Do not change directory/set variables by default, instead add a --login option
continuous-integration/drone/push Build is passing
|
2023-05-11 20:11:09 +02:00 |
|
|
a935039e78
|
sh: Prioritize /etc/passwd over the USER environment variable
|
2023-05-11 20:10:10 +02:00 |
|
|
18130847c1
|
libc: Fix some environment-related bugs
|
2023-05-11 20:09:46 +02:00 |
|
|
411c6c40cd
|
kernel: Add the fchmodat() and fchownat() system calls
continuous-integration/drone/push Build is passing
|
2023-05-11 19:49:03 +02:00 |
|
|
4a3a92e9d4
|
libc: Move chmod from unistd.h to sys/stat.h
continuous-integration/drone/push Build is passing
Apparently that's where it's supposed to be.
|
2023-05-11 19:40:34 +02:00 |
|
|
4a764bc315
|
tests+libluna: Start testing Format.cpp
continuous-integration/drone/push Build is passing
|
2023-05-11 16:56:28 +02:00 |
|
|
e203772488
|
README: Update broken link to ELF loader
continuous-integration/drone/push Build is passing
The ELF loader was moved into the thread/ subdirectory in 0c1d33f2ec .
|
2023-05-10 22:58:37 +02:00 |
|
|
efc6d03f23
|
kernel+libc: Add support for unnamed pipes
continuous-integration/drone/push Build is passing
|
2023-05-10 22:48:31 +02:00 |
|
|
1a2fce5316
|
kernel+libc: Add the O_TMPFILE open flag and the tmpfile() function
continuous-integration/drone/push Build is passing
|
2023-05-09 22:04:34 +02:00 |
|
|
4753e80583
|
kernel: Make DeviceRegistry store the created devices instead of creating them when requested
continuous-integration/drone/push Build is passing
|
2023-05-09 18:31:27 +02:00 |
|
|
35b1b36599
|
tools+tests: Add a system to run all tests at once automatically
continuous-integration/drone/push Build is passing
|
2023-05-07 23:04:24 +02:00 |
|
|
916a73ca95
|
kernel: Rework the timer subsystem to count in microseconds
continuous-integration/drone/push Build is passing
|
2023-05-07 21:51:36 +02:00 |
|
|
9bab4c62a1
|
kernel: Compilation fixes
continuous-integration/drone/push Build is passing
|
2023-05-07 21:42:03 +02:00 |
|
|
72dadc6706
|
kernel: Define a constant to check for default memory access
continuous-integration/drone/push Build is failing
|
2023-05-07 21:38:38 +02:00 |
|
|
b25e212880
|
kernel: Make a generic function for checking memory flags
continuous-integration/drone/push Build is failing
|
2023-05-07 21:37:01 +02:00 |
|
|
88180b34bd
|
initrd: Show default credentials in the motd
continuous-integration/drone/push Build is passing
|
2023-05-06 22:12:06 +02:00 |
|
|
b08ebdc3cb
|
libos: Show "Options:" label even if --help and --version are the only
options
|
2023-05-06 22:05:08 +02:00 |
|
|
cd86d1d6d0
|
apps+initrd: Add a login utility and make it run at startup
|
2023-05-06 22:03:50 +02:00 |
|
|
b742a08cbe
|
su: Set the USER and SHELL variables
continuous-integration/drone/push Build is passing
|
2023-05-06 12:19:54 +02:00 |
|
|
77560bbc3e
|
kernel+tools: Allow loading files with different owners + add a more dynamic install script
continuous-integration/drone/push Build is passing
|
2023-05-06 12:11:35 +02:00 |
|
|
d7fee26aa2
|
initrd+libc: Add /etc/group and grp.h
|
2023-05-06 12:01:47 +02:00 |
|
|
9184bbfef6
|
kernel: Disallow passing O_WRONLY and O_DIRECTORY at the same time
continuous-integration/drone/push Build is passing
|
2023-05-05 18:53:50 +02:00 |
|
|
349ba0acb1
|
libc: Add syscall wrappers for unlinkat() and openat()
continuous-integration/drone/push Build is passing
|
2023-05-05 18:50:35 +02:00 |
|
|
d9d8f7cdc7
|
kernel: Remove unused headers from main.cpp
continuous-integration/drone/push Build is passing
|
2023-05-04 23:59:46 +02:00 |
|
|
293a992133
|
kernel: Add a kernel_wait_for_event() function to avoid weird calls to kernel_wait in kthreads
continuous-integration/drone/push Build is passing
|
2023-05-04 23:43:00 +02:00 |
|
|
4a7f68b989
|
kernel: Add a convenience wake_up() function
|
2023-05-04 23:35:54 +02:00 |
|
|
3a1c22bb93
|
kernel: Add keyboard combinations for debug information dumps
Ctrl+Alt+E: Dump threads
Ctrl+Alt+M: Dump memory usage
Ctrl+Alt+H: Dump heap state
|
2023-05-04 23:32:48 +02:00 |
|
|
3ed9e578c7
|
kernel/x86_64: Wake the IO thread up only when there is an IO event, instead of polling every 10 ms
|
2023-05-04 23:07:09 +02:00 |
|
|
96f3d29d37
|
kernel: Tell the reap thread to run when it's needed, instead of checking every 200 ms
|
2023-05-04 23:06:00 +02:00 |
|
|
42eb0a1d74
|
kernel: Freeze waitpid()'s calling thread until a child tells us it's done, instead of polling it every 10 ms
|
2023-05-04 23:03:31 +02:00 |
|
|
4616997f5b
|
kernel: Store a thread's parent directly instead of its parent's PID
|
2023-05-04 22:58:04 +02:00 |
|
|
58eb2d7703
|
libc: Print failed assertions to stderr instead of stdout
continuous-integration/drone/push Build is passing
This removes two FIXMEs from the time there was no stderr.
|
2023-05-04 16:37:13 +02:00 |
|
|
44e4ca804a
|
kernel: Make sure argument vectors passed to execve() are not too big
|
2023-05-04 16:36:24 +02:00 |
|
|
3eb78aa5f3
|
libos+init: Add a new Path class to handle both file descriptors and file paths
continuous-integration/drone/push Build is passing
|
2023-05-03 17:37:26 +02:00 |
|
|
abaf24d0da
|
kernel/CPU: Move some stuff to StringView
|
2023-05-03 17:35:46 +02:00 |
|
|
1215c38d75
|
libc: Add mkdtemp() and mkstemp()
continuous-integration/drone/push Build is passing
No mktemp() though, as it has race conditions and was removed in POSIX.1-2008.
|
2023-05-03 16:43:30 +02:00 |
|
|
a0b45a51de
|
libc: Add rand() + srand()
continuous-integration/drone/push Build is passing
Very basic random number generator, but that's what rand() is.
If you want secure numbers then use arc4random() or something idk
|
2023-05-02 21:20:24 +02:00 |
|