Commit Graph

  • 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