Commit Graph

883 Commits

Author SHA1 Message Date
efc6d03f23
kernel+libc: Add support for unnamed pipes
All checks were successful
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
All checks were successful
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
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-09 18:31:27 +02:00
916a73ca95
kernel: Rework the timer subsystem to count in microseconds
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-07 21:51:36 +02:00
9bab4c62a1
kernel: Compilation fixes
All checks were successful
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
Some checks failed
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
Some checks failed
continuous-integration/drone/push Build is failing
2023-05-07 21:37:01 +02:00
77560bbc3e
kernel+tools: Allow loading files with different owners + add a more dynamic install script
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-06 12:11:35 +02:00
9184bbfef6
kernel: Disallow passing O_WRONLY and O_DIRECTORY at the same time
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-05 18:53:50 +02:00
d9d8f7cdc7
kernel: Remove unused headers from main.cpp
All checks were successful
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
All checks were successful
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
44e4ca804a
kernel: Make sure argument vectors passed to execve() are not too big 2023-05-04 16:36:24 +02:00
abaf24d0da
kernel/CPU: Move some stuff to StringView 2023-05-03 17:35:46 +02:00
7058ec945a
libluna: Use a String for name and handle prefix correctly in TarStream 2023-05-02 10:51:53 +02:00
3e277b5d6f
libos: Introduce os::Directory 2023-04-28 21:16:43 +02:00
0c1d33f2ec
kernel: Move some files into subdirectories
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-28 15:55:06 +02:00
52ce4b28aa
Scheduler: Remove redundant check in for_each_child
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-28 15:22:16 +02:00
7b4cfd52cd
Scheduler: Don't search threads spawned before the current thread to find children
All checks were successful
continuous-integration/drone/push Build is passing
Children will always be spawned later (and thus have a higher PID) than their parent.
2023-04-28 15:19:01 +02:00
bcdec62f51
kernel: Allow returning early from Scheduler::for_each_child 2023-04-28 15:13:53 +02:00
77dcfab5ef
kernel: Run the initialization process in a thread
All checks were successful
continuous-integration/drone/push Build is passing
This way we can give it more stack and also reclaim it later!
2023-04-28 13:23:07 +02:00
24f4ce9669
kernel: Only allow Ctrl+D on an empty line 2023-04-26 20:42:26 +02:00
099f6131d1
kernel: Avoid printing control characters that we don't have a special meaning for 2023-04-26 20:42:08 +02:00
97e9fceaa4
kernel+libc: Add dup2()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-25 20:37:30 +02:00
403b0f6b94
kernel+libc+init: Add a way to modify the system hostname
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-24 21:20:44 +02:00
9eab0886b6
kernel+libc: Add uname()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-24 20:34:44 +02:00
5d56638851
kernel: Ignore all non-bootstrap processors
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-22 12:25:43 +02:00
60694f651f
kernel/ELF: Remove unused include
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-22 12:20:30 +02:00
2acd2ed75d
kernel/ELF: Avoid zeroing out memory twice
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-22 12:19:22 +02:00
4f6e020196
kernel+libc: Add framebuffer ioctls
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-21 18:25:53 +02:00
841fc25137
kernel+init: Add a framebuffer special device file
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-21 18:18:15 +02:00
02f8a50b9d
kernel: Replace unlink() with unlinkat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-18 19:36:29 +02:00
e466c51e9f
kernel: Also zero out mmap-ed pages
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-17 22:16:27 +02:00
95659639e5
kernel: Zero out allocated memory for userspace to avoid leaking sensitive data
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-17 20:11:07 +02:00
949321932f
kernel: Do not forbid filenames starting with a hyphen
All checks were successful
continuous-integration/drone/push Build is passing
Some programs on Linux seem to use those, better be careful.
2023-04-16 11:33:35 +02:00
e6954d2e49
kernel: Disallow problematic characters, control characters and invalid UTF-8 in filenames 2023-04-16 11:25:32 +02:00
82e7b0e860
kernel: Introduce *at() syscall framework, add openat() and fstatat()
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-15 20:26:15 +02:00
df95126ccd
kernel: Remove unneeded debug logs & random cleanups
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-14 21:10:38 +02:00
bd60c65e17
kernel: Make chown() search in the process's current directory 2023-04-13 18:20:07 +02:00
417e505750
kernel+libc: Add unlink(), rmdir(), remove() 2023-04-12 18:11:36 +02:00
427662d5f1
kernel+libc: Add getcwd() 2023-04-11 22:45:13 +02:00
7db215819e
exec: Respect the program's working directory 2023-04-11 22:44:25 +02:00
2a967f4b8b
kernel+libc: Add chdir() 2023-04-11 22:15:21 +02:00
2d30935fdb
kernel: Give each thread a working directory 2023-04-11 22:14:57 +02:00
79a96bf5af
kernel/ELF: Remove old FIXME
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-11 21:24:11 +02:00