Commit Graph

  • 9aa96de61d libc: Start implementing inttypes.h apio 2022-10-15 15:12:53 +0200
  • 6507146c60 libc: Add Luna-specific limits apio 2022-10-15 14:31:55 +0200
  • 4bad782aad Kernel: Increment the maximum number of file descriptors a task can have apio 2022-10-15 14:20:29 +0200
  • f50017912d libc: Implement atoi(), atol() and atoll() apio 2022-10-15 14:02:24 +0200
  • 2395c7a871 libc: Implement _Exit apio 2022-10-15 14:02:10 +0200
  • b1739f7f0d libc: Add support for the new clock() system call apio 2022-10-15 13:21:22 +0200
  • 62a2bcf2ff Kernel: Add a clock() system call apio 2022-10-15 13:17:26 +0200
  • 3a9dddaa57 Kernel, libc: Remove the rand() system call apio 2022-10-15 13:04:48 +0200
  • 225284a6ca libc: Add support for mprotect() apio 2022-10-15 12:59:13 +0200
  • 613f8170b6 Kernel, libc: Implement mprotect() and use proper PROT_* values apio 2022-10-15 12:57:14 +0200
  • 62d631f1b4 Kernel: Rename assert.h to kassert.h so IDEs pickup the kernel header instead of the userspace one apio 2022-10-15 12:56:48 +0200
  • a002e75725 libc: Add strstr() apio 2022-10-15 12:33:36 +0200
  • 3fde7e46f5 libc: Add strcmp() and strncmp() apio 2022-10-15 12:30:49 +0200
  • 3e2a4276e9 libc: Add memcmp() and memmove() apio 2022-10-15 12:23:37 +0200
  • 94a6336e4d libc: add memchr(), strnlen(), strdup(), and rename memclr() to bzero() apio 2022-10-15 12:18:37 +0200
  • 523e88e5a9 libc: Add sched_yield() apio 2022-10-15 11:43:13 +0200
  • b0e071e964 libc: Make functions with no arguments be defined as type function(void) apio 2022-10-15 11:39:13 +0200
  • 3e2bebf0aa libc: Alias __lc_unreachable to __builtin_unreachable apio 2022-10-15 11:20:20 +0200
  • 1e86acd4c0 libc: Implement fcntl(F_DUPFD) and dup() apio 2022-10-15 11:16:34 +0200
  • 36bb1cab5c FileDescriptor: add operator=() so that the fcntl(F_DUPFD syscall compiles :) apio 2022-10-15 11:16:18 +0200
  • 5c61252061 Kernel: Add a new fcntl() system call apio 2022-10-15 10:56:06 +0200
  • 3eb1bff2e9 Task: add an alloc_fd() function apio 2022-10-15 10:45:12 +0200
  • c77e752a82 libc: Implement fileno() apio 2022-10-15 10:28:52 +0200
  • d0d6557e99 libc: Add assert() apio 2022-10-15 10:05:48 +0200
  • 8398b2e2e4 libc: Change bits/macros.h to use a __lc_ prefix for internal macros apio 2022-10-15 09:52:37 +0200
  • 1043b0772d Make libc exit with a specific code if program initialization fails apio 2022-10-14 21:26:46 +0200
  • d5bc87099f libc: #define STDOUT_FILENO and STDERR_FILENO apio 2022-10-14 21:24:18 +0200
  • eb67ab113e libc: Add ctype.h apio 2022-10-14 21:12:26 +0200
  • 91d76a2ee4 Devices: Add a new RandomDevice :) apio 2022-10-14 20:14:49 +0200
  • faaf930a14 Moon 0.12-dev apio 2022-10-14 19:55:29 +0200
  • 97461c7c1f Prepare for moon 0.11 old-0.11 apio 2022-10-14 19:49:52 +0200
  • ccf8f404a8 libc: Make the stdio initialization code cleaner apio 2022-10-14 19:36:20 +0200
  • 4e08c9d8ce libc: Pass the last argument in __luna_syscall5 correctly apio 2022-10-14 19:24:58 +0200
  • 0e64c57e10 libc: Change __{stderr, stdout} to {stderr, stdout} apio 2022-10-14 19:23:14 +0200
  • 3b83d7ccaf libc: Implement fsetpos() and fgetpos() apio 2022-10-14 19:12:40 +0200
  • e0aa552fae Kernel: Add a move() function apio 2022-10-14 19:04:56 +0200
  • f82fbbe60c Make address spaces not cloned by default apio 2022-10-14 18:23:04 +0200
  • c8a92af4d2 Whoops! bugfix apio 2022-10-14 18:21:09 +0200
  • e11280ad3f Merge branch 'address-spaces' apio 2022-10-14 18:20:42 +0200
  • 1c3377fc98 Prepare for cloning address spaces, not there yet #12 apio 2022-10-14 18:17:57 +0200
  • e43777bd31 Apparently, it just works now. apio 2022-10-14 18:00:33 +0200
  • 97a8a4a4a2 Solve rebase apio 2022-10-14 17:39:24 +0200
  • 81f56083c5 Almost there! apio 2022-10-13 21:55:51 +0200
  • cdb73836b0 Some more multiple address space stuff apio 2022-10-13 21:14:39 +0200
  • bb7887a29d Add basic address space infrastructure apio 2022-10-13 19:19:51 +0200
  • 177282d79c Use the more appropriate size_t apio 2022-10-14 17:27:35 +0200
  • 5abd8814e3 Kernel: Continue moving utilities to a separate subdirectory apio 2022-10-14 17:26:47 +0200
  • e21b608af4 Utilities: Start moving utilities into specific headers in a utils/ subdirectory apio 2022-10-14 17:21:16 +0200
  • 4f13be7741 Use the more appropriate size_t apio 2022-10-14 17:27:35 +0200
  • 1707739477 Kernel: Continue moving utilities to a separate subdirectory apio 2022-10-14 17:26:47 +0200
  • 13a5c0e445 Utilities: Start moving utilities into specific headers in a utils/ subdirectory apio 2022-10-14 17:21:16 +0200
  • 9b3c7816a3 Scheduler: pop the interrupt state when returning early from load_user_task() apio 2022-10-13 21:23:51 +0200
  • 26211bd49f It (almost) works now apio 2022-10-14 16:46:00 +0200
  • 0c7c249935 exec is still doing some weird stuff, totally corrupting the page tables apio 2022-10-13 22:20:24 +0200
  • 5d41b4b113 Almost there... apio 2022-10-13 22:13:04 +0200
  • 24272c57ef Almost there! apio 2022-10-13 21:55:51 +0200
  • 50d52c9a6b Scheduler: pop the interrupt state when returning early from load_user_task() apio 2022-10-13 21:23:51 +0200
  • 83982a24e2 add a comment apio 2022-10-13 21:21:02 +0200
  • ee712432bd Some more multiple address space stuff apio 2022-10-13 21:14:39 +0200
  • 229b06c63b Add basic address space infrastructure apio 2022-10-13 19:19:51 +0200
  • 522aa2f812 mmap, munmap: Add more checks apio 2022-10-13 18:50:12 +0200
  • 83e6b8cd21 VMM: Fix naming convention apio 2022-10-13 18:42:53 +0200
  • 57482e4e93 VMM: Make it even nicer apio 2022-10-13 18:15:52 +0200
  • b360307f41 VMM: Make it so much gooder apio 2022-10-13 17:58:13 +0200
  • 9f2c9fb190 Kernel: Make Utilities be inline apio 2022-10-13 17:17:28 +0200
  • 531b2848ac init: Execute /bin/sym instead of /sys/config apio 2022-10-12 20:54:32 +0200
  • b0e1b8a2b2 Missed some empty lines apio 2022-10-12 20:51:24 +0200
  • 2dd3a23092 Kernel: remove warnings when a standard IO syscall returns an error apio 2022-10-12 20:50:21 +0200
  • 743aedcd49 libc: Implement atexit() and _exit() apio 2022-10-12 20:41:55 +0200
  • be9026442e libc: Check for file descriptors 0 and 1, and if they exist do not close and reopen them apio 2022-10-12 20:19:45 +0200
  • de6041fede libc: Add fdopen() apio 2022-10-12 20:19:13 +0200
  • 52944ba5d8 Kernel/VMM: Add support for larger pages to getFlags() apio 2022-10-12 20:05:27 +0200
  • 69a9f7f06a Kernel: Move VMM from a class to a namespace apio 2022-10-12 20:02:25 +0200
  • 5f8376409d Kernel, libc: Implement EFAULT apio 2022-10-12 19:25:35 +0200
  • e37ff67da2 Make exec return an error if the loaded executable would use more memory than is currently available apio 2022-10-12 19:22:08 +0200
  • 9cddf9485d ELFLoader: Make check_elf_image return how much memory the executable will use on success apio 2022-10-12 19:20:14 +0200
  • 4091799701 Kernel, libc: Add ENOEXEC (Exec format error) apio 2022-10-12 19:15:44 +0200
  • ea886f58a0 Update README.md apio 2022-10-12 19:07:28 +0200
  • 8a7ddfca80 exec: Use check_elf_image() apio 2022-10-12 18:43:48 +0200
  • 1a54342454 Sanity check apio 2022-10-12 18:38:18 +0200
  • d4c4c0177d compilation fix :) apio 2022-10-12 18:37:32 +0200
  • 3ac9fed23a ELFLoader: Add check_elf_image() and check_elf_image_from_filesystem() apio 2022-10-12 18:37:00 +0200
  • 261fc73146 ELFLoader: Read the ELF file header by header using the VFS apio 2022-10-12 18:23:52 +0200
  • 7a2e313a20 init: demo execv() apio 2022-10-12 18:04:27 +0200
  • e9df5fd663 exec: Copy pathname into kernel memory, since the user memory where it resides is going to be freed apio 2022-10-12 18:04:20 +0200
  • bcbf43e55c Kernel/std: Add strdup() apio 2022-10-12 18:03:54 +0200
  • 531afc3d6f libc: Add support for the new exec() system call apio 2022-10-12 17:45:58 +0200
  • f8b3567042 Kernel: Add an exec() syscall apio 2022-10-12 17:42:01 +0200
  • 34c35163e4 libc: use the normal names that everybody uses for stdout and stderr apio 2022-10-12 17:15:57 +0200
  • dfdc3b2d11 libc: close fds 0 and 1 before opening stdout and stderr apio 2022-10-12 17:14:49 +0200
  • 25a460e3c6 Scheduler: clear user tasks' registers apio 2022-10-12 17:12:06 +0200
  • 136c0b3ae9 Scheduler: add a reset_task function apio 2022-10-12 17:08:45 +0200
  • 4e3ef9593d Scheduler: Move ELF image freeing to ELFLoader apio 2022-10-12 17:08:17 +0200
  • a6f0a7056f Scheduler: Set the user_task field in a Task at creation time apio 2022-10-12 17:07:39 +0200
  • edda41a7bb libc: Implement fseek(), ftell() and rewind() apio 2022-10-12 15:56:03 +0200
  • 4a5db1dca7 libc: Add lseek() apio 2022-10-12 15:37:29 +0200
  • 928ade123c libc: Add support for the new seek() system call apio 2022-10-12 15:32:09 +0200
  • e40304f2f1 libc: Add off_t to sys/types.h apio 2022-10-12 15:30:41 +0200
  • 854f585e1a Kernel: Add a seek() system call apio 2022-10-12 15:28:52 +0200
  • 97b7572933 VFS: Implement a new type of Node, VFS_DEVICE apio 2022-10-12 15:22:34 +0200