-
374a9ff7b8
kernel+libc: Implement O_CLOEXEC
apio
2023-03-24 21:19:24 +0100
-
d48d0efb07
kernel: Add names to threads
apio
2023-03-24 21:05:38 +0100
-
4d3050eaab
kernel: Retrieve all thread information before marking it as dead in waitpid()
apio
2023-03-24 20:59:07 +0100
-
54a4ebe5bb
sh+edit: Miscellaneous fixes
apio
2023-03-24 20:53:53 +0100
-
e76ccd6c4c
kernel+libc+init: Add getppid() and wait()
apio
2023-03-24 17:39:55 +0100
-
7efcc06090
kernel+init+sh: Implement parent processes and waitpid(-1, ...)
apio
2023-03-24 17:37:04 +0100
-
f084b57f39
kernel+sh: Allow using Ctrl+D to send EOF
apio
2023-03-24 17:21:21 +0100
-
a18e50ff34
apps: Add cat and edit
apio
2023-03-24 00:52:26 +0100
-
d63c8abbfd
kernel/x86_64: Terminate page faults in a waitpid-friendly way
apio
2023-03-24 00:52:17 +0100
-
e2eb9a92cb
sh: Don't do anything if Enter is pressed with no command
apio
2023-03-24 00:51:42 +0100
-
b6fb5f3dfe
kernel+libc: Implement waitpid()
apio
2023-03-23 22:42:24 +0100
-
41c7e3780d
kernel: Add support for exit codes and start preparing for waitpid()
apio
2023-03-23 22:25:56 +0100
-
355dd6c32b
apps: Add sh
apio
2023-03-23 22:19:54 +0100
-
767dbf521c
Vector: Fix crash when trying to use vector after a call to clear()
apio
2023-03-23 22:19:43 +0100
-
00672c4b22
apps/hello: Demo fgets
apio
2023-03-23 21:35:21 +0100
-
0e9890901f
libc: Add (f)getc, getchar, and fgets
apio
2023-03-23 21:35:09 +0100
-
937802964c
kernel: Invert O_NONBLOCK to check whether a thread should block
apio
2023-03-23 21:34:38 +0100
-
95e884db97
kernel: Fix compilation
apio
2023-03-23 21:34:09 +0100
-
03adaa356c
kernel: Avoid printing keypresses twice
apio
2023-03-23 21:33:50 +0100
-
cda036ce70
ConsoleDevice: Use a temporary buffer for backspace handling
apio
2023-03-23 21:22:12 +0100
-
83492339ec
Buffer: Add an append_data() method
apio
2023-03-23 21:20:57 +0100
-
89ad6869a4
Vector: Add a clear() method
apio
2023-03-23 21:20:41 +0100
-
6f14bf553f
libc: Add missing header to fcntl.h
apio
2023-03-23 19:24:47 +0100
-
bab9600be5
libc: Add creat()
apio
2023-03-19 19:21:36 +0100
-
31ef96ebfc
libc: Add stdin
apio
2023-03-19 19:19:20 +0100
-
d33fccc66f
kernel: Implement reading from /dev/console
apio
2023-03-19 19:15:19 +0100
-
51f0bdff0e
kernel+libc: Add O_NONBLOCK
apio
2023-03-19 11:25:14 +0100
-
41514d9ad2
kernel: Add support for blocking reads
apio
2023-03-19 11:21:50 +0100
-
cd00e41f59
arch/x86_64: Decode keyboard scancodes
apio
2023-03-19 11:17:43 +0100
-
40f01c825d
libc: Add fork()
apio
2023-03-18 23:58:56 +0100
-
54f2d35416
kernel: Add the fork() system call
apio
2023-03-18 23:45:48 +0100
-
e664af4c2b
libc: Add execv()
apio
2023-03-18 22:31:16 +0100
-
a4ac3c85ed
kernel+libc: Copy argv to userspace
apio
2023-03-18 22:25:19 +0100
-
0b00dc3fe4
kernel/exec: Rename item to string_addr
apio
2023-03-18 21:56:34 +0100
-
7f50893786
kernel/exec: Copy argv from userspace
apio
2023-03-18 21:55:16 +0100
-
49952320d6
kernel+libluna: Remove console_write entirely
apio
2023-03-18 20:12:59 +0100
-
cb1ef3e404
libc: Add (v)fprintf and make (v)printf use that
apio
2023-03-18 20:11:19 +0100
-
6a6a56a8b4
kernel: Make /dev/console actually respect the length parameter instead of trusting userspace's null terminators
apio
2023-03-18 20:10:00 +0100
-
d01ba20749
kernel/TextConsole: Add a write() function that accepts a fixed-size buffer instead of relying on null terminators
apio
2023-03-18 20:09:10 +0100
-
629ed9e43b
libc: Start switching to /dev/console for console IO and add a proper init
apio
2023-03-18 19:23:18 +0100
-
8c831a6906
libc: Add mknod()
apio
2023-03-18 09:13:31 +0100
-
7173c05a22
kernel: Add support for special device files and add a mknod() syscall
apio
2023-03-18 09:10:33 +0100
-
d86da05bea
libluna/TarStream: Remove unused functionality
apio
2023-03-17 00:00:27 +0100
-
b9e8030aac
kernel: Free the initial ramdisk memory after copying everything into the VFS
apio
2023-03-16 23:02:53 +0100
-
59838f1225
kernel: Replace some raw divisions with get_blocks_from_size()
apio
2023-03-16 23:00:44 +0100
-
8c72e9a49a
kernel: Add an exec() system call
apio
2023-03-16 22:44:58 +0100
-
08c888eaae
kernel+libc: Remove (de)allocate_memory and replace it with POSIX mmap
apio
2023-03-14 20:43:15 +0100
-
80a897fbc5
libc: Add fileno()
apio
2023-03-12 17:38:35 +0100
-
3cc2e4b2a4
app: Use C FILE instead of POSIX fd, and switch back to /etc/motd
apio
2023-03-12 17:36:56 +0100
-
9e9f268562
libc: Make fopen() parse the mode string
apio
2023-03-12 17:36:04 +0100
-
d66506256d
kernel/VFS+libc: Introduce modes
apio
2023-03-12 16:55:46 +0100
-
02dbcbbfa1
kernel: Add strdup_from_user()
apio
2023-03-12 16:30:36 +0100
-
682d3c753e
kernel+libc: Add mkdir()
apio
2023-03-12 15:32:09 +0100
-
d2049567c8
libluna+libc: Add strncmp, strncat and strncpy
apio
2023-03-12 15:20:44 +0100
-
354ffd033c
VFS: Add a size() method to inodes to implement seeking to the end of a file
apio
2023-03-12 14:49:21 +0100
-
b54a7f3a80
kernel+libc: Add O_* flags and parse them in open()
apio
2023-03-12 14:43:58 +0100
-
bd572473ad
kernel: Remove FileDescriptorTable and add a helper to resolve fds to FileDescriptors
apio
2023-03-12 13:57:38 +0100
-
7e655e320a
kernel+libc: Add the lseek() syscall, and fseek, ftell, rewind, fsetpos, and fgetpos
apio
2023-03-12 13:15:24 +0100
-
292433dc39
kernel+libc: Add the write() system call, and fwrite()
apio
2023-03-12 11:37:41 +0100
-
92dbe58729
libc: Unify function descriptions
apio
2023-03-12 11:15:45 +0100
-
36e0a1e970
libc: Add definitions for strnlen, strndup and strlcpy to string.h
apio
2023-03-12 11:10:18 +0100
-
377b8bea43
libc: Adjust comment in string.cpp
apio
2023-03-12 10:45:21 +0100
-
3b03e19489
libc: Replace usize with size_t in string.h
apio
2023-03-12 10:43:13 +0100
-
12bc59ead5
libc: Add strspn, strcspn, and strtok declarations to string.h
apio
2023-03-12 10:39:38 +0100
-
af0cb83a58
libluna+kernel: Get rid of nullcpy()
apio
2023-03-12 10:28:50 +0100
-
7649b44aab
libc: Add declaration for strrchr (already implemented)
apio
2023-03-12 10:27:07 +0100
-
5c0104111d
libc: Implement fopen, fclose, fread, feof, ferror, and clearerr
apio
2023-03-12 10:23:08 +0100
-
c0a7f6776f
kernel+libc: Add getpid()
apio
2023-03-11 22:19:58 +0100
-
8fa72f3cf0
kernel+libc: Implement read()
apio
2023-03-11 18:02:50 +0100
-
810c4bc257
kernel+libc: Start interfacing with the VFS from userspace (open & close)
apio
2023-03-11 17:45:20 +0100
-
831973c39a
Option: Allow direct access to the underlying value via operator->
apio
2023-03-11 17:41:11 +0100
-
30deed2820
libluna/CPath: Replace size_t with usize
apio
2023-03-11 10:39:42 +0100
-
0c07e66c4f
Update all files from luna/ paths to libluna/
apio
2023-03-11 10:38:34 +0100
-
28028d229f
README: Update luna/ links to point to libluna/
apio
2023-03-11 10:37:38 +0100
-
dcf4444d0d
Update README.md
apio
2023-03-11 10:35:54 +0100
-
ff468db675
kernel/ELF+Scheduler: Use VFS instead of TarStream
apio
2023-03-11 10:34:08 +0100
-
c6aa2fe4ad
VFS: Populate the initial filesystem based on the initial ramdisk
apio
2023-03-11 10:23:46 +0100
-
ac304073b4
tmpfs: Disallow creating files/folders with already used names
apio
2023-03-11 10:14:42 +0100
-
d95ef110c9
vfs: Add support for creating directories given a full path
apio
2023-03-11 01:13:44 +0100
-
6fd28379a9
TarStream: Add a direct pointer to entry data in the Entry struct
apio
2023-03-11 00:55:26 +0100
-
e5a41d2d52
tmpfs: Implement FileInode read() and write()
apio
2023-03-11 00:52:39 +0100
-
89bea931cd
libluna: Add a very simple Buffer class, to help implement tmpfs files
apio
2023-03-11 00:27:08 +0100
-
6fbf97292a
VFS: Implement resolve_path() using PathParser
apio
2023-03-10 22:18:48 +0100
-
4c66017807
libluna: Add PathParser, a C++-style way of iterating over path sections
apio
2023-03-10 22:17:03 +0100
-
5a9da55e05
libluna/CString: Implement strspn and strcspn, and using those implement strtok
apio
2023-03-10 21:32:18 +0100
-
6512e9549e
tools: Make replace-stdint.sh search in libluna/ instead of luna/
apio
2023-03-10 21:30:59 +0100
-
ff770b7328
VFS+TmpFS: Add support for creating subdirectories (mkdir)
apio
2023-03-10 21:09:08 +0100
-
41203df472
libluna/Vector: Use bytes instead of count in resize()
apio
2023-03-10 21:07:08 +0100
-
e8a401efc2
libluna/Heap: Crash the kernel (but not userspace) on invalid frees
apio
2023-03-10 21:02:09 +0100
-
c376477080
libluna/StaticString: Rename OSize to OtherSize
apio
2023-03-08 16:41:09 +0100
-
c51b119eb4
StaticString: Add a constructor that takes in another StaticString
apio
2023-03-07 22:18:34 +0100
-
abdd460525
tmpfs: use adopt_shared_if_nonnull instead of plain adopt_shared in FileSystem::create()
apio
2023-03-07 22:16:52 +0100
-
293be2c75a
tools: Use libluna instead of luna in run-clang-format.sh
apio
2023-03-07 21:07:18 +0100
-
e30eec4213
kernel/x86_64: Avoid kernel panics when a page fault occurs in a userspace thread
apio
2023-03-07 21:06:04 +0100
-
ca85a69442
kernel: Save floating-point environment when switching in and out of userspace threads
apio
2023-03-07 20:59:11 +0100
-
7d045e45c1
libluna/Heap: Zero out newly created heap blocks
apio
2023-03-07 20:45:30 +0100
-
eaed109fe9
libluna: Let Alignment.h functions take non-powers-of-two
apio
2023-03-07 20:37:30 +0100
-
80492f6ad3
luna: Add error_name, similar to strerrorname_np from glibc
apio
2023-03-07 13:14:21 +0100
-
3a2e5b7ce0
luna: Adjust cstyle_format's description
apio
2023-03-02 13:40:42 +0100
-
de38eb6877
luna: Remove pure_cstyle_format
apio
2023-03-02 13:38:21 +0100